JAVA 里的程序控制语句主要分为顺序结构、分支结构(选择)和循环结构。
顺序结构
顺序结构比较简单,按照代码的先后顺序一行一行的执行。
代码顺序发生改变后,相应的执行结果也会发生改变。
分支结构
if 语句
格式一:如果布尔表达式结果为 true,则执行花括号里的语句,否则不执行。
if (布尔表达式){
//语句
}
例如:
格式二:如果布尔表达式结果为 true,则执行 if 中语句,否则执行 else 中语句。
if(布尔表达式){
// 语句1
}else {
// 语句2
}
例如:
格式三:表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3。if 语句可以有多个 else if 语句,它们必须在 else 语句之前。
if(布尔表达式1){
// 语句1
}else if(布尔表达式2){
// 语句2
}else{
// 语句3
}
例如:
if 语句注意:
-
if 条件后写了分号:这会导致无论条件成不成立,都会运行括号里的语句。
-
else 总是与最近的 if 匹配:
下面这个什么都不会输出是因为,a 不等于5,而 else 和 if (b==10) 匹配,所以什么也不会输出。如果 a 等于5,就会判断 b 等不等与10。为了避免这种不容易阅读的代码,我们添加括号就行。
添加括号后:
这时 else 就与第一个 if 匹配了。
switch 语句
先执行 switch 后的表达式,看表达式的值和 case 中的哪一个相等,和哪个相等就执行 case 的语句,如果都不相等,就执行 default 里的语句。
switch 格式:
switch (表达式) {
case 常量值1: {
语句1;
break;
}
case 常量值2: {
语句2;
break;
}
...
default: {
内容都不满足时执行语句;
break;
}
}
使用案例:
public static void main(String[] args) {
int day=5;
switch (day) {
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;
}
}
}
执行结果:
switch-case 语句注意:
- 多个 case 后的常量值不可以重复。
- switch 的括号内只能是以下类型的表达式:
基本类型:byte、char、short、int,注意不能是 long 、float、double 类型。
引用类型:String 常量串、枚举类型。
- break 不能遗漏,否则就会执行多个 case ,执行到有 break 的地方才会停止。
循环结构
顺序结构的程序语句只能被执行一次,如果想重复执行的话,可以使用循环结构。Java 中有三种主要的循环结构:
while 循环;do…while 循环和 for 循环。
while 循环
while 格式:
while(循环条件){
循环语句;
}
循环条件为 true,则进入循环体执行循环语句,直到循环条件为 false。
例如打印 5 4 3 2 1:
注意:
while 下面不写 { } 时,只会执行一条语句。
while 后面写上 ;时,可能会导致程序不能正常运行。
break:
break 的功能是让循环提前结束。
使用场景:找到 100 - 200 中第一个 7 的倍数
continue:
continue 的功能是跳过本次循环,进入下一次循环。
使用场景: 输出 10 到 50 之间 5 的倍数。
for 循环
for 循环格式:
for(表达式1;布尔表达式2;表达式3){
循环体语句;
}
表达式1:用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次。也可放在 for 循环外。
表达式2:循环条件,满足则循环继续,否则循环结束。
表达式3:循环变量更新方式。
执行过程:
① 执行表达式1(初始化)→ ② 判断布尔表达式是否成立 → ③ 成立就进入循环体,执行循环体里的语句 → ④ 执行表达式3 。重复②③④,直到布尔表达式为 false 时,循环结束。
使用案例:打印 0 到 20 之间 5 的倍数:
注意事项和上面的循环类似,改写的 { } 要写,不该写的分号不要写,当满足某个条件时,也可以使用 continue 跳过 和 break 退出。
do while 循环
前面的 while 循环是满足条件就会进入循环体执行,而 do…while 语句,条件不满足时,也会执行一次,条件满足时就会执行到条件不满足为止。
do while 格式:
do{
循环语句;
}while(循环条件);
先执行循环语句,再判定循环条件,循环条件成立则继续执行,否则循环结束。
使用场景:下面这个程序中,即使不满足条件也会执行一次循环语句。
注意: do…while 语句中,while 后面是有分号的。
输入输出
输出到控制台
输出到控制台:
System.out.println( ); //输出一个字符串,带换行
System.out.print( ); //输出一个字符串,不带换行
System.out.printf( ); //格式化输出,和 C 语言的 printf 类似
代码示例:
从键盘输入
使用 Scanner 读取字符串、整数、浮点数。
import java.util.Scanner; // 需要导入 util 包
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.nextLine(); //获取字符串
System.out.println("请输入你的年龄:");
int age = sc.nextInt(); //获取整数
System.out.println("请输入你的身高:");
float height = sc.nextFloat(); //获取浮点数
System.out.println("你的信息如下:");
System.out.println("姓名: " + name + "\n" + "年龄:" + age + "\n" + "身高:" + height);
sc.close(); // 注意, 要调用关闭方法
}
运行结果:
以上就是 Java 的循环语句以及输入输出的基本使用,如有错误,还望指出。如有帮助,还望支持。感谢!!!