文章目录
一、从键盘录入数据
1. 导包
- 在类的上面输入:import java.util.Scanner;
2. 创建一个从键盘录入的对象
- Scanner in = new Scanner(System);
3. 接收键盘输入数据
- int input = in.nextInt();//接收int型数据
- String input = in.nextLine();//接收字符串类型的数据
- double input = in.nextDouble();//接收double型的数据
- ……还有很多,不同类型的都有,这里就不一一赘述了
二、顺序结构语句
1. 流程控制概念
- 什么是流程控制语句?
在程序执行过程中,每一条语句的执行顺序都会对程序最终的结果产生影响,我们可以通过流程控制语句来控制语句执行的顺序。
2. 流程控制语句的分类
- 顺序结构
- 选择结构
- 循环结构
3. 顺序结构语句
- 是最基本的流程控制语句,按照语句先后顺序,从上往下,依次执行,是程序中大部分代码的执行顺序
三、选择结构语句
1. If 语句
-
格式一
if(比较表达式或boolean类型的值){ 语句体; }
-
执行流程
先计算if后括号内的值,如果为true,则执行语句体,如果为false,则不执行语句体。 -
格式二
if(比较表达式或boolean类型的值){ 语句体1; }else{ 语句体2; }
-
执行流程
先计算if后表达式的值,如果为true,就执行语句体1,如果为false,就执行语句体2 -
格式三
if(比较表达式或boolean类型的值1){ 语句体1; }else if(比较表达式或boolean类型的值2){ 语句体2; }else if(比较表达式或boolean类型的值3){ 语句体3; } …… else { 语句体n+1; }
-
执行流程
先计算表达式1的值,如果是true就执行语句体1,if语句结束;如果是false就接着计算表达式2 ,如果是true,就执行语句体2,if语句结束,如果还是false,接着执行表达式3,如果是true,就执行语句体3,if语句结束,如果……,如果都是false,就执行语句体n+1。
只要有一个条件满足,if语句就执行该条件下的语句体,if语句结束,如果都不满足,就执行else下的语句体。
2. if 语句练习
// 键盘输入一个x,求y的值
// x >= 3 y = 2 x + 1;
// -1<= x < 3 y = 2 x;
// x< -1 y = 2 x –1;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入x:");
double x = in.nextDouble();
if (x >= 3) {
System.out.println("y的值是:" + (2 * x + 1));
} else if (x >= 1 && x < 3) {
System.out.println("y的值是:" + (2 * x));
} else {
System.out.println("y的值是:" + (2 * x - 1));
}
}
3. switch语句
-
格式
switch(表达式){ case值1: 语句体1; break; case值2: 语句体2; break; case值3: 语句体3; break; …… default: 语句体n+1; break; }
-
执行流程
先计算表达式的值,然后逐次和case后的值进行比较,如果相等,就执行该case内的语句,遇到break结束;如果都匹配不到,就执行default后的语句。 -
注意
case后的值只能是常量,不能是变量,且多个case后的值不能相等;switch语句碰到break关键字就会结束,如果一个case语句下的语句体执行完后没有碰到break,那么就会接着执行下一个case中的语句体,直到遇见break或全部语句体执行完,switch语句结束。
4. switch语句练习
-
键盘录入月份,输出对应的季节
public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入月份,我们将为你输出对应的季节"); int month = in.nextInt(); switch (month) { case 3: case 4: case 5: System.out.println(month + "月对应的是春天"); break; case 6: case 7: case 8: System.out.println(month + "月对应的是夏天"); break; case 9: case 10: case 11: System.out.println(month + "月对应的是秋天"); break; case 12: case 1: case 2: System.out.println(month + "月对应的是冬天"); break; default: System.out.println("你输入的月份有误!"); break; } }
5. if 语句和 switch 语句的区别
- 当要比较某些点值时,switch 语句比较好用,比如月份、星期等;当要比较某个区间的值时,用 if 比较合适。
三、循环语句
1. for 循环
-
什么是循环结构
在满足循环条件的情况下,反复执行某一段代码的结构称为循环结构,被重复执行的代码叫做循环体,循环结构需要一个条件结束循环,不然就会形成死循环。 -
for 循环结构
for(初始化表达语句;判断条件语句;控制条件语句){ 循环体语句; }
-
执行流程
- 进行初始化表达语句
- 执行判断条件语句,如果为true,继续执行;如果为false,跳出循环,循环结束
- 为true执行循环体语句
- 执行控制条件语句
- 执行判断条件语句,为true继续执行循环体语句,为false跳出循环,循环结束
- 为true执行循环体语句
- 执行条件判断语句
- ……
-
注意:初始化表达语句只执行一次
2. for 循环练习
-
需求:求出1-100之间偶数和
public static void main(String[] args) { int sum = 0; for (int i = 1; i <= 100; i++) { if (i % 2 == 0) { sum = sum + i; } } System.out.println(sum); }
3. while循环
-
while循环结构
初始化条件语句; while(判断条件语句) { 循环体语句; 控制条件语句; }
-
执行流程
- 执行初始化条件语句
- 执行条件判断语句,若为true,继续执行循环体语句;若为false,结束循环
- 执行循环体语句
- 执行控制循环语句
- 执行条件判断语句,若为true,继续执行循环语句;若为false,结束循环
- ……
4. while循环练习
-
求和: 求1-100之和
public static void main(String[] args) { int sum = 0; int i = 1; while (i <= 100) { sum += i; i++; } System.out.println(sum); }
5. do while循环
-
do while循环语句格式
初始化条件语句; do { 循环体语句; 控制条件语句; }while(判断条件语句);
-
执行流程
- 执行初始化条件语句
- 执行循环体语句
- 执行控制条件语句
- 执行判断条件语句,若为true,继续循环;若为false,跳出循环
- 若为true,执行循环体语句
- 执行控制条件语句
- ……
6. do while循环练习
- 请在控制台输出数据1-10
public static void main(String[] args) { int i = 1; do { System.out.println(i); i++; } while (i <= 10); }
7. for、while、do while 三种循环的区别
-
do while 循环至少执行一次,而 for 和 while 可以一次也不执行
-
如果已知循环次数,用for循环方便;如果只知道循环结束条件,用while循环
-
如果想在循环过后继续使用控制条件变量,用while循环,否则用for循环
-
建议优先使用for循环,再是while循环,最后是do while循环
-
注意:一定要注意控制循环的变量,不然容易造成死循环
-
练习:在控制台输出九九乘法表
public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(j + "*" + i + "=" + (j * i) + "\t"); } System.out.println(); } }
四、控制跳转语句
1. break语句
- 控制跳转语句分类
- break:中断整个循环
- continue:跳过当次循环
- return:退出当前方法
- break使用场景
- 在选择switch语句中
- 再循环语句中
- 作用
- 退出单层循环
直接在要中断的地方加break - 退出多层循环
使用标签,格式为:标签名: ,break 标签名;,就会退出到标签所在层
- 退出单层循环
2. continue语句
- continue使用场景
循环语句中 - 作用
跳过当次循环,继续下一次循环
3.return语句
- 作用退出当前方法,跳转到上层调用的方法处
- 关于return在方法中的具体使用会在后续文章中讲解。
转载:https://blog.csdn.net/qq_44495081/article/details/102077432