package zzx.com;
import java.util.Scanner;
public class yyds {
public static void main(String[] args) {
boolean x = true;
boolean y = false;
short z = 40;
if((z++ ==40) && (y = true))
z++;
if((x = false) || (++z == 43))
z++;
System.out.println("z = " + z);
}
}
解析:
答案:z的值为44
回顾:
①前++与后++的区别与联系:前++,先++后运算;后++,先运算后++。前++与后++都会使变量数值加一
②注意是 = 还是 ==
③if(true),括号内为true时才会进行if语句,false时不再进行。括号内具体是false还是true也要考虑运算符
练习二:将键盘上键入的三个数从小到大排序
package zzx.com;
import java.util.Scanner;
public class yyds {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入第一个数:");
int num1 = in.nextInt();
System.out.println("请输入第二个数:");
int num2 = in.nextInt();
System.out.println("请输入第三个数:");
int num3 = in.nextInt();
if(num1 > num2) {
if(num3 > num1)
System.out.println(num2 + " " + num1 + " " + num3);
else if(num3 < num2)
System.out.println(num3 + " " + num2 + " " + num1);
else
System.out.println(num2 + " " + num3 + " " + num1);
}else { //num2 >= num1
if(num3 > num2)
System.out.println(num1 + " " + num2 + " " + num3);
else if(num3 < num1)
System.out.println(num3 + " " + num1 + " " + num2);
else
System.out.println(num1 + " " + num3 + " " + num2);
}
}
}
解析:
回顾:
①看准题目要求是从小到大还是从大到小
②有关数据大小问题,可以采取数学中的坐标轴作为辅助
练习三:
①方法一
package zzx.com;
import java.util.Scanner;
public class yyds {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入狗狗的年龄:");
double age = in.nextDouble();
double num = 0.0;
if(age < 0)
System.out.println("请输入正确年龄!");
if(age <= 2.0){
for (int i = 0; i < (int) age; i++){
num = num + 10.5;
}
}else{
num = 21.0;
for(int i = 0;i < (int)age-2;i++){
num = num + 4;
}
}
System.out.println("狗狗的年龄相当于人类的" + num + "岁");
}
}
②方法二 (可能更好一些)
package zzx.com;
import java.util.Scanner;
public class yyds {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入狗狗的年龄:");
double age = in.nextInt();
double num = 0;
if(age <= 2)
num = age * 10.5;
else if(age > 2)
num = 10.5*2 + (int)(age-2) * 4;
else
System.out.println("请输入正确的年龄!");
System.out.println("狗狗的年龄相当于人类的" + num + "岁");
}
}
回顾:
①涉及“这些条件都不满足时,输出····”时,优先考虑if-else语句,结构更清晰,内存占比小
②注意数据的类型,必要时可以采取强制类型转换
③思考问题时要全面一些,面面俱到,不要懒省事
练习四:
package zzx.com;
import java.util.Scanner;
public class yyds {
public static void weishu(int x,int y){
int x1 = 0;
int x2 = 0;
int y1 = 0;
int y2 = 0;
x2 = x % 10;
x1 = x/10;
y2 = x % 10;
y1 = y /10;
if(x1 == y1 && x2 == y2)
System.out.println("奖金10000美元");
else if(x1 == y2 && x2 == y1)
System.out.println("奖金3000美元");
else if(x1 == y1 || x2 ==y2)
System.out.println("奖金1000美元");
else if(x1 == y2 || x2 == y1)
System.out.println("奖金500美元");
else
System.out.println("彩票作废");
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int randomSum = (int)(Math.random() * 90 + 10);//生成[10,99]其中一个随机数
System.out.println("请输入一个两位数[10~99]:");
int x = in.nextInt();
weishu(randomSum,x);
}
}
回顾:
①随机数返回的是double类型,且生成数据的范围为:[0.0,1.0)
②要生成区间[a,b]内一个随机数,公式:(int)(Math.random() * (b - a + 1) + a);


![[Java] if-else语句练习题 [Java] if-else语句练习题](http://www.mshxw.com/aiimages/31/850138.png)
