黑马程序员技术交流社区

标题: ---------一.算数运算符:---------- [打印本页]

作者: syusouki    时间: 2015-10-4 09:50
标题: ---------一.算数运算符:----------
  1."+"的特点:               
    A.+运算符,如果左右两边是"数值"类型,那么就做加法运算:               
        int a = 10;               
        int b = 20;               
        System.out.println(a + b);               
        System.out.println(10 + b);               
    B.如果左右两边,有一边是"字符串"类型,那么结果就做:字符串连接:               
        String name = "刘德华";               
        System.out.println(name + 10);               
    C."字符类型(char)"跟"整型"是兼容的类型;一个char类型,可以和一个数值类型做+,-,*,/等运算;               
      在做运算时,char类型使用的底层的Unicode编码的值;               
        char c1 = 'a';       
        System.out.println(c1 + 1);//98       
               
  2.-               
  3.*               
  4./               
    10 / 3 : 3               
    10 / 0 : 运行时异常;               
    10.0 / 0 :Infinity(无穷)不是异常               
  5.%(取余)               
    10 % 3 : 1               
    10 % 0 : 运行时异常               
    10.0 % 0 : NaN(Not A Number)不是异常               
               
负数取模,余数和被模数符号一致               
    -10 % -3 :-1                
    10 % 3 :1               
    -10 % 3:-1               
    10 % -3:1               
  6.++:对变量自增1               
  7.--:对变量自减1               
               
注意:++和--               
  1.++和--是对变量本身进行更改;自增1或自减1               
  2.它可以放在变量的前面,也可以放在变量的后面;               
  3.它在左右两边,必须是"变量",不能是"常量值"或"表达式";               
  4.如果表达式中,只做++和--,那么放在前或放在后,都一样;但是,如果表达式还做其它事情,那么前++/--和后++/--效果就不一样了;               
   int num1 = 10;               
   int num2 = ++num1;//num2 = 11               
   int num2 = num1++;//num2 = 10;               
class Demo                
{               
        public static void main(String[] args)        
        {       
                int num1 = 9;
                int num2 = 5;
               
                int result = num1 + num2;
                System.out.println(result);
                System.out.println(num1 + num2);
               
                System.out.println(8 + 2 * 3 / 4);//跟我们上学时学的一样:计算顺序:先乘除,后加减;
                System.out.println((8 + 2) * 3 / 4);//可以使用小括号改变运算顺序;
                System.out.println((8 + 2) * ( 3 / 4));//小括号可以并列;
                System.out.println(((8 + 2) * 3) / 4);//小括号可以嵌套;
               
                //除法:
                //整数除法:除数不能为0。如果为0,编译可以通过,但运行时会抛出异常;
        //        System.out.println(3 / 0);//编译通过;但运行时异常:ArithmeticException
                System.out.println(10 / 2);//5
                //整数除法,结果取"商",如果有小数部分,将会被舍去;
                System.out.println(10 / 3);//3
               
                //小数除法
                System.out.println(3.0 / 0);//Infinity(无穷):它不是一个异常;
                System.out.println(10.0 / 3);//3.333.....
                System.out.println(10.0 / 4);//2.5
               
                //5.%(取余(模))
                System.out.println(10 % 3);//1
        //        System.out.println(10 % 0);//编译通过,运行时异常:ArithmeticException
                System.out.println(3.0 % 0);//NaN(Not A Number):它不是一个异常;
               
                System.out.println(10 % 3);//1
                System.out.println(-10 % -3);//-1
                System.out.println(-10 % 3);//-1
                System.out.println(10 % -3);//1
               
                //6.++(自增1)
        //        double num1 = 100;//错误。在同一个作用域范围内,不能定义同名的变量,即使是不同的数据类型;
               
                int num3 = 10;
                num3++;//num3 = num3 + 1;
                num3--;//num3 = num3 - 1;
               
                ++num3;//num3 = num3 + 1;
                --num3;//num3 = num3 - 1;
               
                //注意:++和--左右两边,必须是一个变量,不能是"字面量"或者"表达式";
        //        4++;//编译错误;
                int a = 10;
                int b = 20;
        //        (a + b)++;//编译错误;
               
                //关于表达式中的++和--
                int num4 = 10;
        //        int num5 = num4++;//num4是后++,所以让num4先参与表达式的其它运算,然后num4再自增1
                int num5 = ++num4;//num4是先++,所以让num4先自增1,然后再参与表达式的其它运算;
               
                System.out.println(num5);//11
                System.out.println(num4);//11
               
                int x = 0;
                x = x++;//1.先将x的值缓存;2.将x的自增1;3.将缓存的值0赋给x;
                System.out.println(x);
               
                int aa = 2;
                int bb = 10;
                System.out.println(aa + (bb++));//12
                System.out.println("程序结束!");
        }       
}               



作者: 太子奕    时间: 2015-10-4 10:30
虽然不是很懂,但看上去很厉害的样子,学习下!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2