java基础考试的几道选择题
1.代码片段:System.out.println(words.length);Stringtext="WelcomtoJavacontest";String[]word...
1.代码片段:
System.out.println(words.length); String text = "Welcom to Java contest";String[] words = text.split("\s");System.out.println(words.length);
请问编译运行的结果是什么?
A 0
B 1
C 4
D 编译出错
E 运行时抛出一个异常
这题选D
2.如下代码:
public class Test {
private int a;
public int b;
protected int c;
int d;
public static void main(String[] args) {
Test test = new Test();
int a = test.a++;
int b = test.b--;
int c = test.c++;
int d = test.d--;
System.out.println(a + " - " + b + " - " + c + " - " + d); }
}
请问哪个说法是正确的?
A 编译错误,因为变量a、b、c和d没有被初始化
B 编译错误,因为变量a无法被访问
C 编译成功并输出0 - 0 - 0 - 0
D 编译成功并输出1 - -1 - 1 - -1
这题选C
3.System.out.format("Pi is approximately %d.", Math.PI);
为什么运行时抛出异常?
4.根据Java命名规范,为什么 drawPicture 不可作为变量名?
谢谢各位了。 展开
System.out.println(words.length); String text = "Welcom to Java contest";String[] words = text.split("\s");System.out.println(words.length);
请问编译运行的结果是什么?
A 0
B 1
C 4
D 编译出错
E 运行时抛出一个异常
这题选D
2.如下代码:
public class Test {
private int a;
public int b;
protected int c;
int d;
public static void main(String[] args) {
Test test = new Test();
int a = test.a++;
int b = test.b--;
int c = test.c++;
int d = test.d--;
System.out.println(a + " - " + b + " - " + c + " - " + d); }
}
请问哪个说法是正确的?
A 编译错误,因为变量a、b、c和d没有被初始化
B 编译错误,因为变量a无法被访问
C 编译成功并输出0 - 0 - 0 - 0
D 编译成功并输出1 - -1 - 1 - -1
这题选C
3.System.out.format("Pi is approximately %d.", Math.PI);
为什么运行时抛出异常?
4.根据Java命名规范,为什么 drawPicture 不可作为变量名?
谢谢各位了。 展开
展开全部
追问
第一题代码应该是这样
String text = "Welcom to Java contest";
String[] words = text.split("\s");
System.out.println(words.length);
追答
二楼已解释,\s是非法的转义字符
展开全部
1.在第一句代码里使用了words变量,而它是在第三句才定义的,所以编译报错。
2.int a=test.a++ ,操作是后缀,先执行赋值操作,再执行自增操作。局部变量a值为0,test.a值为1.(int类型
默认值为0),所以结果是0 - 0 - 0 - 0
3.Math.PI 是double类型,应该使用%f格式化输出。(System.out.format不会自动转换类型)
4.drawPicture可以作为变量名。
2.int a=test.a++ ,操作是后缀,先执行赋值操作,再执行自增操作。局部变量a值为0,test.a值为1.(int类型
默认值为0),所以结果是0 - 0 - 0 - 0
3.Math.PI 是double类型,应该使用%f格式化输出。(System.out.format不会自动转换类型)
4.drawPicture可以作为变量名。
追问
第一题代码应该是这样
String text = "Welcom to Java contest";
String[] words = text.split("\s");
System.out.println(words.length);
追答
哦,这样啊
首先split方法需要的参数是正则表达式,\s在正则表达式中表示的是‘空白符号’
然而在java中“\”是转义字符,比如\n \r \\;直接‘\s’在java中是不合法的。
所以应该是‘\\s’ ,这样就转成了需要的‘\s’正则式了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第二道题 为什么成员变量a是private的 仍然能通过 test.a来访问
是因为这是在类的内部 外部就不行了
另外 构造函数没有初始化 a b c d 就用默认初始化 多说一句final类型的成员变量必须显式初始化
是因为这是在类的内部 外部就不行了
另外 构造函数没有初始化 a b c d 就用默认初始化 多说一句final类型的成员变量必须显式初始化
追问
第一题代码应该是这样
String text = "Welcom to Java contest";
String[] words = text.split("\s");
System.out.println(words.length);
追答
二楼应该是正解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询