程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。
让程序有选择的的执行,分支控制有三种
public class var01 {
//编写一个main方法
public static void main(String[] args) {
//思路分析
//1. 接收输入年龄,定义一个Scanner对象
//2. 把年龄保存到一个int age变量
//3. 使用if判断,输出对应信息。
import java.util.Scanner;
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入年龄");
int age = myScanner.nextInt();
if(age > 18) {
System.out.println("你年龄大于18,要对自己的行为负责,送入监狱")
}
System.out.println("程序继续执行...")
}
}
public class var01 {
//编写一个main方法
public static void main(String[] args) {
//思路分析
//1. 接收输入年龄,定义一个Scanner对象
//2. 把年龄保存到一个int age变量
//3. 使用if-else判断,输出对应信息。
import java.util.Scanner;
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入年龄");
int age = myScanner.nextInt();
if(age > 18) {
System.out.println("你年龄大于18,要对自己的行为负责,送入监狱")
} else {
System.out.println("你的年龄不大这次放过你了")
}
System.out.println("程序继续执行...")
}
}
public class var01 {
//编写一个main方法
public static void main(String[] args) {
//思路分析:用单分支
double d1 = 34.5;
double d2 = 2.6;
if(d1 > 10.0 && d2 < 20.0) {
System.out.println("两数和=" + (d1 + d2));
}
}
}
.
(3.) 课后自己练】定义两个变量int,判断二者的和,是否能被3又能被5整除,打印提示信息
public class var01 {
//编写一个main方法
public static void main(String[] args) {
//思路分析:
//1. 定义num1。num2
//2. 定义sum = num1 + num2
//3. 判断sum%3,5是否=0
//4. 使用ifelse提示对应信息
int num1 = 10;
int num2 = 5;
int sum = num1 + num2;
if(sum % 3 == 0 && sum % 5 == 0) {
System.out.println("可以被3又能被5整除");
} else {
System.out.println("和不能同时被3和5整除");
}
}
}
}
.
(4.)判断一个年份是否是闰年,闰年的条件是符合下面二者之一:(1)年份能被4整除,但不能被100整除;(2)能被400整除
public class var01 {
//编写一个main方法
public static void main(String[] args) {
//思路分析:
//1. 定义年份int year
//2. (year%4==0 && year%100!=0) || year%400==0
int year = 2023;
if((year % 4 == 0 && year % 100 != 0) || year % 400 ==0) {
System.out,println(year + "是闰年");
} else {
System.out.println(year + "不是闰年");
}
}
}
<1>输入保国同志的芝麻信用分: 如果:
public class RelationalOperator {
//编写一个 main 方法
public static void main(String[] args) {
//
import java.util.Scanner;
Scanner myScanner = new Scanner(System.in);
//接收用户输入
System.out.println("请输入信用分");
int grade = myScanner.nextInt();
//4种条件用多分支
if(grade >= 1 && grade <= 100) {
if(grade == 100) {
System.out.println("信用极好");
} else if(grade > 80) {
System.out.println("信用优秀");
} else if(grade >= 60) {
System.out.println("信用一般");
} else {
System.out.println("信用不及格");
} else {
System.out.println("信用分需要在 1-100,请重新输入:)")
}
}
}
<2>
【b】
【b=T, 改成b=F,那么if的条件就是false, a不会输出。!b = True,输出c】
在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支外面的分支结构称为外层分支。不要超过 3 层 (可读性不好)
public class RelationalOperator {
//编写一个 main 方法
public static void main(String[] args) {
//思路分析
//1.
import java.util.Scanner;
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入成绩");
double score = myScanner.nextDouble();
if(grade > 8.0) {
System.out.println("请输入性别");
char gender = myScanner.next().charAt(0);
if(gender == 'm'){
System.out.println("男子组决赛");
} else if(gender == 'f'){
System.out.println("女子组决赛");
} else {
System.out.println("性别输入错误")
}
} else {
System.out.println("不好意思你没进入决赛");
}
}
}
【将string转换为char的方法就是提取string的第一个字符.charAt(0): string.charAt(0)】
4. 练习
public class RelationalOperator {
//编写一个 main 方法
public static void main(String[] args) {
//思路分析
import java.util.Scanner;
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入月份数字");
int month = myScanner.nextInt();
if(age > 0 && (month >= 1 && month <= 12)) {
if(month >= 4 && month <= 10) {
System.out.println("请输入年龄");
int age = myScanner.nextInt();
if(age >= 18 && age <= 60){
System.out.println("票价60");
} else if(age < 18){
System.out.println("票价30");
} else {
System.out.println("票价20");
}
} else {
System.out.println("请输入年龄");
int age = myScanner.nextInt();
if(age >= 18 && age <= 60) {
System.out.println("票价40");
} else {
System.out.println("票价20");
}
} else {
System.out.println("输入有误");
}
}
}