Java数据类型与表达式Java符号数据类型与变量表达式与.ppt
*******************************1.移位运算符----使用示例x(十进制表示)二进制补码表示x2x2x230-17在处理带符号的右移中,右移后左边的留出的空位上复制的原数的符号位。而不带符号的右移中,右移后左边的空位一律填0。带符号的左移在后边填补0。数据在计算机内是以二进制补码的形式存储,正负数的区别看最高位:0代表正数;1则为负数30的二进制是17是-17他的负数补码是反码加1,所以-17的二进制是2.按位逻辑运算
x=13,y=43,计算各运算结果。首先,将数据转换为二进制形式:x=1101,y=101011以字节数据为例,x和y均占用一个字节,所以x和y的二进制为:xy?~x结果应最高位是1,所以是负数,把0010转成补码是1110,即14,十进制结果为-14。xy=1001,也即十进制的9;赋值组合运算符是指在赋值运算符的左边有一个其它运算符例如:x+=2;//相当与x=x+2其功能是先将左边变量与右边的表达式进行某种运算后,再把运算的结果赋给变量。能与赋值符结合的运算符包括:算术运算符:+,-,*,/,%位运算符:,|,^?位移运算符:,,其它运算符运算符描述?:作用相当于if-else语句[]用于声明数组,创建数组以及访问数组元素.用于访问对象实例或者类的类成员函数(type)强制类型转换new创建一个新的对象或者新的数组instanceof判断对象是否为类的实例Java运算符的优先级与结合性运算符描述优先级结合性()圆括号15左new创建对象15左[]数组下标运算15左.访问成员(属性、方法)15左++,--后缀自增、自减114右++,--前缀自增、自减113右~按位取反13右!逻辑非13右-、+算术符号(负、正号)13右(type)强制类型转换13右*、/、%乘、除、取模12左+、-加、减11左、、移位10左Java运算符的优先级与结合性(续)、、=、=?instanceof关系运算9左==、!=相等性运算8左位逻辑与7左^位逻辑异或6左|位逻辑或5左逻辑与4左||逻辑或3左?:条件运算符2右=?+=?-=?*=?/=?%=?=^=?|=?=?=?=赋值运算符1右注意:1.优先级决定表达式的运算次序,优先级值大的运算先计算;xyx5相当于(xy)(x5)2.优先级相同,则运算次序取决于结合性.左结合就是按由左向右的次序计算表达式例如,4*7%3右结合就是按由右到左的次序计算。例如:a=b=c相当于“a=(b=c)”再如,a?b:c?d:e相当于“a?b:(c?d:e)”1.数据的输出(1)print()方法:实现不换行的数据输出;(2)println()方法:与上面方法的差别是输出数据后将换行。(3)printf()方法:带格式描述的数据输出。该方法包含两个参数,第一个参数中给出输出格式的描述,第2个参数为输出数据,其中,输出格式描述字符串中需要安排与输出数据对应的格式符。常用格式符包括:%d代表十进制数;%f代表浮点数;%e代表科学表示法的指数位数;%n代表换行符;%x代表十六进制数;%s代表字符串。数据的输入输出例2-2数据输出应用举例publicclassTest{ publicstaticvoidmain(Stringa[]){ intm=12,n=517; System.out.print(n%m=+(n%m)); System.out.println(\tn/m=+(n/m