分支语句,即选择语句,顾名思义就是当流程进行到需要做选择的时候使用的语句
举个例子,判断某个数是否为奇数
Scanner sc = new Scanner(System.in);
int sum = sc.nextInt();
if(sum % 2 != 0) //判断sum是否为奇数
System.out.println(sum+"为奇数"); //是执行if下面的语句体
else
System.out.println(sum+"为偶数"); //否则执行else下面的语句体
执行结果
循环语句,顾名思义就是做重复的、循环的操作嘛
举个例子,累加1到100的所有值
分别用三种循环来完成
- for循环,适用于知道循环次数的情况下
int sum = 0; //定义一个变量存储累加值 for(int i = 1; i <= 100; i++) //for语句里面主要分为三段,用;分割,从左到右分别是初始化语句、条件判断语句、条件控制语句,作用如其名 sum += i; //累加1-100的每个值,sum+=i相当于sum=sum+i System.out.println(sum); //打印输出
- while循环,适用于不知道循环次数的情况下
int sum = 0, i = 1; //初始化语句放在了循环之前定义 while(i <= 100) { //while语句括号里面只有判断语句 sum += i; i++; //条件控制语句一般放到循环体里面了 } System.out.println(sum);
- do-while循环,适用于至少需要执行一次的情况特殊情况下
int sum = 0, i = 1; do{ //do-while语句与while的差别在于do-while会先执行循环体再判断,也就是说不管什么情况至少执行一次循环体 sum += i; i++; }while(i <= 100); //先执行,再判断 System.out.println(sum);
三个循环结果都为
break和continue
break为跳出本层循环,跳出指直接退出循环体,而本层指在循环嵌套中,若循环处于内层循环只会退出当前循环语句而不会将外层的循环语句一并退出
continue为跳过本次循环,跳过本次循环是指直接结束本次循环执行下一次,for跳到控制语句,而while和do-while跳到判断语句,并不会跳出整个循环体,除非本次循环刚好是最后一次
猜数字小游戏
首先系统生成一个一定范围的随机数,然后玩家输入数字进行猜测,若大于随机数,则提示大了,小于则小了,直到猜中为止
import java.util.Random; //随机数导包
import java.util.Scanner;
public class 猜数字_Random的调用 {
public static void main(String[] args) {
Random r = new Random(); //创建一个新随机对象
Scanner sc = new Scanner(System.in); //创建输入对象
int sum = r.nextInt(1, 101); //get一个随机数,随机范围为1-100,括号里的数为左闭右开区间
while(true){
System.out.print("请猜一个1--100之间的数:");
int i = sc.nextInt(); //输入猜测数
if(i > sum) { //比较大小并提示
System.out.println("大了");
continue; //continue,跳过本次循环,直接跳到while判断语句
}
else if(i < sum) {
System.out.println("小了");
continue;
}
else { //不大于也不小于即为等于,退出
System.out.println("恭喜你,猜中了!");
break; //break,退出当前循环语句
}
}
// 显然for循环也可以写,不过最好是知道具体循环次数的用for,不知道的用while
// for(;true;){
// System.out.print("请猜一个1--100之间的数:");
// int i = sc.nextInt(); //输入猜测数
// if(i > sum) //比较大小并提示
// System.out.println("大了");
// else if(i < sum)
// System.out.println("小了");
// else { //不大于也不小于即为等于,退出
// System.out.println("恭喜你,猜中了!");
// break; //老朋友break,退出循环
// }
// }
}
}
执行结果
学习感受:感觉循环选择以及break和continue都和c差不多