美文网首页Java 之旅
初级05 - Java的控制流

初级05 - Java的控制流

作者: 晓风残月1994 | 来源:发表于2019-07-28 14:40 被阅读0次

没太多要说的,和 JavaScript 或其他语言差不多。

  • while 与 do...while 循环
while (expression) {
     statement(s)
}

do {
     statement(s)
} while (expression);
  • for 循环
for (int i = 0; // 任何语句,包括空语句
     i < 100; // 返回boolean的语句,包括空语句
     i++) { // 任何语句,包括空语句
   System.out.println(i);
}
  • for each 循环
    注意要看循环的目标是否实现了 Iterator 接口。
for (String s: Iterable<String>) {
   ....
}
  • 改变循环的流程:break/continue
    • break; ⽴即结束包裹当前break的第⼀层循环
    • continue; 跳过包裹当前continue的第⼀层循环
    中的其余语句,继续下⼀次循环
    • break label; 直接跳到 label 处,类似于 C 语言中的 goto。

  • 控制流:switch
    可以switch哪些东⻄?
    • int/long/char/byte/short
    • enum 枚举
    • String (JDK7+)
    • switch的穿透
    • switch中的作⽤域

switch(expression){    
case value1:    
 //code to be executed;    
 break;  //optional  
case value2:    
 //code to be executed;    
 break;  //optional  
......    
    
default:     
 // code to be executed if all cases are not matched;    
}   

控制流:嵌套
上面提到的都能嵌套。

例子:

  1. 求1到n之间有多少个质数(素数)
public class Main {
    public static void main(String[] args) {
        System.out.println(howManyPrimeNumbers(5));
    }

    /**
     * 给定一个数字n,返回1到n之间的质数(素数)个数,不包括n本身。
     *
     * <p>例如,n=5,返回2,因为1到5之间有2个质数:2和3。
     *
     * <p>提示:对于正整数n,如果用2到Math.sqrt(n)+1之间的所有整数去除,均无法整除,则n为质数。
     *
     * @param n 给定的数字
     * @return 1到n之间(不包括n)质数的个数
     */
    public static int howManyPrimeNumbers(int n) {
        int count = 0;
        label:
        for (int i = 2; i < n; i++) {       // 已知 1 不是素数,所以从 2 开始
            for (int j = 2; j < (Math.sqrt(i) + 1); j++) {
                if (i % j == 0 && i != j) { // 提前出现非自己的整除说明不是素数
                    continue label;         // 只是 break 的话,count 还是会 +1,所以要直接跳到外层循环
                }
            }
            count++;
        }
        return count;
    }
}

相关文章

  • 初级05 - Java的控制流

    没太多要说的,和 JavaScript 或其他语言差不多。 while 与 do...while 循环 for 循...

  • Kotlin基础知识(三):控制语句

    链接:Kotlin——初级篇(四):控制语句详解连接:控制流:if、when、for、while - Kotlin...

  • Java的控制流

    什么是控制流 控制流就是在任何时刻将要进⾏的⼯作 控制流:⽅法调⽤ 实战:使⽤调试器分析Java程序运⾏的最详细过...

  • 05 控制流

    Swift 提供了多种流程控制结构,包括可以多次执行任务的 while 循环,基于特定条件选择执行不同代码分支的 ...

  • Java中流(Stream)、文件(file)和I/O、目录

    Java 流、文件和I/O、目录目录:1.流(Stream)-控制台1.1 控制台读取多字符输入BufferedR...

  • 2018-01-26

    ##Java线程 Java中,并发的基本单元是线程,可以将线程看作控制流(thread of control)。线...

  • 2018-01-26 - 草稿

    ##Java线程 Java中,并发的基本单元是线程,可以将线程看作控制流(thread of control)。线...

  • Java 流(Stream)、文件(File)和IO

    Java.io Java 的控制台输入由 System.in 完成。 为了获得一个绑定到控制台的字符流,你可以把 ...

  • 自学Java最起码要学到什么程度才能就业?

    初级Java开发工作需要掌握的技术内容如下: JavaSE:基础语法、面向对象、数组、集合、常用API、IO流、反...

  • 自学Java最起码要学到什么程度?

    初级Java开发工作需要掌握的技术内容如下: JavaSE:基础语法、面向对象、数组、集合、常用API、IO流、反...

网友评论

    本文标题:初级05 - Java的控制流

    本文链接:https://www.haomeiwen.com/subject/jtbkrctx.html