首页 > 编程语言 >【Java】从头开始的Java复健day3

【Java】从头开始的Java复健day3

时间:2023-08-07 22:59:20浏览次数:42  
标签:复健 语句 Java int day3 System break println out

用的书:《Java从入门到精通》

day1(3.1-3.3): 【Java】从头开始的Java复健day1

day2(3.4-3.8): 【Java】从头开始的Java复健day2

第四章 流程控制

4.1 复合语句

复合语句为局部变量创造了一个作用域
在其中被定义的局部变量只能在该复合语句中被使用

public class Java4_1 {
    public static void main(String[] args){
        int x = 20;
        {// 这个花括号里的是复合语句
            int y = 40;
            System.out.println(y);
            int z = 245;
            boolean b;
            {// 这个花括号也里的是复合语句
                b = y > z;
                System.out.println(b);
            }
        }
        // System.out.println(y, z, b);
        // 此处yzb都不能被使用
        String word = "hello java";
        System.out.println(word);
    }
}

4.2 条件语句

if条件语句

  • if条件后如果只有一条语句可以省掉{},但是最好不要
  • if条件后如果没有语句可以省掉{}加; 也可以只跟个{}

if...else语句

可以简化为三元运算 详情见代码

if...else if语句 switch多分支语句

详情见代码

public class Java4_2 {
    public static void main(String[] args){
        boolean b = false;
        if (b){}
        if (b);

        int x = 45;
        int y = 12;
        if (x > y){
            System.out.println("变量x大于变量y");
        }
        if (x < y){
            System.out.println("变量x小于变量y");
        }

        int math = 95;
        int english = 56;
        if (math > 60){
            System.out.println("数学及格了");
        } else {
            System.out.println("数学没及格");
        }
        if (english > 60){
            System.out.println("英语及格了");
        } else {
            System.out.println("英语没及格");
        }

        int m;
        int n = -8;
        if (n > 0){
            m = n;
        }
        else {
            m = -n;
        }
        System.out.println(m);
        // 可以简化为
        m = n > 0?n:-n;
        System.out.println(m);

        if (math >= 60 && math < 90){
            System.out.println("数学:及格");
        }
        else if (math >= 90) {
            System.out.println("数学:优秀");
        }
        else {
            System.out.println("数学:不及格");
        }

        String user_input = "1";
        switch (user_input){
            // case后的表达式必须是整型、字符型或者字符串型
            case "1":
                System.out.println("1.取钱");
                // 没有break;就直接执行下一个case中的语句,直到遇到break;
                break;
            case "2":
                System.out.println("2.存钱");
                break;
            case "end":
                break;
            // default为可选项
            default:
                System.out.println("请输入1或者2,退出输入end");
        }
    }
}

4.3 循环语句

while循环

详情见代码

do...while循环

先执行循环体再判断while

for循环

for(表达式1;表达式2;表达式3){}

  • 表达式1:初始化变量
  • 表达式2:循环条件
  • 表达式2:修改变量操作

foreach语句

主要用在遍历数组比较方便

for(元素变量 x : 遍历对象 obj){
    引用了x的java语句;
}
public class Java4_3 {
    public static void main(String[] args){
        int i = -2;
        while (i <= -1){
            i++;
            System.out.println("run while");
        }

        do {
            i++;
            System.out.println("run do while "+ i +" times.");
        }while (i <= -3);

        // 若变量初始值为0 想循环n次 则写变量<n
        // 若变量初始值为1 想循环n次 则写变量<=n
        for (int j=1; j<=3; j++){
            System.out.println("run for "+ j +" times.");
        }

        int arr[] = {7, 10, 1};
        System.out.println("item in arr is: ");
        for (int x : arr){
            System.out.println(x);
        }
    }
}

循环控制

break

跳出当前循环体 但是只能跳出一层循环

想跳出外层循环的话

标签名:循环体{
    break 标签名;
}

continue语句

跳过本次循环接下来的语句开始下一次循环

也支持标签

标签名:循环体{
    continue 标签名;
}
public class Java4_4 {
    public static void main(String[] args){
        System.out.println("---------break---------");
        for (int i=1; i<=4; i++){
            System.out.println("running for1 in "+ i +" times");
            for (int j=1; j<=4; j++){
                System.out.println("running for2 in "+ j +" times");
                if (j >= 1){
                    // 跳出了for2但是还在进行for1
                    break;
                }
            }
        }

        System.out.println("-------跳出外层循环-------");
        // 跳出外层循环
        Loop: for (int i=1; i<=4; i++){
            System.out.println("running Loop in "+ i +" times");
            for (int j=1; j<=4; j++){
                System.out.println("running for3 in "+ j +" times");
                if (j >= 1){
                    // 跳出了for1(Loop)
                    break Loop;
                }
            }
        }

        System.out.println("--------continue--------");
        for (int i=1; i<=4; i++){
            System.out.println("running for in "+ i +" times");
            if (i > 1){
                // 跳出了for2但是还在进行for1
                continue;
            }
            System.out.println("running after if in the "+ i +"time");
        }

        System.out.println("-------跳出外层循环-------");
        // 跳出外层循环
        Loop: for (int i=1; i<=2; i++){
            System.out.println("running Loop in "+ i +" times");
            for (int j=1; j<=4; j++){
                System.out.println("running for in "+ j +" times");
                if (j > 1){
                    // 跳出了里层的for直接到Loop重新循环
                    continue Loop;
                }
                System.out.println("running after if in the "+ i +"time");
            }
        }
    }
}

标签:复健,语句,Java,int,day3,System,break,println,out
From: https://www.cnblogs.com/ryukirin/p/17612956.html

相关文章

  • 【JavaScript22】关于window
    window对象就是JavaScript的Global对象,所以在使用window对象的属性和方法是不需要特别指明。如:alert,实际上完整的调用是window.alert,通常省略了window对象的引用。//var直接在全局声明的变量,就是全局变量.let不是......varname="xwl";//全局变量,这种变量.实际上是......
  • 【JavaScript23】使用let声明变量
    前言ES2015(ES6)新增加了两个重要的JavaScript关键字:let和const。let声明的变量只在let命令所在的代码块内有效。const声明一个只读的常量,一旦声明,常量的值就不能改变。在ES6之前,JavaScript使用var声明变量只有两种作用域:全局变量与函数内的局部变量。......
  • JavaScript - JsBarcode条形码
    <!DOCTYPEhtml><html><scriptsrc="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script><scriptsrc="https://cdn.bootcdn.net/ajax/libs/jsbarcode/3.11.5/JsBarcode.all.min.js"><......
  • 【JavaScript21】关于Storage
    本地存储.存储在浏览器端的数据.可以理解成一个小型的非关系型数据库.localStorage和sessionStorage这俩玩意使用上是一样的.区别在于.一个是永久存储一个是临时存储.localStorage永久存储sessionStorage临时存储,浏览器关闭后.数据就没了.document.cookie也......
  • 【JavaScript20】箭头函数
    箭头函数没有自己的this,arguments,super或new.target。箭头函数适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。1、基本语法//(param1,param2,...,paramN)=>{statements}(param1,param2,...,paramN)=>expression//相当于:(param1,param2,...,paramN)=......
  • 【JavaScript19】解构赋值
    JavaScriptES6新增解构赋值,可以快读从数组或对象中取出成员。解构:将对象或者数组中的某个成员取出来;赋值:取出来的成员按顺序赋值给变量。数组的解构赋值使用中括号[]来进行解构数组,需注意变量名称和数组的值一一对应;或者把数组设置为一个变量,再解构let[a,......
  • 《Java编程思想第四版》学习笔记06
    为什么要把一个方法声明成final呢?正如上一章指出的那样,它能防止其他人覆盖那个方法。但也许更重要的一点是,它可有效地“关闭”动态绑定,或者告诉编译器不需要进行动态绑定。这样一来,编译器就可为final方法调用生成效率更高的代码。               ......
  • Java学习面向对象Day01
    面向对象Day01一、名词解释OO:面向对象(OrientedObject)定义:是一种以对象为导向,围绕对象来开发应用程序的软件开发方法。OOA:面向对象分析OOD:面向对象设计OOAD:面向对象的分析与设计OOP:面向对象编程----------你们所参与的二、现实世界中的类和对象先要......
  • Java学习面向对象Day02
    面向对象Day02-继承一、继承1.1生活中的继承皇位继承------------------------儿子不需要打江山,可以直接坐江山努尔哈赤---------------------东三省做主的范围东三省皇太极-----------------------继承的努尔哈赤可以直接对东三省做主自己打下了内外蒙古做主......
  • Java中的深拷贝浅拷贝
    在计算机内存中,每个对象都有一个地址,这个地址指向对象在内存中存储的位置。当我们使用变量引用一个对象时,实际上是将该对象的地址赋值给变量。因此,如果我们将一个对象复制到另一个变量中,实际上是将对象的地址复制到了这个变量中。浅拷贝是指将一个对象复制到另一个变量中,但是只......