我是靠谱客的博主 潇洒水杯,最近开发中收集的这篇文章主要介绍阿里云大学--Java学习路线--阶段 1:Java语言基础,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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语言基础所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部