if分支结构
1. 代码运行过程中的常见结构
顺序结构
代码从上到下,从左至右执行,最基本原则。
分支结构
路上的风景不一样,向左走向右走结果不一样。
代码满足不同的条件,执行不同的结果
循环结构
吃饭,睡觉,撸猫,辅导,上课
代码中存在需要多次执行的情况,这里会使用到循环结构
2. 分支结构
2.1 if 分支结构
if () {
}
class Demo2 {
public static void main(String[] args) {
int money = 10;
if (money >= 5) {
System.out.println("煎饼果子来一套");
money -= 5;
System.out.println("余额 :" + money + "元");
}
System.out.println("if大括号之外的代码~~~~");
}
}
class Demo3 {
public static void main(String[] args) {
char ch = '我';
if (ch >= 'A' && ch <= 'Z') {
System.out.println("这里是一个大写字母!!!");
}
System.out.println("大括号之外的语句!!!");
}
}
class Demo4 {
public static void main(String[] args) {
char ch = '1';
if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) {
System.out.println("这是一个英文字母");
}
System.out.println("if 大括号之外的代码");
}
}
class Demo5 {
public static void main(String[] args) {
int year = 2009;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
System.out.println("是闰年");
}
}
}
2.2 if else 分支结构
if () {
} else {
}
class Demo6 {
public static void main(String[] args) {
double salary = 4999.0;
if (salary > 5000) {
System.out.println("我为国家做贡献");
} else {
System.out.println("我会继续努力,为国家做贡献");
}
}
}
class Demo7 {
public static void main(String[] args) {
boolean hasGirlFriend = false;
if (hasGirlFriend) {
System.out.println("奶茶买一送一");
} else {
System.out.println("路见不平一声吼,你还没有女朋友");
}
}
}
class Demo8 {
public static void main(String[] args) {
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 () {
} else if () {
} else if () {
} else {
}
class Demo9 {
public static void main(String[] args) {
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("非会员...");
}
}
}
class Demo10 {
public static void main(String[] args) {
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);
【补充知识点 用户友好性提示】
代码运行需要站着用户的角度来思考问题。用户进行操作时,需要给予用户足够的提示和引导,告知用户当前操作如何完成,考虑代码的友好性!!!
用户粘性问题!!!用户提示!!!用户友好性!!!
【补充知识点 用户输入数据合法性判断】
就算在提示中告知用户需要输入的数据范围是多少,但是用户在实际使用的过程中,依然存在输入错误的情况。需要对于用户输入的数据进行合法性判断,如果用户输入的内容符合我们的判断逻辑需求,进入数据处理过程。如果不符合要求,直接终止程序!!!
import java.util.Scanner;
class Demo10 {
public static void main(String[] args) {
float score = 0.0F;
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生的成绩1 ~ 100:");
score = sc.nextFloat();
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. 数据类型选择
感想:习惯养成第二天,盲打有了一点感觉,但是很生涩,速度也很慢,难搞得很,慢慢来吧,瞎搞,发博客习惯正在养成中。