目录
顺序结构
分支结构
if语句
switch语句
循环结构
while循环
break关键字
continue关键字
for循环
do-while循环
输入输出
输出到控制台
从键盘输入
使用 Scanner 读取字符串/整数/浮点数
使用 Scanner 循环读取 N 个数字
顺序结构
在单线程场景下,按照代码顺序一行行执行
System.out.println("a"); System.out.println("b"); System.out.println("c"); System.out.println("d"); //输出 a b c d分支结构 if语句
基本语法格式
//第一种情况 if(布尔表达式){ //条件满足时执行代码 } //第二种情况 if(布尔表达式){ //条件满足时执行代码 }else{ //条件不满足时执行代码 } //第三种情况-多分支 if(布尔表达式){ //条件满足时执行代码 }else if(布尔表达式){ //条件满足时执行代码 }else{ //条件都不满足时执行代码 }
注意1:悬垂else问题
int x = 10; int y = 10; if (x == 10) if (y == 10) System.out.println("aaa"); else System.out.println("bbb");
if / else 语句中可以不加大括号 ,但是也可以写语句(只能写一条语句)
此时 else 是和最接近的 if 匹配(不建议)
注意2:;问题
int x = 20; if (x == 10); { System.out.println("abc"); } // 运行结果abc
多写了一个 分号,导致分号成为了 if 语句的语句体,而 { } 中的代码已经成为了和一个 if 无关的代码块
switch语句 switch 中的值只能是 整型|字符|枚举| 字符串 基本语法格式switch(整数|字符|枚举|字符串){ case 内容1 : { 内容满足时执行语句; [break;] } case 内容2 : { 内容满足时执行语句; [break;] } ... default:{ 内容都不满足时执行语句; [break;] } }
根据 switch 中值的不同,会执行对应的 case 语句, 遇到 break 就会结束该 case 语句,没有break就会一直向下执行如果 switch 中的值没有匹配的 case,就会执行 default 中的语句switch 不能表达复杂的条件
循环结构 while循环基本语法格式
while(循环条件){ 循环语句; }
注意
和 if 类似,while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句, 建议还是加上 { } 和 if 类似, while 后面的 { 建议和 while 写在同一行 和 if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行 break关键字 break 的功能是让循环提前结束 执行到 break 就会让循环结束 continue关键字 continue 的功能是跳过这次循环, 立即进入下次循环 执行到 continue 语句的时候 , 就会立刻进入下次循环 ( 判定循环条件 ) 从而不会执行到下方的打印语句 for循环
基本语法格式
for(表达式1;表达式2;表达式3){ 循环体; } //表达式1: 用于初始化循环变量 //表达式2: 循环条件 //表达式3: 更新循环变量注意 ( 和 while 循环类似 )
和 if 类似, for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { } 和 if 类似, for 后面的 { 建议和 while 写在同一行. 和 if 类似, for 后面不要多写 分号, 否则可能导致循环不能正确执行
do-while循环
基本语法格式
do{ 循环语句; }while(循环条件);先执行循环语句, 再判定循环条件 输入输出 输出到控制台
System.out.println(msg); // 输出一个字符串, 带换行 System.out.print(msg); // 输出一个字符串, 不带换行 System.out.printf(format, msg); // 格式化输出从键盘输入 使用 Scanner 读取字符串/整数/浮点数
import java.util.Scanner; // 需要导入 util 包 Scanner sc = new Scanner(System.in); System.out.println("请输入你的姓名:"); String name = sc.nextLine(); System.out.println("请输入你的年龄:"); int age = sc.nextInt(); System.out.println("你的信息如下:"); System.out.println("姓名: "+name+"n"+"年龄:"+age+"n"); sc.close();使用 Scanner 循环读取 N 个数字
Scanner sc = new Scanner(System.in); double sum = 0.0; int num = 0; //读取多个double类型的数据 while (sc.hasNextDouble()) { double tmp = sc.nextDouble(); sum += tmp; num++; } System.out.println("sum = " + sum); System.out.println("avg = " + sum / num); sc.close(); //输出 请输入数字: 16 56 89.9 ^D sum = 161.9 avg = 53.96666666666667
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)