Java中的算数运算符 ( + , - , * , / , % , && , || , ^ , ? ():() )

public class TestOperat {

    public static void main(String[] args) {
        /*
            算术运算符: +  -  *   /   %
         */
        System.out.println(5 + 2);
        System.out.println(17 - 9);
        System.out.println(5 * 8);
        System.out.println(9 / 3);
        /*
            + : 当+号左右两端出现一个字符串的时候,那么它执行的
            是字符串拼接动作。
         */
        int result = 50;
        System.out.println("最终结果是:" + result);
        System.out.println("最终结果是:" + (3 + 7) );

        /*
            % : 取模,取余
            该符号是对左右两个操作数做除法,只不过最终结果不是商而是余数

            特殊:
            1、余数正负号,只跟第一个被除数有关;
            2、%符号的运算只在整数运算下才有意义;

         */
        System.out.println( 8 % 5);
        System.out.println(-8 % 5);
        System.out.println(8 % -5);
        System.out.println(-8 % -5);
        System.out.println(5.3 % 2.6);

        /*
            最重要的:所有的算术运算符号,如果左右两端的运算数数据类型
            一致,那么结果就是该类型的结果。
                     如果不一致,那么结果就是大的那个数据类型的结果
         */
        System.out.println( 1 / 2 );
        System.out.println( 1 / 2.0);

        /*
            赋值运算符:=
            把赋值运算符右边的表达式,赋给左边的变量
            1、左边只有一个变量
            2、要注意左右两边的数据类型:自动类型转换 和 强制类型转换
         */
        int a = 0, b = 0;
        a = a + 13;

        /*
            变形的赋值运算符(一): +=  -=  *=  /=  %=
         */
        b += 5;// b = b + 5;

        /*
            变量 = 变量 + 值;
            变量 += 值;
            这两句的最终效果是一样的,但是如果出现类型不匹配的情况,
            语句一只能我们自己强制类型转换,语句二可以由该表达式帮我们进行类型转换
         */
//        b = (int)(b + 3.14);
        b += 3.14;
        System.out.println(b);

        /*
            变形的赋值运算符(二): ++  --
            又被称之为"自增长","自减小"
         */
        a = 100;
        a++;// a += 1;  a = a + 1;
        ++a;
        System.out.println(a);
        a--;// a -= 1; a = a - 1;
        --a;
        System.out.println(a);
        /*
            前加 ++a   前减 --a
            后加 a++   后减 a--
            单独使用a++ 和 ++a 是没有区别的(--也是同理)
         */
        int num = 10;
        System.out.println( ++num * 5 );

        /*
           比较运算符: >  <  >=  <=  !=  ==
           比较运算符最终的结果只能是boolean类型true或false
         */
        System.out.println(5 > num);

        /*
            三目运算符:  表达式1 ? 表达式2 : 表达式3
            1、表达式1必须是一个布尔表达式;
            2、当表达式1为true的时候,用表达式2的结果作为整个三目运算符的结果;
               当表达式1为false的时候,用表达式3的结果作为整个三目运算符的结果
         */

        System.out.println( num < 5 ? "男" : "女" );

    }
}