第四章总结

流程控制

复合语句: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多分支语句

switch:计算表达式的值,如果与case后的常量值相同则执行该case语句后的若干个语句直到遇到break语句为止,此时,如果该case语句中没有break语句,将继续执行后面case中的语句,直到遇到break,如果没有一个常量的值与表达式的值相同,则执行default后的语句,default语句是可选的,如果不存在,且switch中的表达式的值不与任何case的常量值相同,switch将不做任何处理

语法如下:

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:也叫条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句

语法如下:

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循环语句

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

传统for语法如下:

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、付费专栏及课程。

余额充值