/**
 * @author WanJl
 * @version 1.0
 * @title Demo02
 * @description Java运算符-
 * @create 2026/7/14
 */
public class Demo02 {
    /*
        运算符：
        按照操作数的数量分类：
            一元运算符：  ++      --
            二元运算符
            三元运算符

        按照功能分类：
            1、算术运算符 ✅
            2、赋值运算符 ✅
            3、比较运算符 ✅
            4、逻辑运算付 ✅
            5、位运算符   ✅
            6、三目运算符

     */
    public static void main(String[] args) {
        /*
            1、算术运算符
            +   加号              5+5                 10
            -   减号              5-3                 2
            *   乘号              5*3                 15
            /   除号              5/3                 1   (不是1.66666...7)
            %   取余/取模          5%3                 2   (5 / 3 = 1 余 2) 获取的就是余数
            ++  自增              ++i / i++       一元运算符   因为只有一个数参与运算
            --  自减              --i / i--
         */
        int a=10,b=3;
        System.out.println("10+3="+(a+b));
        System.out.println("10-3="+(a-b));
        System.out.println("10*3="+(a*b));
        System.out.println("10/3="+(a/b));
        System.out.println("10%3="+(a%b));
        /*
            算术运算符中常见的问题：

         */
        //整数除法截断：
        System.out.println(10/3);   //两个整数相除，结果为整数，会直接截断小数部分，只保留整数。
        System.out.println(10/3.0); //如果有一个小数参与，结果就为小数
        System.out.println(10.0/3);

        // 0 不能做除数
        //System.out.println(3/0);    //会出现ArithmeticException 算术异常 （异常会让程序停止）
        System.out.println(3/0.0);      // 会 输出 Infinity
        System.out.println(3/-0.0);      // 会 输出 -Infinity
        System.out.println(0.0/0.0);      // 会 输出  NaN  Not a Number
        //以上 都表示 0 不能做除数，做了除数会有错误

        //取模运算 %
        System.out.println(10%3);   //1
        System.out.println(-10%3);  // -1 返回的符号和被除数相同


        // 自增和自减
        //  ++ 表示这个数增加1 -- 表示这个数减1
        //  ++ 符号在前，就会先进行自增运算，后进行其他操作（比如赋值）
        //  ++ 符号在后，就会先进行其他操作，后进行自增运算

        int i=10;
        int j=++i;  //  赋值的数值 是自增运算后的 数值
        int k=i++;  //  赋值的数值 是自增运算前的 数值
        System.out.println(j);
        System.out.println(k);
        System.out.println(i);


        //1、定义一个整数7，判断是奇数还是偶数（奇数不能被2整除，偶数能被2整除）
        int i1=7;
        if (i1%2==0){
            System.out.println("偶数");
        }else {
            System.out.println("奇数");
        }
        //2、定义两个整数 a1和b1，判断a1是否是b1的倍数（a1能不能被b1整除）
        int a1=10,b1=5;
        if (a1%b1==0){
            System.out.println("是倍数");
        }else {
            System.out.println("不是倍数");
        }

        //3、定义一个整数，判断它是整数还是负数还是0
        int i2=10;
        if (i2>0){
            System.out.println("正数");
        }else if(i2<0){
            System.out.println("负数");
        }else {
            System.out.println("0");
        }

        //4、定义一个总分钟数比如130分钟，转换成几小时几分钟，并且判断是否超过1个小数
        int time=130;
        int h=time/60;
        int m=time%60;
        System.out.println(h+"小时"+m+"分钟");
        if (h>1){
            System.out.println("超过1小时");
        }else {
            System.out.println("不超过1小时");
        }










    }
}
