Java编程基础测试题分享
单选题:(每道题目2分)
1. 下列哪个声明是错误的?(b)
a. int i=10;
b. float f=1.1; //float f=1.1f
c. double d=34.4;
d. byte b=127;
long类型的数据加后缀l或者l
float类型的数据加后缀f或者f
整数默认是int类型
浮点数默认是double类型
2. 下面哪个不是java中的关键字?(c)
a. public
b. true
c. main
d. class
3. 下面程序哪个语句是正确的(c)
a. byte a=0,b=3; byte c =a+b;//a+b的类型为int
b. short s =23; s=s+12;
//s+12底层是转成int进行相加,所以结果为int。
c. short s=23; s+=12; //相当于s=(short)(s+12)
d. float f = 23+23.23; //23+23.23的结果为double
4. 下面程序执行的结果是?(b)
class test { public static void main(string[] args) { system.out.println(“”+‘a'+1); } }
a. 98
b. a1
c. 971
d. 197
//空串放前相当于字符串的拼接,空串放后,‘a'+1,先做运算,再与空串进行拼接,byte,short,char可以自动转为int,
5. 下面程序执行的结果是?(b)
int i =100; while(true) { if (i++ > 100) //i先计算在自加 { break; } system.out.println(i); }
a. 100
b. 101
c. 102
d. 报错
6. 下面程序的运行结果是 ( d )
int a=3,b=1; if(a==b) { system.out.println("a="+a); }
a. a=1
b. a=3
c. 编译错误
d. 正常运行但没有输出
7. 下面程序的运行后,结果正确的是:(b)
inta=1,b=2; intc=(a+b>3?a++:++b); //a=1,b=3,c=3
a. a=2,b=3
b. a=1,b=3
c. a=1,b=2
d. c=2
8. 下面程序的运行结果(b)
classdemo { public static int fun(int c) { return c+=2; } public static void main(string[] args) { int temp = fun(2); system.out.println(temp); } }
a. 2
b. 4
c. 6
d. 8
9. 下面数组定义错误的是(c)
a. int [] arr ={23,45,65,78,89}; //静态初始化
b. int [] arr=new int[10] ; //动态初始化
c. int [] arr=new int[4]{3,4,5,6};
d. int [] arr={‘a', 23 , 45 , 6};
//‘a'可以自动转为int,
10. 下面程序执行的结果是?(d )
int x=1,y=1; if(x++==2& ++y==2) //x=2,y=2,&与&&的结果相同但是&不具有短路效果 { x=7; } system.out.println("x="+x+" , y="+y);
a. x=1 y=2
b. x=7 y=1
c. x=7 y=2
d. x=2 y=2
11. 下面不属于基本数据类型的是(d)
a. int
b. double
c. long
d. int[] //引用类型
12. 下面程序执行的结果是?( c)
booleanb=true; if(b=false) //将false赋值给b,则b=false { system.out.println("a"); } elseif(b) { system.out.println("b"); } elseif(!b) { system.out.println("c"); } else { system.out.println("d"); }
a. a
b. b
c. c
d. d
13. 下面程序执行的结果是?(d)
intx=2,y=3; switch(x) { default: y++; //y=4,但是没有break,程序继续向下执行 case 3: y++; case 4: y++; } sysetem.out.println("y="+y);
a. 3
b. 4
c. 5
d. 6
14. 下面程序执行的结果
for(int i=1;i<=10;i++) { if (i%3==0) { continue; //continue跳出本次循环 } system.out.println(“java基础班”); }
在屏幕上打印几次“java基础班”?( c )
a. 5
b. 6
c. 7
d. 8
15.阅读下面代码段:
classdemo { public static void main (string[] args) { int[] arr = new int[10]; system.out.println(arr[1]); } }
执行结果正确的说法是( c )
a. 编译时将产生错误
b. 编译时正确,运行时将产生错误
c. 输出零
d. 输出空
16 .和下面代码能完成相同的选项是(b)
int i=1; intsum=0; while(i<=100) { if(i%2==0) { sum=sum+i; } i++; }
a. for (int x=1; x<=100;x++){ sum=sum+x;}
b. for (int x =0; x<=100;x+=2){ sum=sum+x;} //偶数求和
c. for (int x =1; x<=100;x+=2){ sum=sum+x;} //奇数求和
d.上述全对
17. 以下代码输出是( d )
int i=0; int sum=0; while(i<=10) { i++; if( i%2!=0 ) continue; sum+=i; } system.out.println(sum); //sum=2+4+6+8+10
a. 55
b. 45
c. 35
d. 30
18. 给出下列代码片段:
if ( x> 0 ) { system.out.println(“hello”); } else if (x >-3 ) { system.out.pirntln ( “i am tom”); } else {system.out.println (“how are you?”); }
请问将打印字符串 “how are you ?”的x的范围是( c)
a. x>0
b. x > -3
c. x <= -3
d. x <=0 & x >-3
19. 下列代码执行的结果为( a )
classdemo { public static void main(string[] args) { int num =max(43,34); //num=43 system.out.println(num); } public static int max(int a,int b) { returna>b?a:b; } }
a. 43
b. 23
c. 77
d. 9
20 .下面程序执行的结果是( a )
classdemo { public static void main(string [] args) { int a=10; if(a++>10) { a=20; } system.out.println(a); } }
a. 11
b. 12
c. 20
d. 21
多选题:(每道题目3分)
21. 下面哪些是合法的标志符( b.c.d)
a. 2variable
b. variable2
c. what$
d. _3_
//不能以数字开头,不能是java中的关键字,字母区分大小写
22. 下列方法中能和方法int max(int a, int b, double c)构成重载关系的是( b,c )
a. double max(int a, int b, double c)
b. void max(int a, double c, int b)
c. int max(double a, int b)
d. int max(int x, int y, double z)
//同一个类中,方法名相同,参数类型或参数个数不同,与返回值类型无关
23. 下面的说法正确的是( a,c, )
a. byte ,short,char 数据类型可以自动转化为int
b. float 数据类型可以自动转换为long。
c. 在java语言中默认小数为double
d. byte a=23; byte b=12; a+b的结果为byte类型 //int
24. 下面关于方法描述正确的是(a,d)
a. 方法是对功能代码块的封装
b. 方法没有返回值的时候什么都不用写
c. 没有返回值的方法,不能有return 语句
//每句后面都可以以有默认的return ;也可以手动加上
d. 方法是可以没有形参的
25. 下面关于循环描述正确的是(a,d)
a. while循环先判断循环条件,后执行循环操作
b. while 至少会执行一次
c. do-while先进行循环条件判断,后执行循环操作
d. do-while循环至少执行一次,后进行循环判断
简答题目:(每道题目5分)
26:jdk,jre,jvm是什么,有什么用,它们之间又有什么关系?
jdk:java程序的开发环境,包含jre和java开发工具
jre:java程序的运行环境,包含jvm和java的核心类库
jvm:保证java语言的跨平台性
27:数组是基本类型吗? java中基本数据类型分类有哪些?
不是,基本数据类型分为4类8种;
整型:byte short int long
字符型:char
布尔类型:boolean
浮点型:float double
28:方法是什么?它的运行特点是什么?
方法:完成特定功能的代码块
运行特点:不调用不执行;方法调用的时候不用再传递数据类型;方法与方法是平级的,不能嵌套调用;方法定义的时候参数之间用逗号隔开;方法不调用不执行;如果方法有明确的返回值,一定要用return带回一个值。
29:数组是什么?我们根据什么可以获取数组中的元素呢?
数组是存储同一种数据类型并且可以存储多个元素的容器;我们可以根据数组的索引来获取数组中的元素。
30:请说说什么时候使用变量,什么时候使用if语句,什么时候使用循环语句?说的有理即可得分。
当一个值不固定,在一定范围内改变时,就需要将其定义为变量。
当需要进行判断的时候用if语句;
当出现大量重复的代码时,就需要使用循环语句。
编程题目:(每道题目10分)
注意:格式,命名规范,注释。
31:在main方法中写一段代码,实现在控制台输出九九乘法表。
package com.practice1; //在main方法中写一段代码,实现在控制台输出九九乘法表。 public class printtable { //定义程序入口 public static void main(string[] args) { //控制外层循环,即第一个乘数 for (int i = 1; i < 10; i++) { //控制内层循环即第二个乘数 for (int j = i; j < 10; j++) { system.out.print(i+"*"+j+"="+i*j+" "); } //每打印一行将换行 system.out.println(); } } }
32:请写一个方法sum,实现求两个数之和。要求在main方法中调用。
package com.practice1; //请写一个方法sum,实现求两个数之和。要求在main方法中调用。 public class sumdemo { //提供程序入口 public static void main(string[] args) { //调用求和的方法 system.out.println(add(10,20)); } public static int add(int i, int j) { returni+j; } }
33:请写一个方法printarray,实现遍历数组。要求在main方法中调用
package com.practice1; //请写一个方法printarray,实现遍历数组。要求在main方法中调用。 public class arraydemo { //提供程序入口 public static void main(string[] args) { //定义一个数组 int[] arr={1,2,5,3,6,8}; //调用数组的遍历方法 printarr(arr); } // 定义一个遍历数组的方法 private static void printarr(int[] arr) { system.out.print("["); for (int i = 0; i < arr.length; i++) { if(i==arr.length-1){ system.out.print(arr[i]); }else{ system.out.print(arr[i]+" "); } } system.out.print("]"); } }
总结
以上就是本文关于java编程基础测试题分享的全部内容,感兴趣的朋友可以继续参阅:java高级面试题小结,java常见数据结构面试题(带答案)、关于java数组查询的相关问题及实例,有问题可以随时留言,小编会及时回复大家的。希望对大家学习java有所帮助!感谢阅读。