8.6 小白学习第三天流程控制语句
一、条件判断语句
当条件判断语句过多的时候,选择if语句是最佳首选。当判断条件语句是if…else类型可以选择三元运算符最佳
break关键字
可以用于switch结构和循环结构。
作用:
1.如果用于switch结构,跳出当前的case语句;
2.如果用于循环结构中,跳出当前循环结构。
思考:编写程序Demo.java,从1循环到150并在每行打印一个值,另外在每个3
的倍数行上打印出“a3”,在每个5的倍数行上打印“b5”,在每个7的倍
数行上打印输出“c7
练习:接下来通过一个练习,来实现使用“*”打印直角三角形,如下所示
注意:
(1)关键字while后的小括号中的内容是循环条件;
(2)循环条件是一个布尔值,它的值是”true”或者 “false”;
(3)大括号中的语句统称为循环操作,又称循环体;
(4)while语句先判断循环条件再执行循环体,如果第一次判断条件为假,循环将一次也不执行;
练习:接下来通过一个案例对自然数1~10进行求和,如下所示
Break语句和continue语句比较
Continue语句是跳出当前循环,不影响下一次的循环,而break语句是跳出循环
死循环并不是都有害的,比如下面的猜数字游戏,如果一直猜不到就一直等待循环结果正确,知道你输入的数字正确。
猜数字游戏
//猜字小游戏
//导入Random类的
import java.util.Random;
import java.util.Scanner;
public class Random1
{
public static void main(String[] args){
//获取一个1-100随机数
Random rand = new Random();
int r =rand.nextInt(101); //产生1–100 随机数
System.out.println("-------猜数字游戏—");
System.out.println("-------请你输入一个1-100的数字–");
//如何接受键盘输入
Scanner sc =new Scanner(System.in);
//如果不知道循环次数,可以用死循环
while(true){
int x=sc.nextInt();
if(x==r){
System.out.println("恭喜你,猜对了");
break;
}
if(x>r){
System.out.println("对不起,猜大了");
break;
}
if(x<r){
System.out.println("对不起,猜小了");
break;
}
}
//System.out.println(x==r?"猜对了":"猜错了");
}
};
课后作业一
计算100到1000之间的水仙花数
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数, 其各位数字立方和等于该数本身。例如:153是一个"水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
public class Shuixianhua
{
public void func1(){
//Scanner sc = new Scanner();
//int x =sc.nextInt();
int m,a,b,c,d;
for (m=100;m<=999 ;m++ )
{
a=m/100; //获得百位数
b=m/10%10;//获得十位数
c=m%10; //或者个位数
//判断条件语句
if(m==a*a*a+b*b*b+c*c*c)
System.out.println(m+"是水仙花数");
}
}
public static void main(String[] args){
Shuixianhua tc =new Shuixianhua();
tc.func1();
}
};
课后作业二:用嵌套for循环打印九九乘法表。
public class Jiujiu
{
public void func1(){
for (int i=9;i>=1 ;i-- )
{
for (int j=i;j>=1 ;j-- )
{
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println();
}
}
public static void main(String[] args){
Jiujiu tc =new Jiujiu();
tc.func1();
}
};