首页 > 其他分享 >switch多选择结构、循环结构

switch多选择结构、循环结构

时间:2022-12-23 14:12:27浏览次数:36  
标签:case System while switch 循环 static println out 结构

switch多选择结构

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

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

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

    • byte、short、int或者char

    • 从Java SE 7开始

    • switch 支持字符串 String 类型了

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

    switch(expression){
       case value:
           //语句
           break;//可选
       case value:
           //语句
           break;//可选
       //你可以有任意数量的case语句
       default://可选
           //语句
    }

 

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变量和普通变量的区别?

  1. 所属目标不同

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

  1. 存储区域不同

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

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

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

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

  1. 调用方式不同

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

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

  1. final

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

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

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

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

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

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

  1. finally

    finally是一个关键字

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

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

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

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

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

  1. finalize

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

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

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

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

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

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

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

  •  

 

标签:case,System,while,switch,循环,static,println,out,结构
From: https://www.cnblogs.com/cuijiuba/p/17000551.html

相关文章

  • 文件目录结构、文件命名规范、文件系统结构、linux应用程序的组成、绝对路径和相对路
    文件目录结构文件和目录被组织成一颗倒置的树状结构文件系统从根开始,“/”文件名称严格区分大小写隐藏文件以"."开头路径的分隔符为"/"文件命名规范文件字符最长为255个字符......
  • 结构伪类选择器-2022-12-23
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><style>/*结构伪类选择器,不需要特别记住*//*ul的第一个子元素*/......
  • 【操作系统---并发编程】CPU cache结构和缓存一致性(MESI协议)
    转载自:https://blog.csdn.net/reliveIT/article/details/50450136?spm=1001.2014.3001.5506(三人行,必有我师) 一、cachecpucache已经发展到了三级缓存结构,基本上现在......
  • 设计模式-----结构型模式
    设计模式结构型包含:适配器模式、桥接模式、组合模式、装饰模式、享元模式、外观模式、代理模式。关系分类适配器:将一个类的接口转换成客户希望的另一个接口。适配器模式使得......
  • Django框架课-创建菜单界面:二、完善项目结构
    二、完善项目结构界面编写配置完静态文件夹,然后就可以写html界面在game/templates下新建menu、playground、settings三个文件夹支持多终端(web、acapp等多端),要额外新......
  • 我要在for循环List中删除元素
    一起养成写作习惯!这是我参与「掘金日新计划·4月更文挑战」的第2天,点击查看活动详情。for循环可以删除集合元素吗,往往我们得到的答案有时候就是不可以,安全起见,要迭代器......
  • JavaScript 数组结构与树结构的转换
    前言作为前端开发的同学,在与后端进行数据联调的时候,我们前端的同学处理Array数组结构的数据是最多的,list、table、card各种需要遍历的展示显示我们都会用数组来处理。当数......
  • FreeSWITCH学习笔记:Lua脚本
    本文更新于2022-06-03,使用FreeSWITCH1.10.7。目录argvfreeswitch.APIAPI:executefreeswitch.bridgefreeswitch.consoleLogfreeswitch.DbhDBH:affected_rowsDBH:connected......
  • while循环、break、格式化、运算符、编码初始
    1、while循环:不断的重复着某件事就是循环2、while循环图解:3、break:终止当前循环。4、continue就是跳出本次循环、继续下次循环。下方代码都不会执行。......
  • Linux 初级班(A) – 2. Linux简单目录结构
    Linux 标准目录结构如下:1. 目录架构根目录:  /· root --- 启动​​Linux​​​时使用的一些核心文件。如操作系统​​内核​​​、引导程序​​Grub​​等。· hom......