Java编程基础测试题分享
单选题:(每道题目2分)
1.下列哪个声明是错误的?(B)
A. inti=10;
B. floatf=1.1; //floatf=1.1f
C. doubled=34.4;
D. byteb=127;
long类型的数据加后缀L或者l
float类型的数据加后缀F或者f
整数默认是int类型
浮点数默认是double类型
2.下面哪个不是java中的关键字?(C)
A.public
B. true
C. main
D. class
3.下面程序哪个语句是正确的(C)
A. bytea=0,b=3;bytec=a+b;//a+b的类型为int
B. shorts=23;s=s+12;
//s+12底层是转成int进行相加,所以结果为int。
C. shorts=23;s+=12; //相当于s=(short)(s+12)
D. floatf=23+23.23; //23+23.23的结果为double
4.下面程序执行的结果是?(B)
classTest { publicstaticvoidmain(String[]args) { System.out.println(“”+‘a'+1); } }
A.98
B. a1
C. 971
D. 197
//空串放前相当于字符串的拼接,空串放后,‘a'+1,先做运算,再与空串进行拼接,byte,short,char可以自动转为int,
5.下面程序执行的结果是?(B)
inti=100; while(true) { if(i++>100)//i先计算在自加 { break; } System.out.println(i); }
A. 100
B. 101
C. 102
D. 报错
6. 下面程序的运行结果是 (D)
inta=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 { publicstaticintfun(intc) { returnc+=2; } publicstaticvoidmain(String[]args) { inttemp=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=newint[10]; //动态初始化
C. int[]arr=newint[4]{3,4,5,6};
D. int[]arr={‘a',23,45,6};
//‘a'可以自动转为int,
10.下面程序执行的结果是?(D)
intx=1,y=1; if(x++==2&++y==2) //x=2,y=2,&与&&的结果相同但是&不具有短路效果 { x=7; } System.out.println("x="+x+",y="+y);
A. x=1y=2
B. x=7y=1
C. x=7y=2
D. x=2y=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,程序继续向下执行 case3: y++; case4: y++; } Sysetem.out.println("y="+y);
A. 3
B. 4
C. 5
D. 6
14.下面程序执行的结果
for(inti=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 { publicstaticvoidmain(String[]args) { int[]arr=newint[10]; System.out.println(arr[1]); } }
执行结果正确的说法是(C)
A. 编译时将产生错误
B. 编译时正确,运行时将产生错误
C. 输出零
D. 输出空
16.和下面代码能完成相同的选项是(B)
inti=1; intsum=0; while(i<=100) { if(i%2==0) { sum=sum+i; } i++; }
A. for(intx=1;x<=100;x++){sum=sum+x;}
B. for(intx=0;x<=100;x+=2){sum=sum+x;} //偶数求和
C. for(intx=1;x<=100;x+=2){sum=sum+x;} //奇数求和
D.上述全对
17. 以下代码输出是( D)
inti=0; intsum=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”);} elseif(x>-3){System.out.pirntln(“IamTom”);} else{System.out.println(“Howareyou?”);}
请问将打印字符串“Howareyou?”的x的范围是(C)
A. x>0
B. x>-3
C. x<=-3
D. x<=0&x>-3
19.下列代码执行的结果为(A)
classDemo { publicstaticvoidmain(String[]args) { intnum=max(43,34); //num=43 System.out.println(num); } publicstaticintmax(inta,intb) { returna>b?a:b; } }
A. 43
B. 23
C. 77
D. 9
20.下面程序执行的结果是(A)
classDemo { publicstaticvoidmain(String[]args) { inta=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. 下列方法中能和方法intmax(int a,int b,double c)构成重载关系的是(B,C)
A. doublemax(int a,int b,doublec)
B. voidmax(int a,double c,intb)
C. intmax(doublea,int b)
D. intmax(int x,int y,doublez)
//同一个类中,方法名相同,参数类型或参数个数不同,与返回值类型无关
23.下面的说法正确的是(A,C,)
A. byte,short,char数据类型可以自动转化为int
B. float数据类型可以自动转换为long。
C. 在java语言中默认小数为double
D. bytea=23;byteb=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 intlong
字符型:char
布尔类型:boolean
浮点型:float double
28:方法是什么?它的运行特点是什么?
方法:完成特定功能的代码块
运行特点:不调用不执行;方法调用的时候不用再传递数据类型;方法与方法是平级的,不能嵌套调用;方法定义的时候参数之间用逗号隔开;方法不调用不执行;如果方法有明确的返回值,一定要用return带回一个值。
29:数组是什么?我们根据什么可以获取数组中的元素呢?
数组是存储同一种数据类型并且可以存储多个元素的容器;我们可以根据数组的索引来获取数组中的元素。
30:请说说什么时候使用变量,什么时候使用if语句,什么时候使用循环语句?说的有理即可得分。
当一个值不固定,在一定范围内改变时,就需要将其定义为变量。
当需要进行判断的时候用if语句;
当出现大量重复的代码时,就需要使用循环语句。
编程题目:(每道题目10分)
注意:格式,命名规范,注释。
31:在main方法中写一段代码,实现在控制台输出九九乘法表。
packagecom.practice1; //在main方法中写一段代码,实现在控制台输出九九乘法表。 publicclassPrintTable{ //定义程序入口 publicstaticvoidmain(String[]args){ //控制外层循环,即第一个乘数 for(inti=1;i<10;i++){ //控制内层循环即第二个乘数 for(intj=i;j<10;j++){ System.out.print(i+"*"+j+"="+i*j+""); } //每打印一行将换行 System.out.println(); } } }
32:请写一个方法sum,实现求两个数之和。要求在main方法中调用。
packagecom.practice1; //请写一个方法sum,实现求两个数之和。要求在main方法中调用。 publicclassSumDemo{ //提供程序入口 publicstaticvoidmain(String[]args){ //调用求和的方法 System.out.println(add(10,20)); } publicstaticintadd(inti,intj){ returni+j; } }
33:请写一个方法printArray,实现遍历数组。要求在main方法中调用
packagecom.practice1; //请写一个方法printArray,实现遍历数组。要求在main方法中调用。 publicclassArrayDemo{ //提供程序入口 publicstaticvoidmain(String[]args){ //定义一个数组 int[]arr={1,2,5,3,6,8}; //调用数组的遍历方法 printArr(arr); } //定义一个遍历数组的方法 privatestaticvoidprintArr(int[]arr){ System.out.print("["); for(inti=0;i总结
以上就是本文关于Java编程基础测试题分享的全部内容,感兴趣的朋友可以继续参阅:Java高级面试题小结,Java常见数据结构面试题(带答案)、关于Java数组查询的相关问题及实例,有问题可以随时留言,小编会及时回复大家的。希望对大家学习Java有所帮助!感谢阅读。