概述
1.假设有如下程序:
public class Demo {
public static void main(String args[]) {
char c = 'A' ;
int num = 10 ;
switch(c) {
case 'B' :
num ++ ;
case 'A' :
num ++ ;
case 'Y' :
num ++ ;
break ;
default :
num -- ;
}
System.out.println(num) ;
}
}
最终执行结果是什么?
A. 11
B. 13
C. 12
D. 10
答案是:C
有switch的题目,基本上是考break。因为只要满足case条件,没有break,后面的case都会走。
num =10,c = ‘A’
switch 会进到 case ‘A’ :分支,由于没有break,继续走 case 'Y :分支,有break,结束switch。
所以走了两次num++
num=12
测试2:
class Demo1 {
public static void main(String[] args) {
int num=2147483647;
long temp=num+2L;
System.out.println(temp);//2147483649
}
}
分析:num为int类型(4字节),与long类型(8字节)变量相加时自动提升
测试3:
下面的数据声明及赋值哪一个是正确的?
A. float f = 1.3;
B. char c =;
C. byte b = 257;
D. int i = 10;
正确答案是:D
A中1.3默认是double类型,正确的写法应该是 float f = 1.3F; 或 float f = 1.3f;
B中=后面没有任何值,正确的写法应该是char c =’ ';注意char比较特殊单引号中间必须有字符才可以,必须是单引号,如果是双引号,会编译报错;
C中257是int类型,直接赋值给byte类型报错,正确的写法应该是 byte b = (byte) 257; 需要强制类型转换才可以。
测试4:
假设有如下程序:
public class Demo {
public static void main(String args[]) {
String str = “” ;
for (int x = 0 ; x < 5 ; x ++) {
str += x ;
}
System.out.println(str) ;
}
}
最终的执行结果是什么?
A. 01234
B. 10
C. 14
D. 25
正确的答案是:A
字符串+=int 直接是按照字符串拼接处理
测试5
public class Demo {
public static void main(String args[]) {
long num = 100 ;
int x = num + 2 ;
System.out.println(x) ;
}
}
最终程序的执行结果是什么?
A.102.0
B.1002.0
C.100.0
D. 程序错误
自动类型转换许哟啊满足两个条件,一是两种数据类型彼此兼容,二是目标类型的取值范围大于原类型的取值范围(小到大);
最后
以上就是潇洒水杯为你收集整理的阿里云大学--Java学习路线--阶段 1:Java语言基础的全部内容,希望文章能够帮你解决阿里云大学--Java学习路线--阶段 1:Java语言基础所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复