目录
逻辑控制语句
1.分支语句
1.1 If语句
1.2 switch语句
2. 循环语句
2.1 While循环
2.2 For循环
2.3 Do while循环
输入输出
1.输入
2.输出
猜数字小游戏
If语句的三种基本语法形式:
基本语法形式1:
if(布尔表达式){ //条件满足时执行代码 }
基本语法形式2:
if(布尔表达式){ //条件满足时执行代码 }else{ //条件不满足时执行代码 }
基本语法形式3:
if(布尔表达式){ //条件满足时执行代码 }else if(布尔表达式){ //条件满足时执行代码 }else{ //条件都不满足时执行代码 }
具体实例:
代码示例1:根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
import java.util.Scanner; public class TestDemo{ public static void main(String[] args) { //根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上) Scanner scan = new Scanner(System.in); while(scan.hasNextInt()){ int y = scan.nextInt(); if(y<=18){ System.out.println("少年"); }else if(y>18&&y<=28){ System.out.println("青年"); }else if(y>28&&y<=55){ System.out.println("中年"); }else{ System.out.println("老年"); } } } }
代码示例2:判断某一年是否是闰年
import java.util.Scanner; public class TestDemo{ public static void main(String[] args) { //判断某一年是否是闰年 Scanner scan = new Scanner(System.in); while(scan.hasNextInt()){ int y = scan.nextInt(); if((y % 4 == 0 && y % 100 != 0) || y & 400 == 0){ System.out.println("是闰年"); }else{ System.out.println("不是闰年"); } } }
基本语法形式:
switch(整数|枚举|字符|字符串){ case 内容1: 内容满足时执行的语句; break; case 内容2: 内容满足时执行的语句; break; ... default : 内容都不满足时,执行的语句; break; }
注: switch括号中不能写的类型有: long double float boolean
具体实例:
代码示例1:
import java.util.Scanner; public class TestDemo{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); while(scan.hasNextInt()){ int day = scan.nextInt(); 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; } } } }
代码示例2: 在用switch时,最好不要不写break
import java.util.Scanner; public class TestDemo{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); while(scan.hasNextInt()){ int day = scan.nextInt(); switch (day) { case 1: System.out.println("星期一"); case 2: System.out.println("星期二"); case 3: System.out.println("星期三"); case 4: System.out.println("星期四"); case 5: System.out.println("星期五"); case 6: System.out.println("星期六"); case 7: System.out.println("星期天"); default: System.out.println("输入错误,请重新输入"); break; } } } }
运行结果如图:
基本语法格式:
while(循环条件){ 循环语句; }
注:循环条件为true,则执行循环语句;否则结束循环.
具体实例:
代码示例1:计算5的阶乘
public class TestDemo { public static void main(String[] args) { public static void main9(String[] args) { // 计算 5 的阶乘 int num = 1; int sum = 1; while(num<=5){ sum*=num; num++; } System.out.println(sum); } } }
代码示例2:计算 1! + 2! + 3! + 4! + 5!
public class TestDemo { public static void main(String[] args) { // 计算 1! + 2! + 3! + 4! + 5! int num = 1; int sum = 0; while(num<=5){ int tmp = 1; int ret = 1; while(ret<=num){ tmp*=ret; ret++; } num++; sum+=tmp; } System.out.println(sum); } }
基本语法形式:
for(表达式1:表达式2:表达式3){ 循环体; }
- 表达式1:用于初始化循环变量.
- 表达式2:循环条件.
- 表达式3:更新循环变量.
具体实例:
代码示例1:计算5的阶乘
public class TestDemo { public static void main(String[] args) { // 计算 5 的阶乘 int num = 1; int sum = 1; for(num=1;num<=5;num++){ sum*=num; } System.out.println(sum); } }
代码示例2:计算 1! + 2! + 3! + 4! + 5!
public class TestDemo { public static void main(String[] args) { // 计算 1! + 2! + 3! + 4! + 5! int n = 1; int sum =0; for(n=1;n<=5;n++){ int ret=1; int tmp=1; for(ret=1;ret<=n;ret++){ tmp*=ret; } sum+=tmp; } System.out.println(sum); } }
基本语法形式:
do{ 循环语句; }while(循环条件);
do while语句先执行循环语句,再判定条件.
具体实例:
代码示例1:
public class TestDemo { public static void main(String[] args) { // 打印 1 - 10 int num = 1; do{ System.out.println(num); num++; }while(num<=10); } }
使用 Scanner 读取字符串/整数/浮点数:
示例:
import java.util.Scanner; public class TestDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); System.out.println(a); } }
import java.util.Scanner; 相当于C语言中的头文件,使用Scanner时,必须要加上.
基本语法形式:
System.out.println(msg); //换行输出 System.out.print(msg); //不换行输出 System.out.printf(format,msg); //格式化输出
- println 输出内容自带 \n , print 不带\n.
- printf 的格式化输出方式和C语言的 pirntf 是基本一致的.
格式化字符串
代码示例1: 编写一个代码模拟三次密码输入的场景
import java.util.Scanner; public class TestDemo { public static void login() { Scanner scanner = new Scanner(System.in); int count = 3; while (count != 0) { System.out.println("请输入你的密码:"); String password = scanner.nextLine(); if (password.equals("123456")) { System.out.println("登陆成功!"); break; } else { count--; System.out.println("你输错密码了,你还有" + count + "次机会! "); } } } public static void main(String[] args) { login(); } }
运行结果:
import java.util.Random; import java.util.Scanner; public class TestDemo{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); Random random = new Random(); int guess = random.nextInt(100); while (true) { System.out.println("请输入你猜的数字:"); int num = sc.nextInt(); if (num < guess) { System.out.println("猜小了"); } else if (num > guess) { System.out.println("猜大了"); } else { System.out.println("猜对了"); break; } } } }
运行结果: