一、 if-else结构
例题
编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序(使用
if-else if-else),并且从小到大输出。
import java.util.Scanner;
class NumberSortTest {
public static void main(String[] args) {
//2.
Scanner scan = new Scanner(System.in);
//3.
System.out.println("请输入第一个整数:");
int num1 = scan.nextInt();
System.out.println("请输入第二个整数:");
int num2 = scan.nextInt();
System.out.println("请输入第三个整数:");
int num3 = scan.nextInt();
//System.out.println(num1 + ":" + num2 + ":" + num3);
if(num1 >= num2){
if(num3 <= num2){
System.out.println(num3 + ":" + num2 + ":" + num1);
}else if(num3 >= num1){
System.out.println(num2 + ":" + num1 + ":" + num3);
}else{
System.out.println(num2 + ":" + num3 + ":" + num1);
}
}else{
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);
}
}
}
说明:
- if-else结构是可以嵌套使用的!(从开发经验来说,if-else的嵌套不会超过3层)
- 如果if-else的结构的执行语句只有一行,则可以省略这一对{}。但是大家开发时,不建议省略!
练习
1)编写程序,声明2个int型变量并赋值。判断两数之和,如果大于等于50,打印“hello world!”
2)编写程序,声明2个double型变量并赋值。判断第一个数大于10.0,且第2个数小于20.0,打印两数之和。否则,打印两数的乘积。
class HomeWork {
public static void main(String[] args) {
//第1题:
int i = 15;
int j = 8;
int k = 18;
// 法一
int maxTemp = (i > j) ? i : j;
int max1 = (maxTemp > k) ? maxTemp : k;
// 法二
int max3;
if (i > j) {
if (i > k) {
max3 = i;
} else {
max3 = k;
}
} else if (j > k) {
max3 = j;
} else {
max3 = k;
}
System.out.println(max3);
//法三
if (i1 > i2){
if (i1 >i3){
max = i1;
}else{
max = i3;
}
}
else{
if (i2>i3){
max = i2;
}
else max = i3;
}
//第2题: 屡试不爽
//方式一
double d1 = 12.1, d2 = 15.5;
if (d1 > 10.0 && d2 < 20.0) {
System.out.println(d1+d2);
}else
System.out.println(d1*d2);
}
//方式二:
double result = (d1 > 10.0 && d2 < 20.0)? (<