分支结构
Java中程序结构分为三种,第一种为顺序结构,即从上往下依次执行代码;第二种为分支结构,即根据条件选择性的执行代码;
第三种为循环结构,就是根据条件反复的执行某一段代码。
一、分支
分支分为两种,if语句和switch语句。
1、if语句
if语句有三种形式:
1>if语句的第一种形式
if (条件表达式) { 语句 }
当条件表达式为真(true)的时候,执行语句,否则什么都不执行。
按照代码顺序执行if语句下面的语句 条件表达式里面,肯定有关系运算符或者条件运算符。
2>if语句的第二种形式
if (条件表达式) { 语句1 } else { 语句2 }
当条件表达式为真(true)时,执行语句1,否则执行语句2
选择执行完语句之后,顺序执行if语句下面的代码
3>if语句的第三种形式
if (条件表达式1) { 语句1 } else if (条件表达式2) { 语句2 } else { 语句3 }
当条件表达式1为真(true)时,执行语句1
当条件表达式1为假(false)并且条件表达式2为真时,执行语句2,否则执行语句3
执行完毕之后,执行if语句下面的顺序代码。
4>条件运算符(三目运算符)
表达式1 ? 表达式2 : 表达式3 ==> 总表达式 当表达式1的结果为true时,总表达式的结果为表达式2的结果, 否则为表达式3的结果。 num1 > num2 ? num1 : num2 当num1 > num2表达式的结果为true,那么整体表达式的结果就是num1的值,否则就是num2的值。
5>随机数
Math.random() 值范围[0.0, 1.0) 之间的浮点数
求[10, 20]之间的随机整数
1)先得到目标区间里面整数个数 20 - 10 + 1
2)用第一步得到的个数 * Math.random() ==> [0.0, 11.0)
3)对第二步得到的区间进行取整 ==> [0, 10]
4)对第三步得到的区间 + 10 ==> [10, 20]
(int)(Math.random() * (b - a + 1)) + a
6>scanner
System.out.println("提示用户输入的内容"); //提示用户输入内容 System.out.println("输入一个整型数字:"); //创建扫描对象,开启输入,并实现扫描 Scanner scanner = new Scanner(System.in); //调用扫描对象的nextInt方法,来实现扫描赋值变量 int num = scanner.nextInt(); System.out.println(num);
练习(猜拳游戏)
int 剪刀 = 0, 石头 = 1, 布 = 2; System.out.println("请输入一个数字0~2:"); Scanner scanner = new Scanner (System.in); int num = scanner.nextInt(); int PC = (int) (Math.random() * (2 - 0 + 1) + 0); System.out.println(PC); if (num == PC) { System.out.println("平局"); } else if (num == 1 && PC == 0 || num == 2 && PC == 1 || num == 0 && PC == 2){ System.out.println("胜利"); } else { System.out.println("失败"); }