04.选择语句与循环语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04.选择语句与循环语句相关的知识,希望对你有一定的参考价值。
一、键盘录入数据
源码程序:
/* 为了是程序更灵活,引入键盘录入模块 如何实现键盘录入? A:导包 格式: import java.util.Scanner B:创建键盘录入对象 格式: Scanner sc = new Scanner(System.in) C:通过对象获取数据 格式: int x = sc.nextInt() */ import java.util.Scanner; class ScannerDemo { public static void main(String[] args) { //创建键盘录入对象 Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int x = sc.nextInt(); System.out.println("你输入的数据是:"+x); } }
运行结果:
二、流程控制语句
- 顺序结构
- 选择结构
- 循环结构
1.Java提供了两种选择结构语句:
- if 语句
- switch 语句
if 语句的三种格式:
格式1:
/* if语句的格式: if(比较表达式) { 语句体; } 执行流程: 先计算比较表达式的值,看其返回值是true还是false。 如果是true,就执行语句体; 如果是false,就不执行语句体; */
举例说明:
class IfDemo { public static void main(String[] args) { int x = 10; if(x == 10) { System.out.println("x等于10"); } if(x == 20) { System.out.println("x等于20"); } System.out.println("over"); } }
格式2:
/* if语句格式2: if(比较表达式) { 语句体1; }else { 语句体2; } 执行流程: 首先计算比较表达式的值,看其返回值是true还是false。 如果是true,就执行语句体1; 如果是false,就执行语句体2; 注意:else后面是没有比较表达式的,只有if后面有。 */
举例说明:
class IfDemo { public static void main(String[] args) { //判断两个数据是否相等 int a = 10; int b = 20; if(a == b) { System.out.println("a等于b"); }else { System.out.println("a不等于b"); } } }
格式3:
/* if语句的格式3: if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else if(比较表达式3) { 语句体3; } ... else { 语句体n+1; } 执行流程: 首先计算比较表达式1看其返回值是true还是false, 如果是true,就执行语句体1,if语句结束。 如果是false,接着计算比较表达式2看其返回值是true还是false, 如果是true,就执行语句体2,if语句结束。 如果是false,接着计算比较表达式3看其返回值是true还是false, ... 如果都是false,就执行语句体n+1。 */
举例说明:
//需求:键盘录入一个成绩,判断并输出成绩的等级。 /* 90-100 优秀 80-90 好 70-80 良 60-70 及格 0-60 不及格 */
import java.util.Scanner; class IfDemo { public static void main(String[] args){ //创建键盘录入对象 Scanner sc = new Scanner(System.in); //录入数据 System.out.println("你输入的成绩是:"); int x = sc.nextInt(); if(x>=90 && x<=100) { System.out.println("优秀"); }else if(x>=80 && x<90) { System.out.println("好"); }else if(x>=70 && x<80) { System.out.println("良"); }else if(x>=60 && x<70) { System.out.println("及格"); }else if(x>=0 && x<60) { System.out.println("不及格"); }else { System.out.println("你输入成绩有误!"); } } }
运行结果:
switch 语句
/* switch语句格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; break; } switch语句的注意事项: A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的 */
import java.util.Scanner; class SwitchDemo { public static void main(String[] args) { //创建键盘录入对象 Scanner sc = new Scanner(System.in); //控制键盘录入数据 System.out.println("请输入一个数据(1-7):"); int week = sc.nextInt(); //3 //定义常量 //int number = 3; //然后把case后面的值改为number,就会报错 //switch判断语句 switch(week) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("你输入的数据有误"); //break; } } }
2.Java提供了三种循环结构语句:
- for 循环语句
- while 循环语句
- do...while循环语句
for 循环语句举例说明:
/* 循环语句:for循环,while循环,do...while循环。 for循环格式: for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; } 执行流程: A:执行初始化语句 B:执行判断条件语句,看其返回值是true还是false 如果是true,就继续执行 如果是false,就结束循环 C:执行循环体语句; D:执行控制条件语句 E:回到B继续。 注意事项: A:判断条件语句无论简单还是复杂结果是boolean类型。 B:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。 C:一般来说:有左大括号就没有分号,有分号就没有左大括号 需求:请在控制台输出10次"HelloWorld" */ class ForDemo { public static void main(String[] args) { //最原始的做法 System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("----------"); //这种做法不好,代码的重复度太高。 //所以呢,我们用循环改进 for(int x=1;x<=10;x++) { System.out.println("HelloWorld"); } } }
while循环语句举例说明:
/* while循环的基本格式: while(判断条件语句) { 循环体语句; } 扩展格式: 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } 通过这个格式,我们就可以看到其实和for循环是差不多的。 for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; } */ class WhileDemo { public static void main(String[] args) { //输出10次"HelloWorld" //for语句版 for(int x=0; x<10; x++) { System.out.println("HelloWorld"); } System.out.println("--------------"); //while语句版 int x=0; while(x<10) { System.out.println("HelloWorld"); x++; } } }
总结:上诉代码可以看出for循环和while循环之间可以进行自由的切换
do...while循环语句举例说明:
/* do...while循环的基本格式: do { 循环体语句; }while(判断条件语句); 扩展格式; 初始化语句; do { 循环体语句; 控制条件语句; }while(判断条件语句); */ class DoWhileDemo { public static void main(String[] args) { //输出10次HelloWorld。 int x = 0; do { System.out.println("HelloWorld"); x++; }while(x<10); System.out.println("--------------"); //求和1-100 int sum = 0; int a = 1; do { sum += a; a++; }while(a<=100); System.out.println(sum); } }
总结:do...while 和while的区别,以及与for循环之间的自由切换
/* 循环语句的区别: do...while循环至少执行一次循环体。 而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。 那么,我们一般使用哪种循环呢? 优先考虑for,其次考虑while,最后考虑do...while */
三、跳转语句
- break(跳出单层循环)
- continue(跳出一次循环,进入下次循环)
- return(结束整个方法)
举例说明:
以上是关于04.选择语句与循环语句的主要内容,如果未能解决你的问题,请参考以下文章