Java关键字—循环与判断

Java关键字—程序控制

for、while、do..while、switch
break、continue、if、else、case
default、instanceof、return、assert

循环

for循环

for循环分为增强for循环一般for循环
一般for循环格式:
for(初始化变量只执行一次;进入循环所判断的变量;变量的变化){
循环体;
}
简单的for循环运用

public class Demo {

    public static void main(String[] args) {
        for (int i = 0; i < 3; i++) {
            System.out.println(i);
        }
        //也可以如下,去掉for括号内前后的元素
        int j = 0;
        for (; j < 3; ) {
            System.out.println(j);
            j++;
        }
        //当然也可以全部去掉
        j = 3;
        for (; ; ) {
            System.out.println(j);
            j--;
            if (j < 0) {
                break;
            }
        }
    }
}

在这里插入图片描述
增强for循环格式:
for(数据类型 变量名 : 需要遍历的对象){
//循环体,变量即元素
}
增强for循环就是为了简化数组的集合的遍历

public class Demo {

    public static void main(String[] args) {
        //增强for循环
        int[] a = {0, 1, 2, 3};
        for (int i : a) {
            System.out.println(i);
        }
    }
}

break和continue

break
在循环中,意为终止循环,但是只能终止一层循环,默认情况下是终止距离break最近的循环
continue
是在循环中体现的,当循环时遇到continue语句时,意为跳过当次循环体之下的语句,执行下一次循环

public class Demo {

    public static void main(String[] args) {
        //break终止整个循环体
        for (int i = 0; i < 4; i++) {
            if (i == 2) {
                break;
            }
            System.out.println(i);
        }
        System.out.println("-------------");
        //continue是结束此次循环,然后执行下次循环
        for (int i = 0; i < 4; i++) {
            if (i == 2) {
                continue;
            }
            System.out.println(i);
        }
    }
}

在这里插入图片描述

while循环

格式:
while(条件判断){
代码块;
}

public class Demo {
    public static void main(String[] args) {
        int a = 0;
        while (a < 5) {
            System.out.println("a=" + a);
            a++;
        }
    }
}

在这里插入图片描述

do…while循环

do{
语句块;
}
while(条件判断)

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        char c;
        do {
            System.out.println("输入一个符号,我将判断它是否为小写字母");
            c = input.next().charAt(0);//输入字符
        } while (c > 96 && c < 123);
        //因为'a'到'z'对应的ASCII码值是97到122
        //输入正确时,循环继续循环,不对时,则直接退出循环
    }
}

在这里插入图片描述

判断

if(条件){表达式}else{表达式}

判断的意思就是,条件成立就执行if,如不是,则执行else
if…else…又可以分为以下四种
if(条件){表达式}
if(条件){表达式1} else {表达式2}
if(条件1){表达式1} else if(条件2){表达式2} … else if(条件n){表达式n}
if(条件1){表达式1} else if(条件2){表达式2} … else if(条件n){表达式n} else { }

public class Demo {
    public static void main(String[] args) {
        int x = 10;
        if (x > 5) {
            System.out.println("表达式1");
        } else if (x > 6) {
            System.out.println("表达式2");
        }
        //遇到这种情况,代码是从上到下依次执行的,所以当判断出x>5时就成立了,退出判断
        //结果应该为 表达式1
        System.out.println("------------------");
        x = 10;
        if (x < 5)
            System.out.println("表达式3");
        System.out.println("表达式4");

        //if...else在默认情况下是if(){} else(){}
        //不带括号时就是默认情况下只执行第一行,如果下面的不再是判断语句,则默认下判断结束
        //所以结果为 表达式4
    }
}

在这里插入图片描述if…else的其余情况下,也是一样的

switch

switch,case,default和break一般一起用
一般形式为:
switch(表达式){
case 常量值1:语句块;break;
case 常量值2:语句块;break;
case 常量值3:语句块;break;

case 常量值n:语句块;break;
default: 语句块;
}
表达式值得一般类型都可以为:byte,short,int,char,枚举,String
常量值都为一个固定的值,一般都各个不相同,不重复
在switch中,如果没有break的话,当一个常量值符合时,会从当前的语句块一直执行到switch结束。所以一般情况下,都会在每个case语句块后加上break语句。
default就是在排除所有的break语句后,还没有符合条件的话,就执行default语句。

public class Demo {
    public static void main(String[] args) {
        int x = 10;
        switch (x) {
            case 1:
                System.out.println("x=1");
                break;
            case 2:
                System.out.println("x=2");
                break;
            case 3:
                System.out.println("x=3");
                break;
            default:
                System.out.println("x大于3");
                //结果就应该为x大于3
        }
        System.out.println("-------------------");
        int y = 2;
        switch (y) {
            case 1:
                System.out.println("x=1");
                break;
            case 2:
                System.out.println("x=2");
            case 3:
                System.out.println("x=3");
            default:
                System.out.println("x大于3");
                //结果就应该为  x=2
                //           x=3
                //           x大于3
        }
    }
}

在这里插入图片描述
switch: 一般适用于 固定的选项的匹配 效率高
if : 适用于 区间,结果为布尔 更加灵活
当default语句在case之中时,应该怎么执行
代码运行时,先查看所有的case语句,是否有符合条件的,如果没有的话,再看default语句,但是要注意到,default语句块结束时是否有break语句,没有的话,就要再执行一个接着的下一个case语句。

public class Demo {
    public static void main(String[] args) {
        int x = 10;
        switch (x) {
            case 1:
                System.out.println("x=1");
                break;
            default:
                System.out.println("x大于3");
            case 2:
                System.out.println("x=2");
                break;
            case 3:
                System.out.println("x=3");
                break;
            //结果就应该为    x大于3
            //              x=2
        }

    }
}

在这里插入图片描述

instanceof

instanceof是对类型的判断

public class Demo {

    public static void main(String[] args) {
        //instanceof 类型的判断
        Object x = 10;
        //Object是java中表示的任何类型,但是现在要判断Object中具体为那个类型
        //instanceof的返回值也为布尔型 true 或 false
        System.out.println(x instanceof Integer);//返回 true
        // 判断 x 是否为integer型(int的包装类)
        Object y = 'a';
        System.out.println(y instanceof Character);//返回 true
        System.out.println(y instanceof String);//返回 false
    }
}

在这里插入图片描述

return

return是终止一个函数的意思,主动结束一个函数时会用到return
即return后面的所有语句都不会再执行,再函数时,return还有返回的意思,从一个函数给调用这个函数的函数返回一个值,所以在大多运用时return后面都会加一个返回值

public class Demo {
    //main为主函数
    public static void main(String[] args) {
        System.out.println("这个为主函数");
        int a = fan();//调用fan函数,fan函数返回一个值
        System.out.println("a=" + a);
    }

    public static int fan() {
        System.out.println("这是被调用函数");
        return 2;   //return返回调用的函数所运行出来的值
    }
}

在这里插入图片描述

assert

assert(断言)是作为一种软件调试的方法,提供出一种在代码中进行正确性检查的机制。
在程序开发当中,为了保证程序的正确性,通常在开发和测试中运用

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值