一、分支结构:
(1)if分支结构:
语句1;
if(条件表达式){
代码块//条件成立时,执行的逻辑
}
语句2;
执行逻辑:执行完语句1后,碰到if,一定会执行
条件表达式,结果为true,就执行代码块,
然后再执行语句2。
结果为false,就跳过代码块,执行语句2
if(条件表达式){
代码块1// 条件成立时执行此代码块
}else{
代码块2// 条件不成立时执行此代码块
}
执行逻辑:当程序执行到if时,一定会执行条件表达式进行判断
结果为true,就执行代码块1.
结果为false,跳过代码块1,执行代码块2
if(条件1){
代码块1;
}else if(条件2){
代码块2
}else if(条件3){
代码块3
}else{
代码块4
}
执行逻辑:程序执行到if时,一定会执行条件1,进行判断
结果为true,执行代码块1。
结果为false,执行条件2,进行判断
结果为true,执行代码块2.
结果为false,执行条件3,进行判断
............
(2)
switch-case语句
格式:
switch(整数表达式){
case value1: 代码块1;[break];
case value2: 代码块2;[break];
..........
[default: 代码块n;]---[]表示可有可无
}
整数表达式:即能获得一个整数的表达式。
但是jdk1.7版本以后,支持字符串表达式
case后的值与()内的结果类型要相同
break:有打断,毁掉,跳出,结束的含义
执行逻辑:
当程序遇到switch时,计算表达式的值,然后
匹配case后的值,然后,执行对应的分支逻辑。
如果此分支有break.就结束分支结构,如果此分支
没有break,就继续执行下一条分支逻辑,直到
遇到break或default或全部执行完后续的所有分支。
二、引用类型
Math类和Scanner类
Math:是一个数学类型,此类型中有很多方法:即功能
如:
Math.random():功能是随机产生一个[0,1)区间内的
任意浮点数
范围:0~0.9999999999999999999999999;
如果是左闭右开[m n); 则范围为Math.random()*(n-m)+m
如果是左闭右闭[m n]; 则范围为Math.random()*(n+1-m)+m
double num = Math.random();
Scanner:是一个开启键盘输入的类型,此类型中有很多方法。
如:可以扫描键盘输入的整数,浮点数,布尔类型,
字符串
nextInt():扫描整数
nextDouble():扫描浮点数
nextBoolean():扫描布尔类型
next():扫描字符串
nextLine():扫描字符串
这些功能都有阻塞程序的效果,当扫描到数据后,并
回车,阻塞效果消失,程序继续向下运行
使用步骤:
(1)导包
import java.util.Scanner;
(2)新建对象
Scanner scan = new Scanner(System.in);
(3)使用功能
int num = scan.nextInt();
double num = scan.nextDouble();
String str = scan.nextLine();
String name = scan.next();