分支结构
1. if
语法:
if(逻辑表达式) { // 在逻辑表达式成立时,想要执行的java代码 }
如果逻辑表达式结果为true, 那么就执行大括号中的java代码
如果逻辑表达式结果为false,那么就不执行大括号中的java代码
package com.qfedu; public class Demo01 { /* * if(逻辑表达式) { * // 在逻辑表达式成立时,想要执行的java代码 * } * * 1. 如果逻辑表达式结果为true, 那么就执行大括号中的java代码 * 2. 如果逻辑表达式结果为false,那么就不执行大括号中的java代码 * */ public static void main(String[] args) { String season = "冬天"; if(season == "夏天") { System.out.println("吃凉皮"); } System.out.println("程序结束-----"); //定义一个成绩变量,打印是否是满分 double score=100; if(score==100) { System.out.println("恭喜,满分"); } System.out.println("结束"); } }
2. if-else
语法:
if(逻辑表达式) { //代码1 } else { //代码2 }
如果逻辑表达式结果为true, 那么就执行代码1 , 执行结束后,继续执行后续代码
如果逻辑表达式结果为false, 那么就执行代码2 , 执行结束后,继续执行后续代码
package com.qfedu; public class Demo02 { /* * 当出现两种互斥的结果时,我们可以使用if-else * if(逻辑表达式) { * //代码1 * } else { * //代码2 * } * * 1. 如果逻辑表达式结果为true, 那么就执行代码1 , 执行结束后,继续执行后续代码 * 2. 如果逻辑表达式结果为false, 那么就执行代码2 , 执行结束后,继续执行后续代码 * * */ public static void main(String[] args) { int gender = 1 ; // 0:女 1:男 if(gender == 0) { System.out.println("女"); } else { System.out.println("男"); } System.out.println("-----"); //定义分数 判断是否及格, 大于等于60 打印及格 小于60就打印不及格 double score=88; if(score>=60) { System.out.println("恭喜及格"); }else { System.out.println("不及格"); } } }
3. if-else if-else
语法:
if(逻辑表达式1) { //代码1 } else if(逻辑表达式2) { //代码2 } else if(逻辑表达式3) { //代码3 }... else if(逻辑表达式n) { //代码n } else { //代码n+1 }
首先进行逻辑表达式1的判断,如果成立,则执行代码1,跳出当前判断代码,执行后续代码
如果 逻辑表达式1 不成立,则进行逻辑表达式2的判断,如果成立 则执行代码2,跳出当前判断代码,执行后续代码
如果 逻辑表达式2 不成立,则进行逻辑表达式3的判断,如果成立 则执行代码3,跳出当前判断代码,执行后续代码
......
package com.qfedu; public class Demo03 { /* * if - else if - ... - else * * if(逻辑表达式1) { * //代码1 * } else if(逻辑表达式2) { * //代码2 * } else if(逻辑表达式3) { * //代码3 * }... * else if(逻辑表达式n) { * //代码n * } else { * //代码n+1 * } * * * 1. 首先进行逻辑表达式1的判断,如果成立,则执行代码1,跳出当前判断代码,执行后续代码 * 1.1 如果不成立,则进行逻辑表达式2的判断,如果成立 则执行代码2,跳出当前判断代码,执行后续代码 * 1.1.1 如果不成立,则进行逻辑表达式3的判断,如果成立 则执行代码3,跳出当前判断代码,执行后续代码 * ... * 如果所有的if都不成立,则执行代码n+1 * * * * * */ public static void main(String[] args) { int score = 67; /* * 90-100 A * 80-90 B * 60-80 C * 0-60 D */ if(score>=90) { System.out.println("A"); } else if (score>=80) { System.out.println("B"); } else if(score>=60) { System.out.println("C"); } else { System.out.println("D"); } System.out.println("------"); /* * 年龄 * 1- 18 未成年 * 18-30 青年 * 30-50 中年 * 50-80 中老年 * 80- 暮年 */ int age=25; if(age>=1&&age<18) { System.out.println("未成年"); }else if(age<=30) { System.out.println("青年"); }else if(age<=50) { System.out.println("中年"); }else if(age<=80) { System.out.println("中老年"); }else{ System.out.println("暮年"); } } }
4. switch-case
语法:
switch(变量) { case 值1: 业务代码1; case 值2: 业务代码2; case 值3: 业务代码3; ... case 值n: 业务代码n; default: 业务代码n+1; }
判断值在哪个case相匹配,那就从哪个case开始执行其定义的业务代码,一直执行到最后
可以使用关键字break,结束当前的swtich判断
变量的数据类型:byte short int char String
package com.qfedu; public class Demo04 { public static void main(String[] args) { /* * switch(变量) { * case 值1: 业务代码1; * case 值2: 业务代码2; * case 值3: 业务代码3; * ... * case 值n: 业务代码n; * default: 业务代码n+1; * } * * 1. 判断值在哪个case相匹配,那就从哪个case开始执行其定义的业务代码,一直执行到最后 * 2. 可以使用关键字break,结束当前的swtich判断 * 3. 变量的数据类型:byte short int char String */ /* * 去银行办理业务 * 1. 个人现金业务 * 2. 公司业务 * 3. 对外金融业务 * 4. 公对公业务 */ int flag = 3; if(flag == 1) { System.out.println("个人现金业务"); } else if(flag == 2) { System.out.println("公司业务"); } else if(flag == 3) { System.out.println("对外金融业务"); } else { System.out.println("公对公业务"); } System.out.println("-----------华丽的分割线-------------"); switch(flag) { case 1: System.out.println("个人现金业务"); break; case 2: System.out.println("公司业务"); break; case 3: System.out.println("对外金融业务"); break; case 4: System.out.println("公对公业务"); break; default: System.out.println("输入错误!"); } System.out.println("--------------"); String name = "pony"; switch(name) { case "jackma": System.out.println("喝龙井"); break; case "pony": System.out.println("吃海鲜"); break; case "tomlei": System.out.println("吃热干面"); break; default: System.out.println("吃海鲜"); } // java 技术经理/架构师 前端 高级前端 python 数据专家 数据库 DBA String subjects="java"; switch(subjects) { case "java": System.out.println("技术经理/架构师"); break; case "前端": System.out.println("高级前端"); break; case "Python": System.out.println("数据专家"); break; case "数据库": System.out.println("DBA"); break; default: System.out.println("摆烂"); } } }
5. 代码示例
class Demo05{ public static void main(String[] args) { /* * 男 14秒 * 女 18秒 */ String gender = "男"; int second = 15; if(gender == "男") { if(second<=14) { System.out.println("及格"); } else { System.out.println("不及格"); } } else { //女 if(second<=18) { System.out.println("及格"); } else { System.out.println("不及格"); } } /* * 国家 温饱线 * * 中国 200万 * 挪威 100万 * 美国 300万 */ String country="中国"; int money=100; if(country=="中国") { if(money>=200) { System.out.println("达到温饱线"); }else{ System.out.println("没达到温饱线"); } } else if(country=="挪威") { if(money>=100) { System.out.println("达到温饱线"); }else{ System.out.println("没达到温饱线"); } }else if(country=="美国") { if(money>=300) { System.out.println("达到温饱线"); }else{ System.out.println("没达到温饱线"); } } } } class Demo06{ public static void main(String[] args) { //打印最大值 int a=3; int b=7; int c=4; if(a>b&&a>c) { System.out.println(a); }else if(b>c) { System.out.println(b); }else { System.out.println(c); } //打印中间值 int a1=3; int b1=7; int c1=4; if((a>b&&a<c)||(a>c&&a<b)) { System.out.println(a1); }else if((b>a&&b<c)||(b>c&&b<a)) { System.out.println(b1); }else { System.out.println(c1); } } }