摘要:流程控制语句就是用来控制程序中各语句执行的顺序,下面将详细介绍java流程控制语句。

流程控制语句就是用来控制程序中各语句执行的顺序,下面将详细介绍java流程控制语句。

Q: break后面加一个label标签是做什么的?像下面这样:

ABC:
while(t++<5){
for(int i=0;i<n;i++){
if(i==1)
break ABC;
}
}

A: break+label标签 是用于从内部退出多层循环的, 上面的例子就是直接从for内部直接退出到while的外面了。

Q: continue后面加一个label标签是做什么的?像下面这样:

ABC:
while(t++<5){
for(int i=0;i<n;i++){
if(i==1)
continue ABC;
}
}

A: 直接contine到ABC的后面,即用于contine到最外层循环, 即走到while(t++<5)那边继续走

Q: switch的default陷阱1,以下输出什么

int i = 0;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("0");
case 1:
System.out.println("1");
}
A: 输出"0 1", default都是最后再匹配的。

Q:case后面可以跟变量吗?
例如
case a:
case b:
这样子

A:不可以,case后面只能跟常量。

Q: switch的default陷阱2,以下输出什么

int i = 3;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("0");
case 1:
System.out.println("1");
}

A: 输出"default 0 1", 匹配到default之后,如果没有break还是会一直往下走。

Q: switch() 能识别哪些类型?

A:
JDK1.0-1.4 数据类型接受 byte short int char
JDK1.5 数据类型接受 byte short int char enum(枚举)
JDK1.7 数据类型接受 byte short int char enum(枚举),String 六种类型
PS: 上面提到的基本类型的包装类型也是支持的。

Q: return-finally陷阱1: finally能通过修改变量,来更新return的变量值吗

int f() {
int a = 1;
try {
return a;
}
finally {
a=2;
}
}

A:不能, f返回1。
(PS:注意下如果是a引用的话,不能改变返回的a的引用, 但是可以改变a的引用里的属性)

Q: return-finally陷阱2: finally里也return时,返回哪个?

int f() {
try {
return 1;
}
finally {
return 2;
}
}

A:返回finally里的,返回2。

Q: for-each和for-index 哪个快?(就是for(num:nums)和for(int i=0;i<n;i++))

A: 和场景有关。引用评论区2个小伙伴给的信息:

  • 若实现了RandomAccess接口,那么使用for-index是优于for-each的吧
  • for-each 比 for-index 快,是不是可以这样考虑:
    for-each 是通过内部的迭代器进行遍历的,类似于索引;
    for-index 是通过 index 计算偏移量的方式遍历。
    —— 这样一来:
    对 ArrayList 这样的连续结构来说,for-each 和 for-index 的效率应该不相上下;
    而对 LinkedList 这样的链式列表,for-each 的索引优势就体现出来了。

Q: 什么时候没法用for-each代替for-index?

A: 需要往迭代器中插入元素或者删除元素时。(这会破坏迭代器结构)

本文分享自华为云社区《java知识点问题精选之流程控制语句》,原文作者:breakDraw 。

点击关注,第一时间了解华为云新鲜技术~

划重点丨详解Java流程控制语句知识点的更多相关文章

  1. 第三节:带你详解Java的操作符,控制流程以及数组

    前言 大家好,给大家带来带你详解Java的操作符,控制流程以及数组的概述,希望你们喜欢 操作符 算数操作符 一般的 +,-,*,/,还有两个自增 自减 ,以及一个取模 % 操作符. 这里的操作算法,一 ...

  2. 详解Java GC的工作原理+Minor GC、FullGC

    详解Java GC的工作原理+Minor GC.FullGC 引用地址:http://www.blogjava.net/ldwblog/archive/2013/07/24/401919.html J ...

  3. 超全详解Java开发环境搭建

    摘自:https://www.cnblogs.com/wangjiming/p/11278577.html 超全详解Java开发环境搭建   在项目产品开发中,开发环境搭建是软件开发的首要阶段,也是必 ...

  4. 「跬步千里」详解 Java 内存模型与原子性、可见性、有序性

    文题 "跬步千里" 主要是为了凸显这篇文章的基础性与重要性(狗头),并发编程这块的知识也确实主要围绕着 JMM 和三大性质来展开. 全文脉络如下: 1)为什么要学习并发编程? 2) ...

  5. Protocol Buffer技术详解(Java实例)

    Protocol Buffer技术详解(Java实例) 该篇Blog和上一篇(C++实例)基本相同,只是面向于我们团队中的Java工程师,毕竟我们项目的前端部分是基于Android开发的,而且我们研发 ...

  6. 详解Java中的clone方法

    详解Java中的clone方法 参考:http://blog.csdn.net/zhangjg_blog/article/details/18369201/ 所谓的复制对象,首先要分配一个和源对象同样 ...

  7. java基础(十五)----- Java 最全异常详解 ——Java高级开发必须懂的

    本文将详解java中的异常和异常处理机制 异常简介 什么是异常? 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常. Java异常的分类和类结构图 1.Java中的所 ...

  8. 异常处理器详解 Java多线程异常处理机制 多线程中篇(四)

    在Thread中有异常处理器相关的方法 在ThreadGroup中也有相关的异常处理方法 示例 未检查异常 对于未检查异常,将会直接宕掉,主线程则继续运行,程序会继续运行 在主线程中能不能捕获呢? 我 ...

  9. 第十八节:详解Java抽象类和接口的区别

    前言 对于面向对象编程来说,抽象是它的特征之一. 在Java中,实现抽象的机制分两种,一为抽象类,二为接口. 抽象类为abstract class,接口为Interface. 今天来学习一下Java中 ...

  10. 详解java动态代理机制以及使用场景

    详解java动态代理机制以及使用场景 https://blog.csdn.net/u011784767/article/details/78281384 深入理解java动态代理的实现机制 https ...

随机推荐

  1. 毕业三年,月薪30K,我想跟你聊聊!

    大家好,我是冰河~~ 很多读者私信问我,自己工作三年多了,随着工作年限的不断增长,感觉自己的技术水平与自己的工作年限严重不符.想跳槽出去换个新环境吧,又感觉自己的能力达不到心仪公司的标准,即使投了简历 ...

  2. linux 批量替换文件内容

    1.批量查找某个目下文件的包含的内容,例如: #   grep -rn "要找查找的文本" ./ 2.批量查找并替换文件内容. #   sed -i "s/要找查找的文本 ...

  3. 详解GuassDB数据库权限命令:GRANT和REVOKE

    本文分享自华为云社区<GuassDB数据库的GRANT & REVOKE>,作者: Gauss松鼠会小助手2 . 一.GaussDB的权限概述 在数据库中,对象的创建者将成为该对象 ...

  4. Unity csc.rsp文件

    试验版本 Unity2020.3 编译符号,就是#if UNITY_ANDROID这个东西,在处理多平台多分支的情况下挺有用的,但是在ProjectSettings里面设置比较麻烦,不主动代码调用保存 ...

  5. TOBO

    然而并不会做. 最后就照着题解码了一遍/kk 真的好长啊.看时间就知道写了多久... upd in 2022: 我现在已经找不到原题面是什么了( 不过感觉把这样一篇不算题解的东西放进"题解& ...

  6. RLHF · PBRL | RUNE:鼓励 agent 探索 reward model 更不确定的 (s,a)

    论文题目: Reward uncertainty for exploration in preference-based reinforcement learning,是 ICLR 2022 的文章, ...

  7. 金蝶对接电商ERP库存数据,实现监听库存变化

    金蝶云星空实时库存专题 通过向金蝶库存单据注册Python脚本,用于实时监听库存单据审核/反审核,并且将数据发送到轻易云系统集成平台 .通过集成平台将数据分发到对应的目标系统. 向金蝶的库存单据注册脚 ...

  8. 【Spring Boot】【外包杯】学习day02 | 快速搭建一个Spring Boot项目

    1.

  9. ElasticSearch查询数据、全文检索、补全提示、拼写纠错

    https://www.elastic.co/guide/en/elasticsearch/reference/6.8/search.html https://www.elastic.co/guide ...

  10. 2023"安洵杯"第六届网络安全挑战赛-Misc WP

    dacongのsecret 题目 我的解答: 题目给出一张png图片和一个加密压缩包,压缩包里面还存在另一张jpg图片 看名字就知道是盲水印.由于压缩包里的图片提不出来,因此是单图盲水印,我们使用工具 ...