单分支结构:
只有一个条件,符合就执行
借用JDK提供的Math数学类,random()方法是生成一个随机数,返回类型是double类型,数据范围是[0,1)
双分支结构:
有两个条件,符合哪个就执行哪个语句块
计算圆的面积和周长
int r = 4;
final double PI = 3.14;
double area = PI * r * r;
double length = 2 * PI * r;
if(area >= length){
System.out.println("面积大于等于周长");
}else{
System.out.println("周长大于面积");
}
多分支结构:
有多个条件,匹配上哪个就执行哪个语句块,如果都不匹配,就执行最后的else语句块
int age = (int)(Math.random() * 100);
if(age < 10){
System.out.println("儿童" + age);
}else if(age < 20){
System.out.println("青少年" + age);
}else if(age < 35){
System.out.println("中年" + age);
}else if(age < 50){
System.out.println("中老年" + age);
}else if(age < 70){
System.out.println("老年" + age);
}else{
System.out.println("老寿星" + age);
}
嵌套if分支结构
分支结构中包含分支
int time = (int)(Math.random() * 40);
if(time < 20){
System.out.println("恭喜你进入决赛");
String sex = (int)(Math.random() * 2) == 0 ? "girl" : "boy";
if(sex == "girl"){
System.out.println("欢迎进入女子组");
}else{
System.out.println("欢迎进入男子组");
}
}else{
System.out.println("对不起,您的成绩太差了,被淘汰了!");
}
switch多分支结构
根据表达式值(具体的值)的不同执行许多不同的操作
注意:
1、如果有一个case语句匹配上了,就应该让它停止后面case语句的匹配操作,所以加上break,
表示跳出流程控制语句,就不会在向下匹配别的case语句了
2、如果case语句中的逻辑代码是相同的,那么可以省略前面的不写,只需要在最后一个匹配的case后面
加上逻辑代码即可
3、default语句是可选的语句,如果前面的case没有一个可以匹配上,就执行default语句
4、default语句是可有可无,不是必须的
Scanner是一个文本扫描器类,System.in表示标准输入,这句话表示接收键盘输入
用到了一个java的设计模式 装饰设计模式
nextLine()方法的返回类型是String
Scanner sc = new Scanner(System.in);
System.out.println("请输入:");
String str = sc.nextLine();
String str = sc.next();
int num = sc.nextInt();
System.out.println("你刚在键盘上输入的字符是:" + num);
不过必须导包
import java.util.Scanner; //导包