《Java经典入门指南》课后习题Chapter3
1.表达式和语句的区别是什么?
answer:运算符和操作数的任何合法组合称为表达式(expression),例如x + 4是一个表达式。
计算机程序由一系列指令组成,这些指令称为语句。给变量赋值是语句的一个例子:x=z+5;。变量声明也是一个语句:long secondsElapsed; 。语句以分号结尾。
2.如何从下面的while循环中退出?
while (true) {
// statements
}
answer: 在statements语句后面加 break;。
3.使用后缀增量运算符和前缀增量运算符作为for循环的update语句有什么区别?
for (int x = 0; x < length; x++)
for (int x = 0; x < length; ++x)
answer:
x++,是先在语句中运算,再给x+1。++x,是先给x+1,再在语句中运算。
在语句:
x=5;y=++x;中,x=6,y=6。而换成y=x++,则y等于5,x=6。
在for语句中,由于不涉及增量运算中赋值,只是一个运算条件,不影响最后输出的结果。
但注意,两种表达方式会影响运行效率。前缀运算符:将值+1,然后返回结果;后缀运算符:首先复制一个副本,将其值+1,然后将复制的副本返回。很明显运用前缀运算符更节省空间,运行更快。
4.如果执行以下代码,控制台上会输出什么内容:(提示 case 1后面没有break语句。)
int i = 1;
switch (i) {
case 1 :
System.out.println("One player is playing this game.");
case 2 :
System.out.println("Two players are playing this game.");
break;
default:
System.out.println("You did not enter a valid value.");
}
answer:输出结果为:
One player is playing this game.
Two players are playing this game.
5.编写一个类,使用for语句打印从1到9的所有偶数。
answer:
public class EvenNumber {
public static void main(String[] args) {
for(int i=1;i<10;i++){
if(i%2==0)
System.out.println(i+" ");
}
}
}
6.编写一个类,使用for语句打印两个整数a和b之间的所有偶数,如果b是偶数,则包含b。
answer:
public class EvenNumber {
//编写一个带两个参数的构造方法,在此方法中打印两个整数a和b之间的所有偶数,如果b是偶数,则包含b
public EvenNumber(int a,int b) {
for (int i = a; i < b + 1; i++) {
if (i % 2 == 0)
System.out.println(i + " ");
}
}
//在主方法中将类实例化,并上参数的值,引用构造方法打印两个值直接的偶数。
public static void main(String[] args) {
EvenNumber evenNumber=new EvenNumber(3,20);
}
}
7.重新编写上一题的类,要求按降序输出数字。
answer:
public class EvenNumber {
//编写一个带两个参数的构造方法,在此方法中打印两个整数a和b之间的所有偶数,如果b是偶数,则包含b
public EvenNumber(int a,int b) {
for (int i = b; i > a- 1; i--) {
if (i % 2 == 0)
System.out.println(i + " ");
}
}
//在主方法中将类实例化,并上参数的值,引用构造方法打印两个值直接的偶数。
public static void main(String[] args) {
EvenNumber evenNumber=new EvenNumber(3,20);
}
}
备注:运用i++时 ,是从小到大遍历;运用i–时,是从大到小遍历。做一个转换可以巧妙地达到对结果排序的作用。
本文详细解答了《Java经典入门指南》Chapter3的课后习题,涉及表达式与语句的区别、如何退出while循环、增量运算符的用法以及如何编写打印指定范围内偶数的Java类。同时,强调了前缀和后缀运算符在效率上的差异,并给出了按降序打印偶数的实现方法。
319

被折叠的 条评论
为什么被折叠?



