-
多选题(5分)
下列方法中能和方法int max(int a, int b, double 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)
正确答案BC,涉及知识点:方法的重载
分析
- 方法重载:同一个类里面,同一个方法名,不同的参数列表或返回值类型的两个方法,可以构成重载关系。
- 错误原因1,审题不认真——参数列表的变量名不同,数据类型相同,也视作相同的参数列表
- 错误原因2,概念理解——重载关系的返回值类型也可以是不同的
-
byte a=23 byte b=12 a+b的结果为byte类型
正确答案:错误。知识点:基本数据类型
分析
- 在Java的运算过程中,byte类型的数据不能直接做相加减,java会默认将byte类型数据转换为int类型,所以c为int类型,无法直接赋值为byte。
- 如果需要得到byte类型的结果,需要再强制转型一次。
-
单选题(3分)
下面程序哪个语句是正确的
A、byte a=0,b=3; byte c =a+b;
B、short s =23; s=s+12;
C、short s=23; s+=12;
D、float f = 23+23.23;
正确答案 C,涉及到知识点:基本数据类型
A为什么错误?
- 记住:JAVA中精度小于int的数值运算的时候都回被自动转换为int后进行计算
B的错误同上,还需要注意
- 注意:
s=s+12
其实是,short+int,低位和高位数据类型运算,结果也会转换为高位的数据类型。
D的错误同理:小数默认类型是double,这里的运算是int+double,结果应该是double类型
-
18、单选题(3分)和下面代码能完成相同的选项是( )
int i=1; int sum=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、上述全对
正确答案,B,知识点:循环结构
分析:理解提干中代码的含义——
求1~100之间,所有偶数的和
-
22、单选题(3分)下面程序执行的结果是?( )
int x=2,y=3; switch(x) { default: y++; case 3: y++; case 4: y++; } Sysetem.out.println("y="+y);
A、3
B、4
C、5
D、6
答案:D 知识点:switch分支结构的执行顺序
分析:本次考察的是switch-case中的case穿透现象——当case执行某个分支时会一直向下执行,直到break或代码块结束。
本题中的执行顺序整理如下:
- 判断x的值为2,确定执行的分支 ——非3非4,即走default默认路线
- default执行一次y++
- case穿透到 3分支 :执行一次y++
- case穿透到 4分支 :再执行一次y++
- 结束代码块,执行输出语句 y=6
【错题整理】Java基础部分
猜你喜欢
转载自blog.csdn.net/Xcong_Zhu/article/details/126361658
今日推荐
周排行