java day003 流程控制 01
流程控制之分支结构
1. if 语句
if (/* 条件语句 */) {
/*功能语句块*/
}
流程:当执行if语句时,先会判断小括号内的条件语句,若条件语句为true,则执行中括号内功能语句;若条件语句为false,则直接结束if语句,进行下一行代码。
举例
/* if语句示例*/
class IfTest {
public static void main(String[] args) {
int money = 100;
if (money >= 50) {
System.out.println("哇!土豪!!");
}
}
}
/*
输出结果:
D:\MyJavaCode\java day003>javac IfTest.java
D:\MyJavaCode\java day003>java IfTest
哇!土豪!!
*/
2. if…else语句
if (/* 条件语句 */) {
//true功能语句块
} else {
//false功能语句
}
流程:当代码执行if…else语句时,若满足条件语句,则执行if中括号的true代码块;否则执行else中括号的false代码块。
举例
/*if...else举例*/
class IfElse {
public static void main(String[] args) {
int money = 100;
if (money > 200) {
System.out.println("哇!!土豪!!请我去吃饭吧!!");
} else {
System.out.println("我请你去吃饭吧。。。");
}
}
}
/*
输出结果:
D:\MyJavaCode\java day003>javac IfElse.java
D:\MyJavaCode\java day003>java IfElse
我请你去吃饭吧。。。
*/
3. if…else if语句
if (/*条件语句1*/) {
//处理方式1
} else if (/*条件语句2*/) {
//处理方式2
} else if (/*条件语句3*/) {
//处理方式3
}
....
else if (/*条件语句n*/) {
//处理方式n
} else {
//均无匹配的最后处理方式
}
流程:当代码执行if…else if语句时,会条件语句依次进行匹配,当匹配的条件语句成立时会进入对应的处理方式代码块,然后结束语句;若前面的条件都不满足则会执行最后else的处理方式代码块,然后结束语句。
示例
/*if...else if示例*/
class IfElseIf {
public static void main(String[] args) {
int money = 1;
if (money > 1000) {
System.out.println("我请你吃海鲜大餐!");
} else if (money > 500 && money <= 1000) {
System.out.println("我请你吃烤鸭大餐!");
} else if (money > 200 && money <= 500) {
System.out.println("我请你去撸串!");
} else if (money > 100 && money <= 200) {
System.out.println("我请你吃汉堡!");
} else if (money > 50 && money <= 100) {
System.out.println("我请你吃黄焖鸡!");
} else {
System.out.println("回家洗洗睡吧!");
}
}
}
/*
输出结果:
D:\MyJavaCode\java day003>javac IfElseIf.java
D:\MyJavaCode\java day003>java IfElseIf
回家洗洗睡吧!
*/
【小知识点1】初识输入操作Scanner
Scanner使用流程:
1:【导包】
将 import java.util.Scanner;
放在class代码上一行
2:得到一个Scanner的变量
Scanner scan = new Scanner(System.in);
3:选择执行对应的方法,从键盘上获取对应的数据
获取int类型
int类型变量名 = scan.nextInt();
获取float类型
float类型变量名 = scan.nextFloat();
获取double类型
double类型变量名 = scan.nextDouble();
获取char类型
char类型变量名 = scan.nextLine().charAt(0);
示例
/*输入Scanner示例*/
import java.util.Scanner;
class ScannerTest {
public static void main(String[] args) {
int num = 0;
Scanner scan = new Scanner(System.in);
System.out.println("请问你掉进河里的是什么斧头?");
System.out.println("1 : 金斧头 2 : 银斧头 3 : 铁斧头");
num = scan.nextInt();
if (num != 1 && num != 2 && num != 3) {
System.out.println("爪巴!!输错了!!");
System.exit(0);
}
if (num == 1) {
System.out.println("你有个锤子的金斧头!");
} else if (num == 2) {
System.out.println("你会真以为你有银斧头吧!");
} else {
System.out.println("哈哈,傻了吧,你也没有铁斧头!");
}
}
}
/*
输出结果:
D:\MyJavaCode\java day003>java ScannerTest
请问你掉进河里的是什么斧头?
1 : 金斧头 2 : 银斧头 3 : 铁斧头
1
你有个锤子的金斧头!
D:\MyJavaCode\java day003>java ScannerTest
请问你掉进河里的是什么斧头?
1 : 金斧头 2 : 银斧头 3 : 铁斧头
2
你会真以为你有银斧头吧!
D:\MyJavaCode\java day003>java ScannerTest
请问你掉进河里的是什么斧头?
1 : 金斧头 2 : 银斧头 3 : 铁斧头
3
哈哈,傻了吧,你也没有铁斧头!
D:\MyJavaCode\java day003>java ScannerTest
请问你掉进河里的是什么斧头?
1 : 金斧头 2 : 银斧头 3 : 铁斧头
7
爪巴!!输错了!
*/
【小知识点2】代码对用户的友好性与代码本身对输入合法性判断
一段代码所展现的程序对用户来说一定是要友好的,要让用户明白应该如何去操作使用,给予用户足够的提示和引导!!
如果用户有不慎输错,应有输入判断,做到程序滴水不漏!