虹猫杯人文赛区JAVA知识竞赛试.docx
《虹猫杯人文赛区JAVA知识竞赛试.docx》由会员分享,可在线阅读,更多相关《虹猫杯人文赛区JAVA知识竞赛试.docx(17页珍藏版)》请在冰豆网上搜索。
虹猫杯人文赛区JAVA知识竞赛试
2020虹猫杯人文赛区JAVA知识竞赛试题及答案
您的姓名:
[填空题]*
_________________________________
1.在Java中,下列哪些是合法的变量名[多选题]
A、_myString(正确答案)
B、$a+b
C、myString(正确答案)
D、9myString
答案解析:
变量只能由字母数字下划线和$组成,不能以数字开头,不能是关键字
2.inta=5;System.out.println(a%2==1?
(a+1)/2:
a/2)其输出结果是多少?
[单选题]
A、1
B、2
C、2.5
D、3(正确答案)
答案解析:
本题主要综合三元表达式和运算符的运算顺序。
计算顺序应该先算三元表达式,再算后面表达式a/2。
3.在Java中,下列()语句不能通过编译[单选题]
A、Strings="join"+"was"+"here"
B、Strings="join"+3
C、inta=3+5
D、floatf=5+5.5(正确答案)
答案解析:
D选项,5是int类型,5.5是double类型,其结果为double类型而非float
4.在Java中,下列()是不合法的赋值语句[多选题]
A、floatf=1/3(正确答案)
B、inti=1/3
C、floatf=1*3.0(正确答案)
D、doublef=1.0/3
答案解析:
A答案int类型/int类型,结果int类型。
C答案int类型*double类型,结果double类型
5.下面程序的输出结果是什么()
int[]arr=newint[10];
System.out.println(arr[0]);[单选题]
A、编译不通过
B、运行时出错
C、输出null
D、输出0(正确答案)
答案解析:
int数组的初始值为0
6.以下选项中是对一个Java源文件进行正确编译的语句是[单选题]
A、javacTest.java(正确答案)
B、javacTest
C、javaTest
D、javaTest.class
答案解析:
javac编译命令,.java文件时需要编译,java是运行命令,运行的是.class文件
7.以下do-while循环代码的执行结果是
inta=0;
intc=0;
do{
-–c;
a=a-1;
}while(a>0);
System.out.println(a+""+c);[单选题]
A、-1-1(正确答案)
B、死循环
C、-1-2
D、-10
答案解析:
–c结果为-1,a=a-1结果为-1,循环结束
8.以下选项中能够正确创建一个数组的是()[多选题]
A、float[]f[]=newfloat[6][6];(正确答案)
B、floatf[][]=newfloat[][];
C、float[6][]f=newfloat[6][6]
D、float[][]f=newfloat[6][];(正确答案)
答案解析:
B答案定义数组需要指定数组长度,C答案数组长度不能出现在数组定义前
9.在java中,下列运算符合法的是()[单选题]
A、&&(正确答案)
B、<>
C、if
D、:
=
答案解析:
A答案属于逻辑运算符
10.表达式(11+3*8)/4%3的值是[单选题]
A、31
B、0
C、1
D、2(正确答案)
答案解析:
本题应该先算(),再算*,然后再算+,然后按顺序算/和%.其结果为2
11.运算符优先级别排序正确的是()[单选题]
A、由高向低分别是:
()、!
、算术运算符、关系运算符、逻辑运算符、赋值运算符(正确答案)
B、由高向低分别是:
()、关系运算符、算术运算符、赋值运算符、!
、逻辑运算符
C、由高向低分别是:
()、算术运算符、逻辑运算符、关系运算符、!
、赋值运算符
D、由高向低分别是:
()、!
、关系运算符、赋值运算符、算术运算符、逻辑运算符
答案解析:
运算符由高向低分别是:
()、!
、算术运算符、关系运算符、逻辑运算符、赋值运算符
12.以下哪些不属于java的关键字[多选题]
A、student(正确答案)
B、class
C、value(正确答案)
D、public
答案解析:
class定义类,关键字。
public属于访问修饰符关键字
13.下列语句中,正确的完成整型变量的声明和赋值的是()[单选题]
A、intcount,count=0;
B、intcount=0;(正确答案)
C、count=0;
D、intcount1;
答案解析:
B符合变量命名和定义规范
14.以下为Java中的多行注释声明的是()[单选题]
A、//这是注释
B、*/这是注释*/
C、/这是注释
D、/*这是注释*/(正确答案)
答案解析:
A为单行注释,BC注释错误
15.以下运算结果为true的是()[单选题]
A、(5>2)&&(false)
B、(false)||(5<2)
C、(true)&&(2<5)(正确答案)
D、!
(2<5)
答案解析:
C遵守一真为真原则
16.Java中关于if语句描述错误的是[单选题]
A、if语句是根据条件判断之后再做处理的一种语法结构
B、关键字if后小括号里面条件表达式的值必须为布尔类型
C、if后小括号里的表达式的值为false时,程序需要执行后面大括号里的语句(正确答案)
D、if语句可以和else一起使用
答案解析:
if后小括号里必须是一个条件表达式,结果为布尔值,如果为true,则执行后面大括号中的代码,如果为false,则不执行
17.以下关于循环跳转说法正确的是[单选题]
A、continue语句的作用是结束整个循环的执行
B、可以在循环体内和switch语句体内使用break语句(正确答案)
C、循环体内使用break语句和continue语句的作用相同
D、switch语句体内必须有break
答案解析:
break是结束整个循环,continue是结束某次循环
18.在JAVA中,()关键字用来终止循环语句。
[单选题]*
return
continue
break(正确答案)
exit
19.给定某java程序的main方法如下,该程序的运行结果是()
pubticstaticvoidmain(String[]args){
booleanboo=true;
if(boo==false){
System.out.println("a");
}else{
System.out.println("b");
}[单选题]*
a
b(正确答案)
c
d
20.给定某java程序的main方法,如下:
publicstaticvoidmain(String[]args){
inti=0;
System.out.println(i++);
}[单选题]*
0(正确答案)
1
编译错误
运行时出现异常
21.研究下面的Java代码,当x=2时,运行结果是()switch(x){
case1:
System.out.println
(1);
case2:
case3:
System.out.println(3);
Case4:
System.out.println(4);
}[单选题]*
没有输出任何结果
输出结果为3
输出结果是3和4(正确答案)
输出结果是1、3和4
22.在JAVA中,()关键字用来终止循环语句[单选题]*
return
continue
break(正确答案)
exit
23.在Java中,inti=1;intj=(i++)+(i++)+(++i)+(++i);请问j是多少?
[单选题]*
10
11
12(正确答案)
13
24.在Java中,下列代码运行后的输出结果是()
intx=5*3;
inty=x+5/x+3;
System.out.println(y);[单选题]*
18(正确答案)
21
19
4
25.在Java中,下列运算符级别最高的是()[单选题]*
算术运算符(正确答案)
逻辑运算符
赋值运算符
比较运算符
26.在Java中,以下不是循环三要素的是()[单选题]*
循环体(正确答案)
循环变量初始化
循环条件
循环变量的改变
27.字符’a’的ASCII值是多少()[单选题]*
65
97(正确答案)
48
0
28.以下语句有语法错的是:
()[单选题]*
intx=1;y=2;z=3(正确答案)
for(intx=10,y=0;x>0;x++);
while(x>5);
for(;;);
29.下列语句执行后,变量a、c的值分别是()。
intx=182;
inta,c;
c=x/100;
a=x%10;[单选题]*
1,2
2,1(正确答案)
1.82,2
100,82
30.下列程序段执行后的结果是()。
Strings=newString("abcdefg");
for(inti=0;iSystem.out.print(s.charAt(i));
}[单选题]*
aceg(正确答案)
ACEG
abcdefg
abcd
31.下列语句序列执行后,k的值是()。
intx=2,y=5,k=0;
switch(x%y){
case0:
k=x+y;break;
case1:
k=x-y;break;
case2:
k=x*y;break;
default:
k=x/y;break;
}
System.out.println(k);[单选题]*
2
5
10(正确答案)
0
32.给定java程序,如下:
编译运行Test.java,结果是()。
publicclassTest{
privatestaticfinalintcounter=10;
publicstaticvoidmain(String[]args){
System.out.println(++counter);
}
}[单选题]*
10
11
编译错误(正确答案)
运行时出现异常
33.下列语句序列执行后,ch1的值是()。
charch1='A',ch2='W';
if(ch1+2'A'
'B'(正确答案)
'C'
B
34.以下由for语句构成的循环执行的次数是()。
for(inti=0;true;i++);[单选题]*
有语法错,不能执行
无限次(正确答案)
执行1次
一次也不执行
35.在Java中,main()方法的返回类型是()[单选题]*
int
void(正确答案)
boolean
static
36.下面赋值编译时错误的是()[单选题]*
charcharNumber=01127;
StringstringNmuber=123;(正确答案)
intintNumber=123;
doubledbNumber=128D;
37.在java中,如下代码的输出结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
inta=0;
while(a<5){
if(a>=0){
System.out.print(a++);
}
}
}
}[单选题]*
12345
01234(正确答案)
运行出现死循环
0
38.下面的程序执行结果是()。
(选择一项)
intshiDu=45;//湿度
if(shiDu>=80){
System.out.println("要下雨了");
}elseif(shiDu>=50){
System.out.println("天很阴");
}elseif(shiDu>=30){
System.out.println("很舒适");
}elseif(shiDu>=0){
System.out.println("很干燥");
}[单选题]*
要下雨了
天很阴
很舒适(正确答案)
很干燥
39.在Java中,a为double型变量,b为int型变量,c为String型变量,则表达式c+a*a/b+c的值为()类型[单选题]*
int
String(正确答案)
double
char
40.在java中,语句System.out.println(‘a’+1)的结果是()[单选题]*
98(正确答案)
b
编译错误
运行错误
41.在Java中,关于main()方法的框架说法正确的是()[单选题]*
Java程序的main()方法必须都写在类里面(正确答案)
一个程序可以有多个main方法
Java程序的main(Stringargs)方法中参数args不可以改变
main()方法中可以没有static
42.在Java中,下列代码的输出结果是()
intnum1;
num1=(int)4.4;
System.out.println(num1);
[单选题]*
4(正确答案)
5
4.4
4.5
43.表达变量i的范围在1~10之间,不包括1,但包括10的语句为()[单选题]*
1
1<=i<10
1
1
44.在JAVA中,用于向控制台输出信息的语句是()[单选题]*
System.out.println();(正确答案)
System.print();
Out.print();
Print.print();
45.在Java中,定义一个数组String[]role={"薛宝钗","林黛玉","贾宝玉","史湘云","贾迎春","贾惜春","贾探春"},数组中的role[6]指的是()。
[单选题]*
贾迎春
贾惜春
贾探春(正确答案)
数组越界
46.阅读下列变量定义,选项中的运算表达式不正确的是()。
doublei=10;
floatj=5;
charb='a';
inta=0;[单选题]*
a/b;
a=a+j;(正确答案)
j/a;
a+=i;
47.分析如下所示的JAVA代码,编译运行后的输出结果是()。
publicstaticvoidmain(String[]args){
booleana=true;
booleanb=false;
if(a&&b){
System.out.println(“a&&b”);
}elseif(a||b){
System.out.println(“a||b”);
}else{
System.out.println(“ab”);
}
}[单选题]*
a&&b
a||b(正确答案)
ab
a||bab
48.在Java中,如果一个方法没有返回值,那么应该用以下哪个关键字()。
[单选题]*
String
FALSE
static
void(正确答案)
49.在java中定义如下变量,则下列赋值语句正确的是()
charch;[单选题]*
ch=”strtest”;
ch=‘2’;(正确答案)
ch=‘2345’;
ch=strtest
50.在Java中,下列关于循环的说法正确的是()。
[单选题]*
for循环至少会执行一次
do-while循环至少会执行一次(正确答案)
while循环至少会执行一次
do-while循环不能用while循环替换