**
If分支结构
**
1.代码运行中常见的结构
(1)顺序结构:代码从上到下,从左到右。
(2)分支结构:代码满足不同的条件,执行不同的路径及结果。
(3)循环结构:因代码中需多次执行所以会用到循环结构。
2.分支结构
(1)if 分支结构
if (条件判断) {
语句体
}
执行的流程:程序运行到If结构式,要首先进行条件判断(结果是boolean类型),条件判断为tue执行语句体,如果为false,则不能执行语句体。
案例一:
class App1 { public static void main(String[] args) {
int money = 10; //当你手中有十元钱
// money > 5 是一个条件判断,结果是一个boolean
if (money >= 5) {
System.out.println("武汉正宗热干面来一碗");
money -= 5;
System.out.println("余额 :" + money + "元");
}
System.out.println("if大括号之外的代码~~~~");
}
}
案例二:. 判断一个年份是不是闰年 (条件:能被4整除但是不能被100整除,或者能被400整除 )
class App2 {
public static void main(String[] args) {
int year = 2009; // 因为年份是一个整数,这里使用int类型
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
System.out.println("是闰年");
}
}
}
3. if else 分支结构
if (条件表达式)
{
语句序列1
}
else
{
语句序列2
}
if else 分支结构执行流程:
if和else都是Java语言的关键字,执行if语句时,程序先计算条件表达式的值,如果值为真(true),则执行"语句序列1";如果值为假"false",则会执行"语句序列2";
案例:
判断一个字符是不是数字字符
class App3 {
public static void main(String[] args) {
char ch = '我'; // // 需要判定的是一个数字字符,这里需要char类型
if (ch >= '0' && ch <= '9') {
System.out.println("该字符是一个数字字 符");
}
else {
System.out.println("该字符不是一个数字字 符");
}
}
}
4 if else if (多重条件选择结构)
if (条件表达式1) {
// 处理方式1
} else if (条件表达式2) {
// 处理方式2
}
.
.
.
else if (条件表达式n) {
// 处理方式n
} else {
/ / 无匹配项最终处理方式
}
if else if 执行流程:
代码执行到if else if结构,从上至下,匹配if之后小括号 里面的条件表达式,条件匹配成功,执行对应的处理方式,结束分支结构运 行。如果没有任何的一个条件匹配,执行else中的语句,也会终止条 件匹配。(else if 个数不限制)
案例:给出一个分数,按不同的分数阶段将其评定为A,B,C,D,E五个档次之一。
class App4{
public static void main(String[] args){
int testScore = 86;
char grade;
if ( testScore >=90){
grade = 'A';
}else if (testScore >=80){
grade = ‘B’;
}else if (testScore >=70){
grade = ‘C’;
}else if (testScore >=60){
grade = ‘D’;
}else{
grade = ‘E’;
}
System.out.println("评定成绩为: "+ grade);
}
}
补充:
1.Java程序本身是没有直接使用Scanner的能 力,这里需要点技能点。
格式:
import java.util.Scanner; ( 放在class代码上一行 )
2.需要得到一个Scanner的变量
格式:
Scanner sc = new Scanner(System.in); 、
3.选择执行对应的方法,从键盘上获取对应的数据
获取int类型
int类型的变量 = sc.nextInt();
获取float类型
float类型的变量 = sc.nextFloat();
获取double类型
double类型的变量 = sc.nextDouble();
获取char类型
char类型的变量 = sc.nextLine().charAt(0);