欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

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

来源: 开发者 投稿于  被查看 11502 次 评论:32

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


目录
  • switch多选择结构
  • 循环结构
    • while循环
    • do...while循环
  • 每日Java面试题

    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多选择结构、循环结构内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!

    您可能感兴趣的文章:
    • java 学习笔记(入门篇)_多选择结构switch语句
    • switch循环所支持的数据类型案例分析
    • Android使用gallery和imageSwitch制作可左右循环滑动的图片浏览器
    • thinkPHP模板中for循环与switch语句用法示例
    • Windows Powershell Switch 循环
    • js中switch case循环实例代码

    用户评论