2020-04-16

if分支结构

1. 代码运行过程中的常见结构

顺序结构 代码从上到下,从左至右执行,最基本原则。分支结构 路上的风景不一样,向左走向右走结果不一样。 代码满足不同的条件,执行不同的结果循环结构 吃饭,睡觉,撸猫,辅导,上课 代码中存在需要多次执行的情况,这里会使用到循环结构####
2. 分支结构##### 2.1 if 分支结构
if (/* 条件判断 /) {
// 语句体}/执行流程: 当前程序运行到if结构时,首先执行条件判断,条件判断的结果是一个boolean类型,如果条件判断为true,执行语句体,为false,不能执行语句体。 最后都会执行到大括号之外/
/
if 分支结构演示 */
class Demo2 { public static void main(String[] args) { // 假设你兜里有10块钱 // int money = 10; // 假设你兜里有1块钱 int money = 10; // money > 5 是一个条件判断,结果是一个boolean if (money >= 5) { System.out.println(“煎饼果子来一套”); money -= 5; System.out.println(“余额 :” + money + “元”); } System.out.println(“if大括号之外的代码~~~~”); }}
/*
3. 判断一个字符是不是大写英文字母*/class Demo3 { public static void main(String[] args) { // 定义一个字符类型char 的变量 char ch = ‘我’; /* 代码结构安排的明明白白的!!! / if (ch >= ‘A’ && ch <= ‘Z’) { System.out.println(“这里是一个大写字母!!!”); } System.out.println(“大括号之外的语句!!!”); }}
/

4. 判断一个字符是不是英文字符*/class Demo4 { public static void main(String[] args) { // 判断字符,需要使用一个char类型变量 char ch = ‘1’; /* (ch >= ‘A’ && ch <= ‘Z’) 大写字母范围 (ch >= ‘a’ && ch <= ‘z’) 小写字母范围 / if ((ch >= ‘A’ && ch <= ‘Z’) || (ch >= ‘a’ && ch <= ‘z’)) { System.out.println(“这是一个英文字母”); } System.out.println(“if 大括号之外的代码”); }}
/

5. 判断一个年份是不是闰年 能被4整除但是不能被100整除,或者能被400整除*/class Demo5 { public static void main(String[] args) { // 年份是一个整数,这里使用int类型 int year = 2009; /* year % 4 == 0 && year % 100 != 0 || year % 400 == 0 / if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { System.out.println(“是闰年”); } }}
2.2 if else 分支结构
/

if 分支结构中只能处理条件满足的情况,条件不满足没有任何的处理语句。if else分支结构。/if (/ 条件判断 /) { // true语句体} else { // false语句体}/执行流程: 代码执行到if else结构运行,首先判断if之后的条件判断,如果条件判断为true,执行true语句体,如果条件判断为false,执行false语句体。 世界上最遥远的距离是我在if里,你在else里/
/

6. 工资判断 月收入5000以上缴税 月收入5000以下不需要缴税*/class Demo6 { public static void main(String[] args) { // 工资是一个浮点类型数据,这里使用double类型 double salary = 4999.0; /* 语句体: 大括号以内的内容,也可以称之为代码块 / if (salary > 5000) { System.out.println(“我为国家做贡献”); } else { System.out.println(“我会继续努力,为国家做贡献”); } }}
/

7. 是否有女朋友 有 true 没有 false*/class Demo7 { public static void main(String[] args) { // 是否有女朋友就两种情况,true or false boolean hasGirlFriend = false; /* if () 小括号内需要的数据类型是boolean类型 hasGirlFriend 该变量就是一个boolean类型数据,可以直接用于 if 直接的判断 / if (hasGirlFriend) { System.out.println(“奶茶买一送一”); } else { System.out.println(“路见不平一声吼,你还没有女朋友”); } }}
/

8. 判断一个字符是不是数字字符*/class Demo8 { public static void main(String[] args) { // 需要判定的是一个数字字符,这里需要char类型 char ch = ‘我’; /* 这里操作判断的是一个字符类型数据 / if (ch >= ‘0’ && ch <= ‘9’) { System.out.println(“该字符是一个数字字符”); } else { System.out.println(“该字符不是一个数字字符”); } }}
2.3 if else if 分支结构
学生成绩的等级划分:
90 ~ 100 秀儿 80 ~ 90 良儿 70 ~ 80 中儿 60 ~ 70 格儿 60 以下 让你爹穿着拖鞋来学校一趟用户购物VIP等级 100 ~ 1000 铜牌会员 1001 ~ 5000 银牌会员 5001 ~ 10000 金牌牌会员 10001 ~ 50000 钻石会员 50001 黑钻会员
if (/
条件匹配1 /) {
// 处理方式1} else if (/
条件匹配2 /) { // 处理方式2} else if (/ 条件匹配3 */) { // 处理方式3} else { // 无匹配项最终处理方式}/执行流程: 代码执行到if else if结构,从上至下,匹配if之后小括号里面的内容,条件匹配成功,执行对应的处理方式,结束分支结构运行。如果没有任何的一个条件匹配,执行else中的语句,也会终止条件匹配【注意】 else if个数不限制,可以有多个!!!/

/*
用户购物VIP等级 100 ~ 1000 铜牌会员 1001 ~ 5000 银牌会员 5001 ~ 10000 金牌牌会员 10001 ~ 50000 钻石会员 50001 黑钻会员 /class Demo9 { public static void main(String[] args) { // 用户的消费数据按照int类型考虑 int money = 50001; if (money >= 100 && money <= 1000) { System.out.println(“铜牌会员”); } else if (money > 1000 && money <= 5000) { System.out.println(“银牌会员”); } else if (money > 5000 && money <= 10000) { System.out.println(“金牌会员”); } else if (money > 10000 && money <= 50000) { System.out.println(“钻石会员”); } else if (money > 50000) { System.out.println(“黑钻会员”); } else { System.out.println(“非会员…”); } }}
/

学生成绩的等级划分: 90 ~ 100 秀儿 80 ~ 90 良儿 70 ~ 80 中儿 60 ~ 70 格儿 60 以下 让你爹穿着拖鞋来学校一趟*/class Demo10 { public static void main(String[] args) { /* 成绩考虑存在0.5的情况,需要使用浮点类型数据 这里采用float类型 / float score = 59F; / 成绩等级判断 / if (score >= 90 && score <= 100) { System.out.println(“秀儿”); } else if (score >= 80) { System.out.println(“良儿”); } else if (score >= 70) { System.out.println(“中儿”); } else if (score >= 60) { System.out.println(“格儿”); } else { System.out.println(“让你爹穿着拖鞋来学校一趟”); } }}
【补充知识点 Scanner 复制粘贴就可以了】
以上代码每一次的结果都是需要用户修改代码,保存,重新编译之后才可以进行执行结果。对于普通用户而言,该操作可行吗?
我们需要给程序提供一种方式,用于接受用户输入的数据!!! Scanner是Java中提供的用于从控制台输入数据到代码中的一种方式,存在一些弊端,容易导致一些错误,这里只要求大家了解一些必要的方法。 【Scanner操作哪里需要沾哪里】 Scanner使用流程 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);
【补充知识点 用户友好性提示】
代码运行需要站着用户的角度来思考问题。用户进行操作时,需要给予用户足够的提示和引导,告知用户当前操作如何完成,考虑代码的友好性!!!
用户粘性问题!!!用户提示!!!用户友好性!!!
【补充知识点 用户输入数据合法性判断】
就算在提示中告知用户需要输入的数据范围是多少,但是用户在实际使用的过程中,依然存在输入错误的情况。需要对于用户输入的数据进行合法性判断,如果用户输入的内容符合我们的判断逻辑需求,进入数据处理过程。如果不符合要求,直接终止程序!!!
/

学生成绩的等级划分: 90 ~ 100 秀儿 80 ~ 90 良儿 70 ~ 80 中儿 60 ~ 70 格儿 60 以下 让你爹穿着拖鞋来学校一趟*/// 导包,让当前Java代码可以使用Scannerimport java.util.Scanner;class Demo10 { public static void main(String[] args) { /* 成绩考虑存在0.5的情况,需要使用浮点类型数据 这里采用float类型,这里赋值一个初值 / float score = 0.0F; // 需要得到一个Scanner的变量 Scanner sc = new Scanner(System.in); / 提示用户操作 / System.out.println(“请输入学生的成绩1 ~ 100:”); score = sc.nextFloat(); / 验证用户输入数据的合法性 如果用户输入的数据不合法,终止程序!!! 不合法: 输入数据 > 100 或者 < 0 / if (score > 100 || score < 0) { System.out.println(“输入数据不合法!!!”); // 程序退出 System.exit(0); } / 成绩等级判断 */ if (score >= 90 && score <= 100) { System.out.println(“秀儿”); } else if (score >= 80) { System.out.println(“良儿”); } else if (score >= 70) { System.out.println(“中儿”); } else if (score >= 60) { System.out.println(“格儿”); } else { System.out.println(“让你爹穿着拖鞋来学校一趟”); } }}
3.总结
分支结构用于处理代码中出现的一些需要判断,并且按按条件处理的情况!!!
1. 条件约束考虑清楚 2. 处理的过程考虑清楚 3. 数据类型选择

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值