switch多选择结构、循环结构示例详解

 更新时间:2022年12月23日 14:17:55   作者:崔九八  
这篇文章主要介绍了switch多选择结构、循环结构,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

switch多选择结构

  • 多选择结构还有一个实现方式就是switch case语句

  • switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

switch语句中的变量类型可以是:

switch(expression){
    case value:
        //语句
        break;//可选
    case value:
        //语句
        break;//可选
    //你可以有任意数量的case语句
    default://可选
        //语句
}
  • byte、short、int或者char

  • 从Java SE 7开始

  • switch 支持字符串 String 类型了

  • 同时case标签必须为字符串常量或字面量

public static void main(String[] args) {
        //case穿透 //switch 匹配一个具体的值
        char grade = 'B';
​
        switch (grade){
            case 'A':
                System.out.println("优秀");
                break;//可选
            case 'B':
                System.out.println("良好");
                break;//可选
            case 'C':
                System.out.println("及格");
                break;//可选
            case 'D':
                System.out.println("再接再厉");
                break;//可选
            case 'E':
                System.out.println("挂科");
                break;//可选
            default:
                System.out.println("未知等级");
        }
    }
​
//输出结果
良好
public static void main(String[] args) {
        String name = "曹炎兵";
        //JDK7的新特性,表达式结果可以是字符串!!!
        //字符的本质还是数字
​
        switch (name){
            case "曹炎兵":
                System.out.println("这条街我说了算!");
                break;
            case "曹玄亮":
                System.out.println("下辈子你当哥哥,我当弟弟!");
                break;
            default:
                System.out.println("你找错人了!");
        }
    }

循环结构

  • while循环

  • do...while循环

  • for循环

  • 在Java5中引入了一种主要用于数组的增强型for循环

while循环

  • while是最基本的循环,它的结构为:

while(布尔表达式) {
    //循环内容
}
  • 只要布尔表达式为true,循环就会一直执行下去。

  • 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。

  • 少部分情况需要循环一直执行,比如服务器的请求响应监听等。

  • 循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃!

  • 思考:计算1+2+3+...+10=?

public static void main(String[] args) {
        
        //输出1~100
        int i = 0;
        
        while (i < 100) {
            i++;
            System.out.println(i);
        }
    }
public static void main(String[] args) {
        //死循环
        while (true){
            //等待客户端连接
            //定时检查
            //...
        }
    }
public static void main(String[] args) {
        //计算1+2+3+...+100=?
​
        //高斯的故事
        int i = 0;
        int sum = 0;
​
        while (i <= 100) {
            sum = sum + i;
            i++;
        }
        System.out.println(sum);
    }
​
//输出结果
5050

do...while循环

对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

do...while 循环和while循环相似,不同的是,do...while循环至少执行一次。

do{
    //代码语句
}while(布尔表达式);

while和do-while的区别:

  • while先判断后执行。do-while是先执行后判断!

  • do-while总是保证循环体会被至少执行一次!这是他们的主要差别。

public static void main(String[] args) {
        int i = 0;
        int sum = 0;
​
        do {
            sum = sum + i;
            i++;
        }while (i <= 100);
​
        System.out.println(sum);
    }
​
//输出结果
5050
public static void main(String[] args) {
        int a = 0;
        while (a < 0) {
            System.out.println(a);
            a++;
        }
        System.out.println("====================");
        do {
            System.out.println(a);
            a++;
        }while (a < 0);
    }
​
//输出结果
====================
0
​
Process finished with exit code 0

每日Java面试题

1.static关键字有什么用?

static代表"静态"的意思,可以用来修饰:

  • 静态内部类(静态内部类可以不依赖外部类实例对象而被实例化,而内部类需要在外部类实例化后才能被实例化)

  • 静态方法(静态方法属于类方法,不需要实例化对象就可以调用)

  • 静态变量(静态变量属于类,不需要实例化对象就能调用)

  • 静态代码块(静态代码块只会在类被加载时执行且执行一次)

使用示例代码如下:

public class Test1 {
​
    static {
        System.out.println("静态代码块");
    }
    
    static class Test2 {
        
    }
    
    private static int id = 0;
    
    public static void staticMethod() {
        
    }
}

2.static变量和普通变量的区别?

  • 所属目标不同

静态变量属于类的变量,普通变量属于对象的变量。

存储区域不同

静态变量存储在方法区的静态区,普通变量存储在堆区。

另外:JDK7及以上,静态变量存储在其对应的Class对象中,而Class对象和其他普通对象一样,都存储在堆中的。
  • 加载时间不同

静态变量是随着类的加载而加载,随着类的消失而消失。

普通变量随着对象的加载而加载,随着对象的消失而消失

  • 调用方式不同

静态变量只能通过类名、对象调用,普通变量只能通过对象调用。

3.Java中final、finally、finalize的区别与用法

  • final

final是一个修饰符也是一个关键字

  • 被final修饰的类无法被继承

  • 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;

    如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。但是它指向的对象的内容是可变的。

  • 被final修饰的方法将无法被重写,但允许重载

    注意:类的private方法会隐式地被指定为final方法。

  • finally

    finally是一个关键字

  • finally在异常处理时提供finally块来执行任何清除操作。不管有没有异常被抛出或者捕获,finally块都会执行,通常用于释放资源。

  • finally块正常情况下一定会被执行。但是有至少两个极端情况:

    • 如果对应的try块没有执行,则这个try块的finally快并不会被执行

    • 如果在try块中jvm关机,例如system.exit(n),则finally块也不会执行(都拔电源了,怎么执行)

  • finally块中如果有return语句,则会覆盖try或者catch中的return语句,导致二者无法return,所以强烈建议finally块中不要存在return关键字。

  • finalize

finalize()是Object类的protected方法,子类可以覆盖该方法以实现资源清理工作。

GC在回收对象之前都会调用该方法

finalize()方法是存在很多问题的:

  • Java语言规范并保证finalize方法会被及时地执行,更根本不会保证它们一定会执行

  • finalize()方法可能带来性能问题,因为JVM通常在单独的低优先级线程中完成finalize的执行

  • finalize()方法中,可将待回收对象赋值给GC Roots可达的对象引用,从而达到对象再生的目的

  • finalize方法最多由GC执行一次(但可以手动调用对象的finalize方法)

到此这篇关于switch多选择结构、循环结构的文章就介绍到这了,更多相关switch多选择结构、循环结构内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何利用SwiftUI实现可缩放的图片预览器

    如何利用SwiftUI实现可缩放的图片预览器

    这篇文章主要给大家介绍了关于如何利用SwiftUI实现可缩放图片预览器的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SwiftUI具有一定的参考学习价值,需要的朋友可以参考下
    2021-09-09
  • Swift中动态调用实例方法介绍

    Swift中动态调用实例方法介绍

    这篇文章主要介绍了Swift中动态调用实例方法介绍,在Swift中有一类很有意思的写法,可以让我们不直接使用实例来调用这个实例上的方法,而是通过类型取出这个类型的某个实例方法的签名,然后再通过传递实例来拿到实际需要调用的方法,需要的朋友可以参考下
    2015-01-01
  • Swift中使用可选类型完美解决占位问题

    Swift中使用可选类型完美解决占位问题

    这篇文章主要介绍了Swift中使用可选类型完美解决占位问题,本文讲解了为Dictionary增加objectsForKeys函数、Swift中更简便的方法、内嵌可选类型等内容,需要的朋友可以参考下
    2015-05-05
  • Swift Error重构优化详解

    Swift Error重构优化详解

    这篇文章主要为大家介绍了Swift Error的问题解决及重构优化方案详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Swift中定义单例的方法实例

    Swift中定义单例的方法实例

    Swift中单例的写法有很多种,下面这篇文章主要给大家介绍了关于Swift中定义单例的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • Swift 4最全的新特性详细解析(推荐)

    Swift 4最全的新特性详细解析(推荐)

    Swift 4 在 Swift 3 的基础上,提供了更强大的稳健性和稳定性。所以下面这篇文章就来给大家总结介绍关于Swift4新特性的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-11-11
  • Swift使用WKWebView在iOS应用中调用Web的方法详解

    Swift使用WKWebView在iOS应用中调用Web的方法详解

    这篇文章主要介绍了Swift使用WKWebView在iOS应用中调用Web的方法详解,使用WKWebView便等于使用和Safari中相同的JavaScript解释器,用来替代过去的UIWebView,需要的朋友可以参考下
    2016-04-04
  • 举例讲解Swift编程中switch...case语句的用法

    举例讲解Swift编程中switch...case语句的用法

    这篇文章主要介绍了Swift编程中switch...case语句的用法,其中fallthrough关键字在switch语句中的使用是重点,需要的朋友可以参考下
    2016-04-04
  • Swift方法调度之类的普通方法底层探究

    Swift方法调度之类的普通方法底层探究

    这篇文章主要介绍了Swift-方法调度-类的普通方法底层探究,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • Swift缩放并填充图片功能的实现

    Swift缩放并填充图片功能的实现

    最近有一个需求,就是将图片先等比例缩放到指定大小,然后将空余出来空间填充为黑色,返回指定大小的图片。本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-11-11

最新评论