Java分支结构
程序结构:
- 顺序结构
- 分支结构(选择)
- 循环结构
if
- if语句是指如果满足某种条件,就进行处理.在上面的伪代码中,"如果"相当于Java中的关键字if.
- 语法格式
例如:if(考试得了一百分){
玩游戏一个小时;
}
- 上面的列子就描述了if语句的用法,在Java中,if语句的具体语法格式如下:
if(条件语句){
执行语句;
}
- if语句的执行流程图
public class Demo1{
public static void main(String[] args){
int score = 100;
if(score == 100){
System.out.println("判断条件为真");
}
}
}
if…else
- if…else语句:是指如果满足某种条件,就进行某种处理,否则就进行另一种处理.
if...else语句的具体格式如下:
if(条件语句){
执行语句1;
........
} else{
执行语句2;
.........
}
- 上述代码中,判断条件是一个布尔值.当判断条件为true时,if后面{ }中的执行语句1会执行,当判断条件为false时,else后面{ }中的执行语句2会执行.
eg:要判断一个正整数的奇偶,如果该数字能被2整除则是一个偶数,否则就是一个奇数
public class Demo2{
public static void main(String[] args){
int num = 10;
if(num % 2 ==0){
System.out.println("偶数");
}else{
System.out.println("奇数");
}
}
}
- 练习:
- 1.判断是否为闰年
提示:能被4整除但不能被100整除.或者能被400整除.
方式一:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int year = input.nextInt();
if(year % 4 == 0 && year % 100 !=0 ||year % 400 ==0){
System.out.println("是闰年");
}else{
System.out.println("不是闰年");
}
}
方式二:三元运算符
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int year = input.nextInt();
String a =(year % 4 ==0 && year % 100 != 0 || year % 400 == 0)?"闰年":"平年";
System.out.println(a);
}
- 2.通过键盘输入密码,判断密码是否等于123456,如果等于就输出"密码正确",如果不等于则提示"密码错误".
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("欢迎来带实力至上教室!");
System.out.println("请输入密码");
int password=input.nextInt();
if (password==123456){
System.out.println("密码正确!");
}else{
System.out.println("密码错误,请重新输入!");
}
}
if…else if…else
- if…else if…else 语句用于对多个条件进行判断,进行多种不同的处理.
if(判断条件){
执行语句1;
}else if(判断条件2){
执行语句2;
}else if(判断条件n){
执行语句n;
}else{
执行语句n+1
}
- 上述格式中,判断条件是一个布尔值,当判断条件1为true时,if后面{ }中的执行语句1会执行.当判断条件1为false时,会继续执行判断条件2,如果为true则执行语句2,以此类推,如果所有的判断条件都为 false,则意味着所有条件均未满足,else 后面 { } 中的执行语句 n+1 会执行.
- eg: 对一个学生的考试成绩进行等级的划分,如果分数大于80分等级为优,否则,如果分数大于70分等级为良,否则,如果分数大于60分等级为中,否则,等级为差.
public static void main(String[] args) {
int score = 59;
if (score>80){
System.out.println("优秀");
}else if(score>70){
System.out.println("良好");
}else if (score>60){
System.out.println("中");
}else {
System.out.println("差");
}
}
-
练习:
-
实现根据存款和购买能力的对应关系(当存款大于等于500万时买“凯迪拉克”,当存款大于等于100万时买“帕萨特”,当存款大于等于50万时买“伊兰特”,当存款大于等于10万时买“奥拓”,否则只能买“捷安特”)输出与之对应可以购买的车型,当存款为52万时输出如图所示的效果。
----这是分割线-----------命令行效果------
我可以买辆伊兰特
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入您的存款金额,单位:万.");
System.out.println("将根据您输入的金额匹配对应的汽车!");
int money = input.nextInt();
if (money >=500){
System.out.println("您可以购买凯迪拉克.");
}else if(money>=100){
System.out.println("您可以购买帕萨特");
}else if (money>=50){
System.out.println("您可以购买伊兰特");
}else if (money>=10){
System.out.println("您可以购买奥拓");
}else {
System.out.println("您可以购买捷安特");
}
}
if 嵌套
public static void main(String[] args) {
int height = 175;
int weight = 100;
if (height >=175){
if (weight >=100){
System.out.println("该减肥了!!");
}else{
System.out.println("请保存现状!!!");
}
}else{
System.out.println("你拉低中国的平均水平了!!!!");
}
}
-
练习
-
实现根据比赛成绩以及性别,对选手进行分组,效果如下所示。当成绩小于等于“10秒”时,选手有资格进入决赛,对于进入决赛的选手再对性别“男和女”分别进入“男子组决赛”或“女子组决赛”。
----这是分割线-----------命令行效果------
请输入比赛成绩:10
请输入性别:男
进入男子组决赛
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入成绩!");
int score = input.nextInt();
if (score<10){
System.out.println("请输入您的性别:男性请输入1,女性请输入2");
int sex = input.nextInt();
if (sex == 1){
System.out.println("恭喜您进入男子组决赛!");
}else {
System.out.println("恭喜您进入女子组决赛!");
}
}else {
System.out.println("很遗憾,您未能进入决赛.");
}
}