第三章 操作符

原创 2013年12月02日 19:01:39

 3.1 打印语句

System.out.println(“aaa”+ b); +是连接字符串,有将b转换成String类型的过程。

3.4赋值

别名陷阱,在对象赋值是t1=t2;实际上,t1本身的引用被t2的覆盖掉(t1的引用被垃圾回收器回收),在修改t1时,t2也会跟着变化。用t1.a=t2.a,保证t1和t2的独立性。

操作符的操作是一个对象的引用

3.5算数操作符

Random类的使用方法,nextInt(max)函数,随机数为0-max中的最大数,为防止0变为除数,nexInt()+1;一般要加1操作。

Random rand = new Random(48);中48的作用,如果没有48,用默认值系统时间作为种子,在第一次执行时随机数为16,隔几秒执行随机数变化24或者其他。如果指定为48,无论你今天运行还是明天运行,输出结果随机数都是同一个。

3.7关系操作符

对于== 和equals()的不同情况应用

==在比较对象时,比较的是引用,即指向的地址。

要比较两个对象的内容(其中的字段值)是否相等,要用equals()。(不包括基本类型,基本类型用== 和 !=)

但是equals()在类中默认,是比较的引用。equals(Integer a,b)之所以返回比较内容的结果,是Integer类中,重写了equals函数。对于自己定义的类,如Dog之类的,要重写equals()函数才可以。

3.8 逻辑操作符

java中,不能将非布尔值当做布尔值,如i=10,不能直接(!i)

逻辑操作符中短路现象,a&&b&&c,如果b为false,c的逻辑值不需要再计算,如果正确的设计abc的顺序,可以提高计算性能。

3.9 直接常量

long double float 后面要加L,D,F相应的符号,0X为16进制hexadecimal 0打头为8进制。

指数计数法,1.39e-43f 表示 1.39* ,e这里表示10的幂,不是2.718

3.10 按位操作符

& | ~ 异或(^,10或01输出结果为1) &= |=^=

3.11 移位操作符

<< 左移,箭头所指的方向,在低位补0;

>> 有符号右移,符号为正,高位插入0,符号为负,高位插入1;

>>> 无符号右移,无论正负,在高位插入0.

<<=、 >>=、>>>=(对short byte无符号右移会出错)

3.12 三元操作符 if-else

i<10? i*100:i*10 ; 如果i<10成立,执行i*100,否则执行后一个。代码紧凑,但是不好理解。

3.13+操作符重载

int x,y,z;

print(“abc”+x+y+z); 与 print(“abc”+(x+y+z)); 不一样,后者先计算xyz的和,然后输出一个值。

3.14 使用操作符常犯的错误

= 和 ==两者之间的区别

3.15 类型转换操作符

narrowing conversion:如将double转化为int,会伴随信息丢失。

widening conversion:不会造成信息丢失。 int转为float

在narrowing时,信息是截尾的。(int)0.7=0;可以用Math中的round方法四舍五入,round(0.7)=1;

在计算时,默认将类型变大,避免信息丢失。

3.16 java中没有sizeof

sizeof最大的原因是为了移植,java不需要。

Boolean布尔型值,可用的操作比较少,不可加减等。只能赋值true false

char byte short在进行运算(+ - * /)时,数据类型会提升到int,必须强制转换结果才能赋值。char a=(int)(a+b);

 

第三章:操作符(这是我第三遍编辑了,因为bug)

操作符 我之前也看过JavaScript中的操作符,大体上来说,区别不是很大。因为比较基础,我就不仔细分类了,就把一些关键点记录下来。 几乎所有操作符都只能操作基本类型,例外的操作符是=、==、!=。...
  • miaoch
  • miaoch
  • 2017年06月20日 09:41
  • 130

读书笔记 Think in Java 4th 第三章 操作符

1.基本数据类型的赋值十分简单。基本类型存储了实际的数值,而非只想一个对象的引用,所以在为其赋值的时候,是直接将一个地方的内容复制到另一个地方。例如,对基本数据类型使用a=b,那么b的内容就复制给了a...

《Java 编程思想》--第三章:操作符

基本类型存储了实际的数值,而并非指向一个对象的引用,所以在为其复制的时候,是直接将一个地方的内容复制到了另一个地方对一个对象进行操作时,真正操作的是对对象的引用,所以倘若将一个对象赋值为另一个对象,实...

第三章swift 基本的操作符

操作符是一种特殊的符号或短语,你可以用它来检查,改变,或组合值。例如,加号操作符(+)把两个数加在一起(就像在let i=1+2里一样)。更复杂的例子包括逻辑与操作符&&(就像在if enteredD...

第三章 操作符

第三章 操作符标签(空格分隔): AgainThinkingInJava

第三章:基本概念(操作符)

操作符 定义:操作符能用于操作数据值,包括算术运算符、位操作符、关系操作符和相等操作符。操作符能适用于很多值,例如字符串、数字值、布尔值,甚至对象。在应用于对象时,相应的操作符通常会调用对象的va...
  • miaoch
  • miaoch
  • 2017年03月15日 09:08
  • 263

第三章.操作符

导语: 在最底层,Java中的数据是通过使用操作符来操作的。 1.Java操作符的定义 操作符接受一个或多个参数,并生成一个新的值,可能是boolean。+、-、*、/、和赋值号(=)的用法与其他...

TIJ-第三章:操作符

第三章:操作符 #1#+ 单纯的为两个数字相加,但是有些情况例如打印出字符串或其他文本格式到控制台时,+就意味着连接,并强制使+后面的格式跟随+前面的。 #2#=:赋值操作符,它的意思是取右边的值...

EffectiveC++第三章构造函数析构函数和赋值操作符学习笔记

条款11: 为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符 这个缺省的赋值操作符会执行从a的成员到b的成员的逐个成员的赋值操作,对指针(a.data和b.data) 来说就是逐位拷贝。 ...

Java编程思想第四版读书笔记——第三章 操作符

今天是Java编程思想第四版第三章读书笔记, 操作符
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第三章 操作符
举报原因:
原因补充:

(最多只允许输入30个字)