一、分支结构
1、if 分支
2、switch 分支
执行流程:
① 先执行表达式的值,再拿着这个值去与 case 后的值进行匹配
② 与哪个 case 后的值匹配为 true 就执行哪个 case 块的代码,遇到 break 就跳出 switch 分支
③ 如果全部 case 后值与之匹配都是false,则执行default 块的代码
注意:
① 表达式类型只能是 byte 、short、int 、char,JDK5开始支持枚举,JDK7开始支持String,不支持double、float、long
② case 给出的值不允许重复,只能是字面量,不能是变量
③ 不要忘记 break
二、循环结构
1、for 循环
减少代码的重复编写,灵活的控制程序的执行
for(初始化语句; 循环条件; 迭代语句){
循环体语句
}
2、while 循环
for 循环和 whie 循环的区别:
① 功能上是完全一样的,for 能解决的while 也能解决,反之亦然
② 知道循环几次:使用for ;不知道循环几次:使用while
3、do-while 循环
先执行后判断
4、死循环
5、循环嵌套
for(int i = 0; i < 10; i++){
for(int j = 0; j < 10; j++){
System.out.println("HelloWord!");
}
}
特点:外部循环每执行一次,内部循环会全部执行完一轮
6、跳出关键字:break; continue
7、随机数:Random
案例:猜数字游戏
需求:随机生成一个1-100之间的数据,提示用户猜测,猜大提示过大,猜小提示过小,直到猜中结束游戏
分析:① 先随机生成一个1-100之间的数
② 定义一个死循环让用户可以一直猜测
③ 在死循环里,每次都提示用户输入一个猜测的数字,猜大提示过大,猜小提示过小,直到猜中结束游戏
import java.util.Random; import java.util.Scanner; public class Main { public static void main(String[] args) { //随机生成一个1-100之间的数据 Random r = new Random(); int luckNumber = r.nextInt(100)+1; while(true){ Scanner scanner = new Scanner(System.in); System.out.println("请输入你猜的数:"); int guessNumber = scanner.nextInt(); if(guessNumber > luckNumber){ System.out.println("你猜大了!"); }else if (guessNumber < luckNumber) { System.out.println("你猜小了!"); }else { System.out.println("恭喜你,你猜对了!"); break; } } } }