顺序结构
- 程序从上到下依次地执行,中间没有任何判断和跳转。
System.out.println("程序开始");
System.out.println("起床");
System.out.println("洗漱");
System.out.println("开车");
System.out.println("工作");
System.out.println("吃饭");
System.out.println("下班");
System.out.println("睡觉");
System.out.println("程序结束");
分支结构
- 根据所给的条件,选择性地执行某段代码。
if
//if格式一
int age = 22;
if (age >= 18) {
System.out.println("已经成年");
}
//if格式二
int age = 15;
if (age >= 18) {
System.out.println("已经成年");
} else {
System.out.println("未成年不得观看!");
}
//if格式三,我更改了国家法定成年年龄
int age = 22;
if (age >= 60) {
System.out.println("老年");
} else if (age >= 40) {
System.out.println("壮年");
} else if (age >= 20) {
System.out.println("青年");
} else {
System.out.println("未成年");
}
if嵌套
int age = 34234;
if (age < 0 || age >= 150) {
System.out.println("妖怪!");
} else {
if (age >= 60) {
System.out.println("老年");
} else if (age >= 40) {
System.out.println("壮年");
} else if (age >= 20) {
System.out.println("青年");
} else {
System.out.println("未成年");
}
}
switch
String color = "green";
switch (color) {
case "red":
System.out.println("红色");
break;
case "yellow":
System.out.println("黄色");
break;
case "green":
System.out.println("绿色");
break;
case "white":
System.out.println("白色");
break;
default:
System.out.println("花色");
break;
}
switch穿透性
int num = 1;
switch (num) {
case 1:
System.out.println(1);
case 2:
System.out.println(2);
case 3:
System.out.println(3);
}
总结:if和switch很像,具体什么场景使用什么语句?
- 判断的值不多或者是固定的值,建议使用switch
- 对于区间判断,推荐if
Scanner
import java.util.Scanner;//1.导包
//2.创建扫描器对象
Scanner sc = new Scanner(System.in);
System.out.print("输入你名字:");
String name = sc.next();
System.out.print("输入你年龄:");
int age = sc.nextInt();
System.out.print("输入你的性别:");
char gender = sc.next().charAt(0);
System.out.print("输入你的成绩:");
double score = sc.nextDouble();
System.out.println("名字 = " + name);
System.out.println("年龄 = " + age);
System.out.println("性别 = " + gender);
System.out.println("成绩 = " + score);
循环结构
- 根据循环条件,重复性的执行某段代码。
while
int i = 1;
while (i<=5){
System.out.println("hi");
i++;
}
do while
int i = 1;
do {
System.out.println("hi");
i++;
} while (i <= 5);
总结:while 和 do-while 的区别?
- while:先判断循环条件,再执行循环体
- do-while:先执行循环体,再判断循环条件,至少执行一次
for
for (int i = 1; i <= 5; i++) {
System.out.println("hi");
}
练习题:水仙花
所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
for (int i = 100; i < 1000; i++) {
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100;
if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
System.out.println(i);
}
}