Java笔记:第3章 运算符

第3章 运算符

3.1.1  % 取余运算符(也成为模运算符)

     取余运算符既可用于两个操作数都是整数的情况,也可用于两个操作数都是浮点数(或一个操作数是浮点数)的情况。

     a%b的计算公式为:a % b = a - (int)(a /b) * b

     /%

     //两边为整数

int a = 9;

int b = 2;

System.out.println(a / b);   // 4

System.out.println(a % b);   // 1

     // 两边为浮点数

       int d1 = 9;

       double d2 = 3.0;

System.out.println(d1 / d2); // 3.0

System.out.println(d1 % d2); // 0.0

         7 / 3   //整除,运算结果为2
7.0 / 3  //除法,运算结果为2.33333,即结果与精度较高的类型一致
7 % 3    //取余,运算结果为1
7.0 % 3  //取余,运算结果为1.0
-7 % 3   //取余,运算结果为-1,即运算结果的符号与左操作数相同
7 % -3   //取余,运算结果为1,即运算结果的符号与左操作数相同

3.1.2 自增自减运算符(++,--)

     如果为前缀(++i,--i),则为先加一或减一,然后使用。

     如果为后缀(i++,i--),则为先使用,然后加一或减一。

3.1.3 “+”运算符

     如果两边是数值类型,则完成数值相加;

     如果两边至少有一个是字符串类型的参数,则为字符串追加符。

     案例:

System.out.println(" " + 2 + 3);// 空格23

System.out.println(2 + 3);       //5

System.out.println(2 + 3 + " "); //5空格

System.out.println(2 + " " + 3); //2空格3

3.1.4 移位运算符 :>>(右移),<<(左移 ),>>>(无符号右移)

如果是byte,short,int,char型移位时自动扩展为int型。

一般规律:

       <<  往左移   左移n位,右面补0。 byte、short和char类型移位后的结果会变成int类型。   

       >>  往右移   右移n位,高位补符号位。

       >>>  无符号移位   始终补0。

       注意:    1)移位运算的前提是不要超出数的表示范围

              2)移位运算只针对整数类型(byteshort char int long)

3.1.5 赋值运算符=,及其扩展赋值运算符如+=,�D=,*=,/=等

例如: 


byte i=3;      

       i+=3;

bytei=3;      

i=i+3; //错误,正确写法为:i=(byte)(i+3);


  右边的例子:i本来是byte型的,与字面量3相加则变成int型的了。

可见, += 或 -= 有时隐含着强制类型转换。

     案例分析:

        String s = "Hello";

        String s1 = "hh";

        int i = 10;

        s += i;

        System.out.println(s); //s=Hello10

        s += s1;

System.out.println(s); //s=Hello10hh

你可能感兴趣的:(java,职场,计算,休闲)