Java基础02-运算符&流程控制

运算符

package 基础;

public class Demo07_运算符 {
    /* 四则运算当中“+”常见的三种用法:
    * 1. 对于数值来说,就是加法
    * 2. 对于字符char来说,在计算之前,char会被提升为int类型,在进行计算
    *   char类型字符转为int类型的对照关系表:ASCII,Unicode
    * 3. 对于字符串String,代表字符串连接操作
    * */
    public static void main(String[] args) {
        // 1.加 +
        System.out.println(20 + 30);
        int a = 10;
        int b = 20;
        System.out.println(a + b);

        // 2.减 -
        System.out.println(a - b);

        // 3.乘 *
        System.out.println(a * 20);

        // 4.除 /  :对于整数表达式,结果为整除。
        int x = 10;
        int y = 3;
        System.out.println(x / y);

        // 5.取模 % : 取余数,仅对于整数取模有意义,浮点数无意义。
        System.out.println(x % y);

        // 注意类型转换:int + double --> double + double --> double
        double res = x + 2.7;
        System.out.println(res);

        // String 类型的加法
        String str1 = "Hello";
        String str2 = ",World!";
        System.out.println(str1 + str2);
        // 任何数据类型和String类型相加时,都会被转为String类型。
        System.out.println(str1 + 20);
        // 注意优先级问题:
        System.out.println(str1 + 20 + 30);
        System.out.println(str1 + (20 + 30));


        /* 自增运算符(自减运算符类似)
        * 1. 单独使用: 不和其他任何操作混用,此时,++num  和 num++ 完全相等。
        * 2. 混合使用: 和其他操作混合,例如和赋值操作符混合,打印操作等:
        *   ++num 和 num++ 不同:
        *   ++num 表示先加值再进行其他操作, num++ 表示先操作再加值
        *
        * 注意事项:
        *   自增自减运算符只能用于变量,常量不可用。
        * */
        int num1 = 10;
        System.out.println(num1++); // 10
        System.out.println(++num1); // 12


        /*赋值运算符:
        *1. 基本赋值运算符: =
        *2. 复合赋值运算符: += -= *= /= %=
        * 规则如下:
        * a += 3 --> a = a + 3
        * a -= 3 --> a = a - 3
        * a *= 3 --> a = a * 3
        * a /= 3 --> a = a / 3
        * a %= 3 --> a = a % 3
        * */
        byte byte1 = 5;
        byte1 += 1;
        System.out.println(byte1);
        // 其中发生强制类型转换,byte提升为int进行计算。

        /*比较运算符:
        * 1. ==
        * 2. <=
        * 3. >=
        * 4. !=
        * 5. >
        * 6. <
        *
        * 注意事项:
        * 1.比较运算符的结果返回一定是布尔值。
        * 2.不能进行连写,如: 1 < x < 3
        * */
        System.out.println(10 > 5);
        // 返回布尔值,true。

        /*逻辑运算符:
        * 1. && 与,并且:连接两个布尔值,全真为真
        * 2. || 或:一真则真
        * 3. ! 非: 真变假,假变真
        *
        * 注意事项:
        * 1.逻辑运算符只用于布尔值
        * 2.与 或 需要至少两个布尔值,非 只需要一个布尔值
        *
        * 短路:
        * 如果根据左边即可判断表达式,则后面不会去判断。
        * */
        int aNum = 10;
        System.out.println(3 > 4 && ++aNum < 100);
        System.out.println(aNum); // 10
        // ++aNum 没有执行,因为3>4为false,右边的表达式不再运行。


        /*三元运算符:
        * 元:参数
        * 格式:
        * 数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B
        * 过程:
        * 先判断条件是否成立,成立为真则将表达式A赋值给变量,为假则将表达式B赋值给变量
        * 注意事项:
        * 1. 必须同时保证表达式A和表达式B都符合左侧变量的数据类型
        * 2. 三元运算的结果必须被使用
        *  */

        int numb1 = 10;
        int numb2 = 20;
        int maxNum = numb1 > numb2 ? numb1 : numb2;
        System.out.println(maxNum);
    }
}

方法入门

package 基础;

public class Demo08_方法 {
    /*方法定义的格式:
    *public static void 方法名() {
    *   方法体
    * }
    * 注意事项:
    * 1. 方法定义的先后顺序无所谓
    * 2. 方法定定义不能产生嵌套包含关系
    * 3. 方法定义后,不会执行,需要调用方法
    * 4. 方法调用的格式: 方法名称();
    * */

    public static void main(String[] args) {
        Run();
        Eat();
    }

    public static void Run() {
        System.out.println("running");
    }

    public static void Eat() {
        System.out.println("eating");
    }
}

流程控制判断语句

package 基础;

public class Demo09_流程控制_判断 {
    /*判断语句if:
     * 格式:
     * if(关系表达式) {
     *   语句体1
     * } else {
     *   语句体2
     * }
     * */

    public static void main(String[] args) {
        int num = 13;
        if (num % 2 == 0) {
            System.out.println("偶数");
        } else {
            System.out.println("奇数");
        }

        int x = 13;
        int y;
        if (x >= 3) {
            y = 2 * x + 1;
        } else if (-1 < x && x < 3) {
            y = 2 * x;
        } else {
            y = 2 * x - 1;
        }
        System.out.println(y);

        int a = 10;
        int b = 20;
        int max = a > b ? a : b;
        System.out.println(max);

        int maxNum;
        if (a > b) {
            maxNum = a;
        } else {
            maxNum = b;
        }
        System.out.println(maxNum);

        /*选择语句switch:
         * 格式:
         * switch (表达式) {
         *   case 常量1:
         *   语句体1
         *   break;
         *  case 常量2:
         *   语句体2
         *   break;
         *   default:
         *   语句体n
         * }
         *
         * 注意事项:
         * 1. 多个case的值不能相同
         * 2. switch语句中只能是下列数据类型:基本数据类型: byte/short/char/int
         *                               引用数据类型:String字符串/enum枚举
         * 3. switch语句很灵活,case前后顺序可以变化,break语句可以省略
         * 4. 省略break后,会导致case穿透,遇到break语句后,才会停止,如下例2
         * */

        int numS = 1;
        switch (numS) {
            case 1:
                System.out.println("1");
                break;
            case 2:
                System.out.println("2");
                break;
            default:
                System.out.println("not 1 or 2");
                break;
        }

        // 省略break,此时会输出 20, 30 ,40
        int num1 = 20;
        switch (num1) {
            case 10:
                System.out.println("10");
                break;
            case 20:
                System.out.println("20");
            case 30:
                System.out.println("30");
            case 40:
                System.out.println("40");
                break;
        }
    }
}

流程控制循环语句

package 基础;

public class Demo10_流程控制_循环 {
    public static void main(String[] args) {
        /*循环结构的基本组成部分:
         * 1. 初始化语句:在循环最开始执行,仅做一次
         * 2. 条件判断: 如果城里,继续循环,否在停止循环
         * 3. 循环体:需循环的语句
         * 4. 步进语句: 每次循环之后要进行的语句
         * */

        /*for循环:
         * 格式:
         * for (初始表达式;布尔表达式;步进表达式) {
         *   循环体
         * }
         * */
        for (int i = 1; i <= 100; i++) {
            System.out.println(i);
        }

        /*while循环:
         * 格式:
         * while (条件判断) {
         *   循环体
         * }
         * */
        int num = 1;
        while (num <= 100) {
            System.out.println(num);
            num++;
        }

        /*do while循环:
        * do {
        *   循环体
        *} while (条件判断) {};
        * */

        int num1 = 1;
        do {
            System.out.println(num1);
            num1++;
        } while (num1 <= 100);

        // 1~100之间的偶数和
        int sum = 0;
        for (int i = 1; i <= 100 ; i++) {
            if (i % 2 == 0) {
                sum += i;
            } else {

            }
        }
        System.out.println("sum is " + sum);

        /*三种循环的区别:
        * 1. 如果条件判断一次都没有满足,for和while循环会执行0次,但do-while会执行1次
        * 2. for循环的变量在小括号但中定义,只有在循环内部(循环作用范围内)可以使用
        *   while和do-while循环初始化语句不在循环内,循环结束后仍可使用
        * */

    }
}

条件控制

package 基础;

public class Demo11_条件控制 {
    public static void main(String[] args) {

        /*break关键字的用法:
        * 1. switch语句中:一旦执行break,整个switch语句立刻结束
        * 2. 循环语句中:一旦执行break,整个循环语句立刻结束,打断循环
        * */
        for (int i = 0; i < 10; i++) {
            if (i==4) {
                break;
            } else {
                System.out.println(i);
            }
        }

        /*continue关键字用法:
        * 1. 循环语句中:一旦执行continue语句,立刻跳过当前循环,进入下一次循环
        * */

        for (int i = 0; i < 10; i++) {
            if (i==4) {
                continue;
            } else {
                System.out.println(i);
            }
        }

        /*死循环:
        * while (true) {
        *   循环体
        * }
        * */

//        while (true) {
//            System.out.println(100);
//        }

        /*循环嵌套:
        *
        * */

        for (int i = 0; i < 24; i++) {
            for (int j = 0; j < 60; j++) {
                System.out.println(i + ":" + j);
            }
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值