目录
前言:
众所周知,我们学习一门语言要明白其控制语句,控制语句分为:选择语句和循环语句。话不多说,开始我们今天的学习吧!
一、选择语句
1. if语句
语法格式:
if(){
//括号中加判断条件,条件为Boolean形式
; //此处加条件成立的执行语句;
}
else{
;
}
练习:判断一个数字是奇数还是偶数。
int num = 10;
if(num %2 == 1){
System.out.println(num+"是奇数");
}
else{
System.out.println(num+"是偶数");
}
悬垂 else 问题:
在我们写代码时,一定会遇到若干个if与若干个else情况。那么?我们该如何处理这种情况呢?很简单,一言以弊之:else与最近的if配对。
2.switch语句
语法格式:
switch()//表达式{
case //常量值:{
break;//根据具体需求
}
default:{
//都不满足是执行
}
}
执行流程:
1. 先计算表达式的值
2. 和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束
3. 当表达式的值没有与所列项匹配时,执行default
注意:
多个case后的常量值不可以重复
switch的括号内只能是以下类型的表达式: 基本类型:byte、char、short、int,
注意不能是long类型 引用类型:String常量串、枚举类型
break 不要遗漏, 否则会失去 "多分支选择" 的效果
switch 不能表达复杂的条件
练习:根据 day 的值输出星期
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;
}
}
二、循坏语句
1.while 循环
语法格式:
while(){//循坏条件
;//循环语句
}
循环条件为 true, 则执行循环语句; 否则结束循环。
注意事项
1. 和 if 类似, while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句。 建议还是加上 { }
2. 和 if 类似, while 后面的 { 建议和 while 写在同一行。
3. 和 if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行。
练习:计算 1! + 2! + 3! + 4! + 5!
int num = 5;
int sum = 0;
int count = num;
int ret = 1;
while(count >0){
num = count;
ret = 1;
while(num >0 ){
ret *= num ;
num--;
}
count--;
sum +=ret;
}
System.out.println(sum);
2.for循环
语法格式:
for(//条件一;条件二;条件三){
;//循环条件
}
条件1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次
条件2: 循环条件,满则循环继续,否则循环结束
条件3: 循环变量更新方式
注意事项
1. 和 if 类似, for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句。 建议还是加上 { }
2. 和 if 类似, for 后面的 { 建议和 while 写在同一行。
3. 和 if 类似, for 后面不要多写 分号, 否则可能导致循环不能正确执行。
4. 和while循环一样,结束单趟循环用continue,结束整个循环用break。
练习: 计算 1! + 2! + 3! + 4! + 5!
int sum = 0;
for(int i = 1;i <= 5;i++) {
int ret = 1;
for (int j = 1; j <= i; j++) {
ret *= j;
}
sum +=ret;
}
System.out.println(sum);
3.do-while循环
语法格式:
do{
循环语句;
}while(循环条件);
先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。
练习:打印 1 - 10
int num = 1;
do {
System.out.println(num);
num++;
} while (num <= 10);
三、猜数字游戏
我们对于上述结构了解的差不多了,接下来,我们来做一个简单的小项目来巩固一下吧。
补充一个知识点:Random方法(大家可简单理解为:这调用了一个C语言的函数)。调用该方法可生成随机数字。使用方法如下:
Random random = new Random(); // 默认随机种子是系统时间
int toGuess = random.nextInt(100);//表示1-100
用该方法会自动导包。
接下来自己实现一下吧!参考代码如下:
import java.util.Random;
import java.util.Scanner;;
class Test {
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();
}
}
完!