zoukankan      html  css  js  c++  java
  • Java 控制语句

    1. 条件控制语句

    1-1. if语句

    if (条件1) {
       if (条件2) {
           代码块1
       }
       else {
           代码块2
       }
    }
    else if {
       代码块3
    }
    else {
       代码块4
    }
    
    • 为了增强代码的可读性,建议都加上大括号,即使只有一条语句,甚至没有(有时为了编程需要,if 或 else 后面的大括号可以没有语句)。更多java代码规范,参见:Google Java 编程风格指南
    • 所有的条件语句都是利用条件表达式的真或假来决定执行路径,Java里不允许将一个数字作为布尔值使用,虽然这在C和C++是允许的,如果要在布尔测试里使用一个非布尔值,需要先用一个条件表达式将其转换成布尔值,其他控制语句同理。

    1-2. switch语句

    switch (表达式) {
       case 值1:
           代码块1
           break;
       case 值2:
           代码块2
           break;
       ...
       default:
           默认执行的代码块
    }
    
    • switch 语句中的表达式必须是整型或字符型。

    2. 循环控制语句

    2-1. while和do while 语句

    while 的执行过程是先判断,再执行。

    while语法:

    while (条件) {
       代码块
    }
    

    do-while 的执行过程是先执行,再判断(所以循环内的代码至少会执行一次)。

    do-while语法:

    do {
       代码块
    }while (条件);
    

    2-2. for语句

    for语法:

    for (循环变量初始化; 循环条件; 循环变量变化) {
       循环操作
    }
    

    2-3. Java 增强 for 循环

    Java5 引入了一种主要用于数组的增强型 for 循环(foreach)。
    Java 增强 for 循环语法格式如下:

    for (声明语句 : 表达式) {
      //代码句子
    }
    

    声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
    举例:

    public class Test {
      public static void main (String[] args) {
          int[] number = {10, 20, 30, 40};
         for (int x : number){
               System.out.print(x);
               System.out.print(",");
           }       
       }
    }
    

    运行结果:

    前面一个故意试了下用System.out.println()来输出,原来是输出后还有个换行。

    3. 跳转语句

    breakcontinue,还以为是什么不一样的,比如说goto。break直接跳出循环,continue跳过当次循环剩下的语句进入下一个循环。

    • java 还提供了一种带标签的 break 语句,用于跳出多重嵌套的循环语句。只要在代码中写一行:label:(注意是冒号结尾),用break label;就可以跳到该位置。当然也适用于 if 等语句,事实是可以将标签运用于任何语句中。需要注意的是,只能跳出语句块,而不能跳入语句块。
    • 还有一种带标签的 continue 语句,将跳到与标签匹配的循环首部。

    参考资料

  • 相关阅读:
    【二分】Urozero Autumn Training Camp 2016 Day 5: NWERC-2016 Problem C. Careful Ascent
    【强连通分量缩点】【DFS】【动态规划】Urozero Autumn Training Camp 2016 Day 5: NWERC-2016 Problem B. British Menu
    【Splay】Codeforces Round #424 (Div. 1, rated, based on VK Cup Finals) B. Cards Sorting
    【Splay】bzoj3223 Tyvj 1729 文艺平衡树
    【Splay】bzoj3224 Tyvj 1728 普通平衡树
    【LIS】【递推】Gym
    【DFS】【枚举】Gym
    【递推】【DFS】【枚举】Gym
    【推导】Codeforces Round #424 (Div. 1, rated, based on VK Cup Finals) A. Office Keys
    【概率dp】【数学期望】Gym
  • 原文地址:https://www.cnblogs.com/mingyueanyao/p/6598729.html
Copyright © 2011-2022 走看看