day7-控制语句

java控制语句可以分为7种:

控制选择结构:if ; if... else

                          switch 

控制循环结构:for 

                        while 

                        do...while()

控制循环结构:continue 

                         break

1.控住语句if结构:

if语句又称为分支语句/条件控制语句:

if语句4种的编写方式:

1.if(布尔表达式){

        java语句;
        java语句;

}

2.if(布尔表达式){

         java语句;

}else{

        java语句;

}

3.if(布尔表达式){

        java语句;

}else if(布尔表达式){

        java语句;

}else if(布尔表达式){

        java语句;

}

4.if(布尔表达式){

        java语句;

}else if(布尔表达式){

        java语句;

}else if(布尔表达式){

        java语句;

}else{

        java语句;

}

注意:带有else的语句(2,4种)一定会有语句执行,一旦执行一个分支,if语句就会结束。    

           嵌套使用的时候,一定要保证代码方式的完美。[缩进的时候必须缩进]。

           if语句的分支中只有一条java语句的话,大括号可以忽略不写。   

特殊错例:

        if(true)
            System.out.println("true");
            System.out.println("hh");
        else
            System.out.println("hh");

上述第错误原因:第四行缺少if,前三行都可以编译通过,1,2行为if+单独语句,3行为单独的语句,所以第四行缺少单独的else缺少if

2.控制语句switch:

switch语句属于选择结构,也是分支语句

完整的switch语句的编写方法: 

        switch(int / string 类型的字面值或者变量){
               case int / string 类型的字面值或者变量:
                        java语句;
                        ...
                        break

               case int / string 类型的字面值或者变量:
                        java语句;
                        ...
                        break     
                default:
                        java语句;
}

case穿透现象,如果单独的case中没有break,会直接执行下一个case。

在遇到break之后会switch语句会结束。

原理1.switch小括号后边的数据和case后边的数据一一匹配,匹配成功的分支执行,按照自上而下的顺序一次匹配。

            2.匹配成功的分支执行,分支当中有break语句的话,整个switch语句终止。

            3.匹配成功的分支执行后,如果没有break,会直接进入下一个case而不进行匹配。(穿                   透现象)。避免穿透现象加入break。

            4.所有分支都没有执行的话,会进行default语句的执行

            5.switch后边和case后边也可以直接写到int和string类型的数据,不能探测其他类型。

                *byte,short,char可以直接直接写到switch和case后面,因为它们可以进行自动类型转换,转换成int类型。

            6.case可以合并:

                int i = 10; 

                switch(i){

                        case1:case2:case3       

}

穿透现象详解:

public class partSwitch {
    public static void main(String[] args) {

        java.util.Scanner s = new java.util.Scanner(System.in);
        System.out.println("请输入星期几");
        int num = s.nextInt();

        switch (num){
            case 1:
                System.out.println("今天是星期1");
                break;
            case 2:
                System.out.println("今天是星期2");

            case 3:
                System.out.println("今天是星期3");
                break;
            case 4:
                System.out.println("今天是星期4");
                break;
            case 5:
                System.out.println("今天是星期5");
                break;
            case 6:
                System.out.println("今天是星期6");
                break;
            case 7:
                System.out.println("今天是星期7");
                break;
            default:
                System.out.println("您输入的字符非法");
        }
    }
}

字符串switch的用法:

        char degree = 'A';

        switch (degree){
            case 'A':
                System.out.println("这是A等级");
                break;
            case 'B':
                System.out.println("这是b等级");
                break;
            case 'C':
                System.out.println("这是c等级");
                break;
            default:
                System.out.println("输入的有误");

注意:switch后边只能是int或者string,不要加入别的条件。

3.循环for语句

在程序当中有一些需要反复/重复的执行的代码,假设没有循环结构,那么这段需要重复执行的代码自然需要重复编写,代码无法得到重复使用。把反复需要执行的代码片段放到循环体内,再联合计数器,共同控制这段需要反复运行的代码。

所有的编程语言都支持三种循环方式: 

*for循环
*while循环
*do...while循环

语法结构:for(初始化表达式;布尔表达式;更新表达式){

                        需要重复执行的代码【循环体,由java语句实现】

}

for循环的执行原理:

初始化表达式,布尔表达式,更新表达式都不是必须的【但是两个分号是必须的】

初始化表达式最先执行,并且该表达式只执行一次。

布尔表达式必须是true 或者 false ,不能是其他值

for 的执行过程: 

                先执行初始化表达式,并且该表达式只执行一次

                判断布尔表达式的结果是true 还是false 

                布尔表达式结果为true:

                                执行循环体

                                执行更新表达式

                                判断布尔表达式的结果是true还是false

                                        执行循环体......

                布尔表达式结果为false: 

                                停止程序 for循环结束 

public class partFro {
    public static void main(String[] args) {

        for( int i =0;i<10;i++){

            System.out.println("this is time"+ i);
        }
        // System.out.println(i);   ---> 此处无法访问i变量
    }
}

注意:循环体中的“i”只能在循环体中使用,除了循环体相当于出了作用域,将会无法访问。

        for(int i = 0; i <10;){
            i++;
            System.out.println(i);
        }

        for(int i = 0;  i < 10; ){
            System.out.println(i);
            i++;

9*9 乘法表源代码

public class partFro {
    public static void main(String[] args) {

        for(int i  = 1; i<= 9 ; i++){
            for(int j = 1; j<= i ;j ++ ){
                System.out.print(i + "*" + j + "=" + i*j);
                System.out.print("  ");
            }
            System.out.print('\n');
        }
    }
}

4.循环while语句:

while循环句的语法结构:

while(布尔表达式true){

        循环体(java语句)

}

while循环的执行原理:

        先判断布尔表达式的结果:

                *true
                        执行循环体
                *true
                        执行循环体
                *false
                        结束

while 循环体可能执行的次数可能为0次

public class partWhile {
    public static void main(String[] args) {
        int i = 10;
        int j = 3 ;

        while (i<20){
            System.out.println("good");
            i++;
        }
        System.out.println("end");
    }
}

5.do...while循环语句:

do...while 循环的语法结构:

do{

循环体(java语句);

}while(布尔表达式);

do...while 循环的执行次数为1到N,也就是说do...while至少会循环1次

6.控制语句break:

break 是java语言中的关键字,被翻译为“中断”/“折断”

break+“;”可以成为一个单独的完整的java语句: break; 

break语句可以用在switch语句之中,用来中止switch语句的执行。 

break语句同样也可以使用在循环语句之中,用来中止循环的执行。

public class partBreak {
    public static void main(String[] args) {
        for(int i =0; i< 20; i++){
            System.out.println(i);
            if(i == 10){
                break;
            }
        }
    }
}

break默认中止离它最近的循环,但是在给for起名字的情况下,*可以指定中止循环

        for1:for(int i = 0;i< 3; i++){
                for2:for(int j = 0; j<5 ;j++){
                        System.out.println(j);
                        if(j ==4){
                            break for1;
                        }
                }
        }

7.控制语句continue

contine 表示: 继续/ go on/ 下一个

continue 也是一个关键字加一个分号可以单独构成一个完成的java语句,主要出现循环语句中当中用来控制循环的执行。

break和continue的区别

        break表示循环不执行了

        continue表示直接进入下一次循环继续执行

continue例

        for(int i = 0; i<10;i++ ){
            if(i == 5){
                continue;
            }
            System.out.println(i);
        }

输出为

———————————————编写不易,喜欢的话,动动你的小手手,点个赞辛苦辛苦作者吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值