</ hr>
if (/* 判断语句 true false */) {
// 语句体
}
/*
执行流程:
当程序运行到if结构时,首先判断if之后的小括号里边的判断语句是否为true,如果为true,执行语句体,如果为false,执行大括号以外的内容。
*/
if (/* 判断语句 true false */) {
// true语句体
} else {
// false语句体
}
/*
执行流程:
当程序运行到if - else结构时,首先判断if之后的小括号里边的判断语句结果是什么,如果为true,执行true语句体,如果为false,执行false语句体。
世界上最遥远的距离是你在if里我在else里
*/
if (/* 条件匹配 1 */) {
// 处理方式1
} else if (/* 条件匹配 2 */) {
// 处理方式2
} else if (/* 条件匹配 3 */) {
// 处理方式3
} else {
// 没有任何匹配情况下的最终处理方式
}
/*
执行流程:
当程序运行到if - else if结构时,匹配if之后的条件,执行对应的处理方式,如果没有任何一个条件匹配,执行else里边的处理方式
学生成绩:
90 ~ 100 优秀
80 ~ 90 良好
70 ~ 80 中等
60 ~ 70 及格
60以下 不及格
if (score >= 90) {
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("你的成绩等级为:不及格");
}
*/
switch (/* 条件匹配 */) {
case /* 常量1 */:
/* 处理方式1 */
break;
case /* 常量2 */:
/* 处理方式2 */
break;
case /* 常量3 */:
/* 处理方式3 */
break;
default:
/* 最终处理方式 */
break;
}
/*
执行流程:
当程序运行到switch - case 结构,使用switch之后小括号中的变量,匹配case之后的【常量】,找到对应的数据,按照对应的处理方式进行,如果没有任何一个条件匹配,执行default里边的处理方式
注意事项;
1. case 选择不能出现重复内容
2. break可以省略,代码会继续执行到下一个break或者switch - case 大括号
3. default可以省略,如果不需要可以不写default结构
*/
在代码中,出现了大量的重复功能,使用CV大法可以解决,但是会导致以下问题:
1. 代码过于臃肿!!!
2. 代码阅读性极差!!!
3. 代码的维护性极差!!!
while (/* 循环条件判断 */) {
// 循环体
// (循环条件变更)
}
/*
执行流程;
代码执行到while循环结构时,首先判断while之后的循环条件是否为true,如果为true执行循环体(带有循环条件变更),知道while之后的条件为false,终止循环!!
在DOS窗口中终止循环的方式 Ctrl + C
*/
do {
// 循环体
// 循环条件变更
} while (/* 循环条件判断 */);
/*
执行流程;
代码执行到do-while循环结构时,首先执行循环体(循环变更条件),再来判断while 之后的循环条件,如果循环条件为true,继续循环,直到条件为false,终止循环!!!
*/
while循环执行每一次循环体,都是在循环条件下执行的,而 do - while 第一次执行循环体,是没有任何的约束的。
所以,如果在开发中可以使用也可以使用do-while时,建议尽量使用while循环
for (/*循环初始化条件*/;/*循环条件判断*/;/*循环条件变更*/) {
// 循环体
}
for循环使用案例
import java.util.Scanner;
class Demo6{
public static void main(String[] args){
// 1. 展示100以内的所有偶数
/*
1. 循环执行多少次? 101
2. 判断执行多少次? 101
*/
for (int i = 0; i <= 100; i++) {
if (i % 2 == 0) {
System.out.println(i);
}
}
/*
1. 循环执行多少次? 51
节约了75%
*/
for (int j = 0; j <= 100; j += 2) {
System.out.println(j);
}
// 2. 逢7过!!!
/*
7的倍数
num % 7 == 0
带7的数
个位是7
17 ÷ 10 = 1 ... 7
num % 10 == 7
十位是7
70 / 10 = 7
num / 10 = 7
*/
for (int sun = 0; num <= 100; num++) {
if (num % 7 == 0 || num % 10 == 7 || num /10 = 7){
System.out.println("过");
} else {
System.out.println(sum);
}
}
/*
3. 例如:
输入 5 8
计算 5 + 6 + 7 + 8
输出 26
*/
int sum = 0;
int num1 = 0;
int num2 = 0;
Sanner sc = new Scanner(System.in);
System.out.println("请输入两个整数");
num1 = sc.nextInt();
num2 = sc.nextInt();
//判断用户输入的数据到底是哪一个数值大,使用交换保证num2的值是大于num1的值
if (num1 > num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
for (int i = num1; i <= num2; i++) {
sum + = i;
}
}
}
Scanner的使用
代码中需要用户修改数据,从而满足其他需求,但是我们不能要求用户修改代码,重新编译,重新执行!需要在代码中提供一个让用户输入数据的方式:
1. 点技能点!!!【导包】
在class之前
import java.util.Scanner;
2. 创建一个Scannner的“变量”
Scanner sc = new Scanner(System.in);
3. 使用Scanner扫描器中的一些方法,从键盘上获取用户输入的数据
获取int类型数据 int num = sc.nextInt();
获取float类型数据 float num = sc.nextFloat();
获取double类型数据 double num = sc.nextDouble();
获取char类型数据 char num = sc.nextLine().charAt(0);
用户友好型考虑
提示用户属兔数据,提供用户下一步应该做什么事情!!!
用户输入数据的合法性判断
程序的运行需要正确的数据,如果用户输入的数据时不合法,我们需要告知用户,重新输入!!
使用 if 语句
原文:https://www.cnblogs.com/zhuangyunliang/p/12324224.html