文章目录
- 顺序结构
- 分支结构
- 循环结构
- 输入输出
- 猜数字
一、顺序结构
所谓顺序结构就是程序一步一步的往下执行。
public class 顺序结构 {public static void main(String[] args) {System.out.println("Hello");System.out.println("World");System.out.println("!");}
}
二、分支结构
if语句
语法格式1 :
if(布尔表达式){// 语句}
public class 分支结构 {public static void main(String[] args) {int score=85;if(score>=85)System.out.println("excellent");}
}
语法格式2:if(布尔表达式){// 语句1}else{// 语句2}
public class 分支结构 {public static void main(String[] args) {int score=80;if(score>=85)System.out.println("excellent");else if(score>=70)System.out.println("just so so");}
}
语法格式3:if(布尔表达式1){// 语句1}else if(布尔表达式2){// 语句2}else{// 语句3}
public class 分支结构 {public static void main(String[] args) {int score=50;if(score>=85)System.out.println("excellent");else if(score>=70)System.out.println("just so so");else System.out.println("bad score");}
}
switch 语句switch(表达式){case 常量值1:{语句1;[break;]}case 常量值2:{语句2;[break;]}...default:{内容都不满足时执行语句;[break;]}}
public class 分支结构 {public static void main(String[] args) {int day = 1;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;}}
}
注意:多个case后的常量值不可以重复
switch的括号内只能是以下类型的表达式:
基本类型:byte、char、short、int,注意不能是long类型
引用类型:String常量串、枚举类型
三、循环结构
while循环
while(循环条件){循环语句;}
public class 循环结构{public static void main(String[] args) {int n = 1;int result = 0;while (n <= 100) {result += n;n++;}System.out.println(result);}
}
break
break 的功能是让循环提前结束.
public class 循环结构{public static void main(String[] args) {int num = 100;while (num <= 200) {if (num % 3 == 0) {System.out.println("找到了 3 的倍数, 为:" + num);break;}num++;}}
}
continue
continue 的功能是跳过这次循环, 立即进入下次循环
public class 循环结构{public static void main(String[] args) {int num = 100;while (num <= 200) {if (num % 3 != 0) {num++; // 这里的 ++ 不要忘记! 否则会死循环.continue;}System.out.println("找到了 3 的倍数, 为:" + num);num++;}}
}
for循环
基本语法:
for(表达式①;布尔表达式②;表达式③){表达式④;}
表达式1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次表达式2: 循环条件,满则循环继续,否则循环结束表达式3: 循环变量更新方式
public class 循环结构{public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}System.out.println("sum = " + sum);}
}
do-while循环
基本语法:
do{循环语句;}while(循环条件);
public class 循环结构{public static void main(String[] args) {int num = 1;do {System.out.println(num);num++;} while (num <= 10);}
}
四、输入输出
输出到控制台
基本格式:System.out.println(msg); // 输出一个字符串, 带换行System.out.print(msg); // 输出一个字符串, 不带换行System.out.printf(format, msg); // 格式化输出
注意:
println 输出的内容自带 \n, print 不带 \n
printf 的格式化输出方式和 C 语言的 printf 是基本一致的.
从键盘输入
使用 Scanner 读取字符串/整数/浮点数
import java.util.Scanner;public class 循环结构{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 salary = sc.nextFloat();System.out.println("你的信息如下:");System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);}
}
使用 Scanner 循环读取 N 个数字,并求取其平均值
import java.util.Scanner;public class 循环结构{public static void main(String[] args) {Scanner sc = new Scanner(System.in);int sum = 0;int num = 0;while (sc.hasNextInt()) {int tmp = sc.nextInt();sum += tmp;num++;}System.out.println("sum = " + sum);System.out.println("avg = " + sum / num);sc.close();}
}
注意: 当循环输入多个数据的时候, 使用 ctrl + d来结束输入 .
猜数字
import java.util.Random;
import java.util.Scanner;public class 猜数字{public static void main(String[] args) {Random random = new Random(); // 默认随机种子是系统时间Scanner sc = new Scanner(System.in);int toGuess = random.nextInt(100);
// System.out.println("toGuess: " + toGuess);while (true) {System.out.println("请输入要输入的数字: (1-100)");int num = sc.nextInt();if (num < toGuess) {System.out.println("低了");} else if (num > toGuess) {System.out.println("高了");} else {System.out.println("猜对了");break;}}sc.close();}
}