1. 常见结构
顺序结构:
代码从上至下,从左至右阅读 - 最基本原则
分支结构:
代码满足不同的条件, 从而执行不同的结果
循环结构:
代码中如果有需要多次执行的情况, 就会用到循环结构
2. 分支结构
2.1 if分支结构
if分支结构格式:
if (/* 条件判断 */) {
// 语句体
}
/*
例子
*/
class Demo1 {
public static void main (String[] args){
// 假设你有1元钱
int money = 1;
// money >=5 是一个条件判断, 结果是一个boolean类型
if (money >= 5) {
System.out.println("煎饼果子来一套");
// 可以不要的语句
money -= 5;
}
// if大括号外代码
System.out.println("钱不够买煎饼果子");
}
}
/*
判断是否闰年
*/
class Demo2 {
public static void main (String[] args){
//年份是一个整数, 使用int类型
int year = 2009;
//闰年的条件为能被4整除但不能被100整除, 或 能被400整除
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ) {
System.out.println("这是闰年");
}
System.out.println("if 语句之外的语句");
}
}
2.2 if else 分支
if else 分支结构格式:
if (/* 条件判断 */) {
// true语句体
} else {
// false语句体
}
/*
例子:
月收入5000以上缴税
月收入5000以下不需要缴税
*/
class Demo3 {
public static void main(String[] args){
// 工资是一个浮点类型数据, 这里使用double
double salary = 4999.0;
/*
语句体/代码块:
大括号以内的内容
*/
if (salary > 5000) {
System.out.println("我为国家做贡献");
} else {
System.out.println("我会继续努力,争取为国家做贡献");
}
}
}
2.3 if else if 分支结构
if else if 分支结构格式:
if (/* 条件匹配1 */) {
// 语句体
} else if (/* 条件匹配2 */) {
// 语句体
} else if (/* 条件匹配3 */) {
// 语句体
} else if (/* 条件匹配4 */) {
// 语句体
} else {
// 无匹配项最终处理方式
}
/*
【注意】
else if 的个数并不限制, 可以有多个, 但是编程规范要求最多一个语句体里不超过80行代码
*/
/*
例子:
消费:
100 ~ 1000 铜牌会员
1001 ~ 5000 银牌会员
5001 ~ 10000 金牌会员
10001 ~ 50000 钻石会员
50001 以上 黑钻会员
*/
class Demo8 {
public static void main (String[] args) {
// 用户消费数据按照int类型考虑
int money = 20;
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("不是会员");
}
}
}
3. 知识点补充 - Scanner
疑问:
以上程序都需要用户修改代码才可得出结论, 这对于普通用户来说操作可行性有多大? - 不现实
解决方法:
我们需要提供一种方式来接收用户输入的数据.
[Scanner是Java中提供的用于从控制台输入数据到代码中的一种方式, 存在一些弊端, 也容易导致一些错误, 所以只了解一些必要的方法.]
Scanner使用流程:
1. 【导包】
固定格式:
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();
获取cahr类型
char类型的变量 = sc.nextLine().charAt;
/*
例子
*/
import java.util.Scanner;
class Demo10 {
public static void main (String[] args) {
float score;
System.out.println("请输入学生的成绩:");
// 需要得到一个Scanner的变量
Scanner sc = new Scanner (System.in);
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("让你爹穿着拖鞋来学校一趟");
}
}
}
知识点补充:
作为一个程序员, 必须时刻注意【用户粘性问题】, 【用户提示】 以及 【用户友好性】. 需要给予用户足够的提示和引导, 同时也要考虑自身代码的友好性和可读性.
4. 总结
分支结构是用于处理代码中出现的一些需要判断的场景, 并且根据判断作出相应的处理.
我们需要注意以下几点:
1. 条件约束考虑清楚.
2. 处理的过程考虑清楚
3. 数据类型选择考虑清楚
本文深入讲解Java中的顺序、分支和循环结构,重点介绍if、if-else和if-elseif分支结构的应用实例,包括条件判断、用户输入处理及编程规范建议。

3068

被折叠的 条评论
为什么被折叠?



