1.查看以下代码,并写出结果
public class Test01 {
public static void main(String[] args) {
int i1 = 5;
boolean result = (i1++ > 5) && (++i1 > 4);
System.out.println(result);
System.out.println(i1);
}
}
参考答案:
false
6
认真阅读上面的程序,我们可以发现,首先定义了一个名为i1的变量,他的值为5,之后使用有表达式(i1++ > 5) && (++ i1 > 4);第一个括号内的内容,自加运算符写在i1的后面,所以我们运算的顺序是应该先比较i1和5的 大小,可以发现这个值为false,之后进行自加运算,所以这时i1的值为6.
同时,我们可以发现,这其中的逻辑运算符使用的是短路与运算符,而运算符前面 的值为false,所以我们不必再运算后面的值,故而最终输出的结果应该是false和6.
2.查看以下代码,并写出结果
public class Test02 {
public static void main(String[] args) {
int i1 = 5;
boolean result = (i1++ > 5) || (++i1 > 4);
System.out.println(result);
System.out.println(i1);
}
}
参考答案:
true
7
这道题的考点同样是短路逻辑运算符.所以同理我们先运算短路逻辑运算符前面部分的表达式:(i1++ > 5),i1的初始值为5,所以他的值不大于5,所以运算结果为false,同时i1要进行自加运算,这时i1的值为6,然后看短路运算符之后的表达式:(++i1 > 4),这时i1的值为6,进行自加运算后,其值为7,7>4,所以运算结果为true.故而最后输出的值应该是true和7
请使用三元运算符计算出两个整数中的最大值。
例如:20 40 打印结果:40是最大值
参考答案:
public class SanYuan {
public static void main(String[] args) {
int a = 20;
int b = 40;
int max = a > b ? a : b;
System.out.println(max + "是最大值");
}
}
请使用三元运算符计算出三个整数中的最大值。
例如:20 40 30 打印结果:40是最大值
参考答案:
public class SanYuanPlus {
public static void main(String[] args) {
int a = 20;
int b = 40;
int c = 30;
int tempmax = a > b ? a : b;
int max = tempmax > c ? tempmax : c;
System.out.println(max + "是最大值");
}
}
分析以下需求并实现
1.int类型的变量 成绩为键盘录入
2.判断该学生成绩是否及格
3.打印格式:
成绩>=60:打印"合格"
成绩<60:打印"不合格"
参考答案:
import java.util.Scanner;
public class Score{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
if (score >= 60){
System.out.println("成绩合格");
}
else {
System.out.println("成绩不合格");
}
}
}
分析以下需求并实现
1.功能描述:键盘录入月份,输出对应的季节
2.要求:
(1)定义一个月份,值通过键盘录入;
(2)输出该月份对应的季节
3,4,5春季
6,7,8夏季
9,10,11秋季
12,1,2冬季
(3)演示格式如下:
定义的月份:5
控制台输出:5月份是春季
参考答案:
import java.util.Scanner;
public class Month {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份:");
int month = sc.nextInt();
if (month == 12 || month == 1 || month == 2) {
System.out.println("这个月份是冬季");
}
else if (month >= 3 && month <= 5) {
System.out.println("这个月份是春季");
}
else if (month >= 6 && month <= 8) {
System.out.println("这个月份是夏季");
}
else if (month >= 9 && month <= 11) {
System.out.println("这个月份是秋季");
}
else {
System.out.println("输入的月份不正确");
}
}
}