首页 > 程序开发 > 软件开发 > Java >

浪潮优派培训Java笔记:第3章 运算符

2011-12-06

第3章 运算符3.1.1 % 取余运算符(也成为模运算符) 取余运算符既可用于两个操作数都是整数的情况,也可用于两个操作数都是浮点数(或一个操作数是浮点数)的情况。 a%b的计算公式为:a % b = a - (...

第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 www.2cto.com

  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 赋值运算符=,及其扩展赋值运算符如+=,―=,*=,/=等

例如:

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

总结:如果+=两边至少有一个是字符串则为字符串追加符


摘自 ynz1219
相关文章
最新文章
热点推荐