第四章总结

流程控制
 

复合语句:java的复合语句是以整个区块为单位的语句,所以又称块语句,复合语句you7开括号“{”开始,“}”结束

条件语句

“if”条件语句

“if”用于告诉程序在某个条件成立的情况下执行某段语句,而在另一种情况下执行另外的语句

语法如下:

if(条件表达式){
    语句序列
}

如果语句序列中只有一条语句,则可以省略条件语句中的“{}”

例4.1
 

 
public class liti4_1 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int phoneNumber = 123456789;    //定义一个int型变量phoneNumber并赋值123456789
        if (phoneNumber != 84972266) {    //判断phoneNumber是否为84972266
            System.out.print("对不起,您拨打的号码不存在!");    //输出
        }
    }
 
}

结果:

流程图表示算法:
 

 
 

if...else语句

“if...else”:如果满足某条件,就执行某种处理,否则执行另一种处理

语法如下:
 

if(条件表达式){
    语句序列1
}else{
    语句序列2
}

例4.2
 

 
public class liti4_2 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int password = 987654321;    //定义int型password赋值987654321
        if(123456789 == password) {        //判断password是否为123456789
            System.out.print("密码正确,欢迎登录");    //正确时的输出
        }else {        //否则
            System.out.print("密码错误,拒绝登录");//错误时输出
        }
    }
 
}

结果:

流程图表示算法 :

 
 

if...else if多分支语句

if...else if:如果满足某条件,就进行某种处理,否则如果满足另一条件则执行另一种处理

语法如下:
 

if(条件表达式1){
    语句序列1
}else if(条件表达式2){
    语句序列2
}...else{
    语句序列n
}

例4.3

 
public class liti4_3 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("欢迎光临,请问有多少人用餐?");//输出
        int count = 9;        //定义一个int型变量count赋值9
        System.out.println("回答:"+ count + "人");    //输出
        if(count <= 4) {    //判断如果count小于或等于4则输出下行代码
            System.out.println("客人请到大厅4人桌用餐");//输出
        }else if(count > 4 && count <= 8) {    //否则如果count大于4并且小于或等于8则输出下行代码
            System.out.println("客人请到大厅8人桌用餐");
        }else if(count > 8 && count <= 16) {
            System.out.println("客人请到楼上包厢用餐");
        }else {        //否则输出下行代码
            System.out.print("抱歉,我们目前没有那么大的包厢");
        }
    }
 
}

结果:

 流程图表示算法:

 
 

switch多分支语句

        swich语句中表达式的值必须是整型、字符型、字符串类型或枚举类型,常量值1--n的数据类型必须与表达式的值的类型相同

语法如下:

switch(){
case 常量值1:
    语句块1
    break;
...
case 常量值n:
    语句块n
    break;
default:
    语句块n+1;
    break;
}

例4.4
 

import java.util.Scanner;
 
public class liti4_4 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);//打开键盘扫描器接收输入的数据
        System.out.print("请输入成绩:");    //输出
        int grade = sc.nextInt();    //将输入的数据存如int型变量grade里
        switch(grade) {    //计算表达式
        case 10:        //常量值为10
        case 9:
        System.out.print("成绩为优");//如果常量值为10,9则输出该行代码
        break;        //如果case开始执行,遇到break则停止
        case 8:
            System.out.print("成绩为良");
        break;
        case 7:
        case 6:
        System.out.print("成绩为中");
        break;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
        case 0:
            System.out.print("成绩为差");
            break;
        default:        //如果以上case常量值均与表达式的值不同,则执行default后的代码
            System.out.print("成绩无效");
        }
        sc.close();    //关闭扫描器
    }
 
}

结果:

 流程图表示算法:

 
 

循环语句 

while:也叫条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句

语法如下:

while(条件表达式){
    语句序列
}

例4.5

 
public class liti4_5 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int x = 1;    //定义一个int型变量x赋值1
        int sum = 0;    //定义一个int型变量sum赋值0
        while(x <= 1000) {    //判断x是否小于或等于1000
            sum = sum + x;    //sum表达式
            x ++;        //x自增
        }
        System.out.print("sum = "+ sum);//输出
    }
 
}

结果:

 流程图表示算法:

 do...while循环语句

         do...while:与while循环语句类似,区别是while先判断条件是否成立再执行循环,do...while循环语句则先执行一次循环后,在判断条件是否成立,do...while循环语句至少会循环一次

语法如下:

do{
    语句序列
}while(条件表达式);

 例4.6

import java.util.Scanner;
 
public class liti4_6 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);    //打开键盘扫描器接收输入的数据
        int password;        //定义一个int型变量passdword
        do {        //先执行一遍
            System.out.print("请输入6位数字密码:");
            password = sc.nextInt();    //将输入的数据存如int型变量passdword里
        }while(931567 != password); //判断条件是否成立
        System.out.print("登录成功");
        sc.close();
    }
 
}

结果:

 流程图表示算法:

 for循环语句

or:for循环可以用来重复执行某条语句,直到某个条件得到满足,for循环有两种语句,一种是传统的for语句,一种是foreach语句

 语法如下:

for(表达式1;表达式2;表达式3){
    语句序列
}

 例4.7

 
public class liti4_7 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int sum = 0;    //定义一个int型变量sum赋值0,用来存储2到100直接的偶数的和
        for(int i = 2;i <= 100;i += 2) {    //定义一个int型变量i赋值2,接着判断i是否小于等于100,i=i+1
            sum = sum + i;    //和的表达式
        }
        System.out.print("2到100之间的偶数之和为:"+ sum);//输出
    }
 
}

结果:

 流程图表示算法:

foreach语句 

        foreach:它是for语句的特殊简化版本,不能完全取代for语句,但任何foreach都可以改写为for语句版本,它不是一个关键字

语法如下:

for(元素类型x;遍历对象obj){
    引用了x的java语句;
}

 例4.8

 
public class liti4_8 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int arr[] = {5,13,96};    //一维整型数组
        System.out.println("一维数组中的元素分别为:");
        //x的类型与arr元素的类型相同。for循环依次去除arr中的值并赋值给x
        for (int x: arr) {        
            System.out.println(x);//输出遍历中的元素值
        }
    }
 
}

结果:

 流程图表示算法:

 

 

break语句 

break:break可以跳出当前循环,就近原则,哪个循环离它近它跳出哪个循环,不能越级跳出。

语法如下:

while(...){
    ...
    break;
    ...
}
/
do{
    ...
    break;
    ...
}while(...);
/
for{
    ...
    break;
    ...
}

 
例4.9
 

 
public class liti4_9 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        for(int i = 1;i < 20;i ++) {    
            if(i%2 == 0) {    //如果i是偶数
                System.out.println(i);//输出i的值
                break;        //结束循环
            }
        }
        System.out.println("---end---");//结束时输出一行文字
    }
 
}

结果:

 流程图表示算法:

 
 

例4.10使用标签让break结束外层循环 

 
public class liti4_10 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        for(int i = 1;i <=3;i ++) {        //外层循环
            for(int j = 1;j <= 5;j ++) {    //内层循环
                if(j == 4) {        //内层循环至第四次时就结束
                    break;
                }
                System.out.println("i="+ i +" j="+ j);    //输出i和j的值
            }
        }
    }
 
}

结果:

 流程图表示算法:

 

 

continue语句

        continue:是针对break语句的补充,作用并不是立即跳出当前循环而是跳过本次循环,回到循环的条件判断环节,重新开始判断

语法如下:

while(...){
    ...
    continue;
    ...
}
///
do{
    ...
    continue;
    ...
}while(...);
///
for{
    ...
    continue;
    ...
}

例4.11
 

 
public class liti4_11 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        for (int i = 1;i <= 20;i ++) {
            if(i %2 == 0) {    //如果i是偶数
                continue;    //跳到下一循环
            }
            System.out.println(i);//输出i的值
        }
    }
 
}

结果:

 流程图表示算法:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值