Java笔记整理:操作符

原创 2016年08月31日 11:36:09

Java笔记整理:操作符

JAVA操作符

除“=”,“==”和“!=”外,所有操作符只能操作基本数据类型
String类支持“+”和“+=”

优先级

在连加的表达式中,String类型的元素后面的所有元素,都会自动转换成String类型

赋值

常量不能作为左值
基本数据变量存储的是实际的数值,赋值时会复制实际的内容
对象赋值时实际上是复制引用,而不是对象本身

算术操作符

整数除法会直接去掉小数位,而不是四舍五入
一元加操作符,像“+4”,会将较小类型的操作数提升为int

递增递减操作符

递增递减操作符是唯一具有“副作用”的操作符,即改变操作数

关系操作符

关系操作符会生成一个boolean结果
boolean类型不支持除“==”和“!=”外的比较符

对象间进行比较时,实际上比较的是两个引用
JAVA内置的一些类的equals方法其实是重载了Object类的equals方法,equals方法默认比较引用

逻辑操作符

逻辑操作符会生成一个boolean结果
逻辑操作符的操作数只能是boolean类型,JAVA不允许将非布尔值当作布尔值使用
JAVA存在短路特性

直接常量

前缀

  1. 十六进制:0x 或 0X
  2. 八进制:0
  3. 没有二进制(可以使用Integer.toBinaryString()方法获得)

后缀

  1. long:l 或 L
  2. double:d 或 D
  3. float:f 或 F

试图将变量初始化成超出自身范围的值,会得到一条错误信息
如果没有后缀,会默认转换成int值

指数计数法

编译器会将指数作为double类型处理

位操作符

~是一元操作符,因此没有~=
boolean类型可以应用于位操作符,但不能使用 ~ 操作符
位操作符表达式不会中途短路

移位操作符

左移低位补零
右移高位正数补零,负数补一(>>>则全部补零)

char,byte和short在移位前会先转换成int,移位后截断转换为原来的类型
int和long移位后的位数不会超过自身的最大位数

字符串操作符

JAVA不能重载操作符
如果表达式以一个字符串开头,后续所有操作数都会被转换成字符串类型

JAVA可以通过编译时检查防止while(x=y)这种错误的发生,因为int类型不能转换为boolean类型,除非像true=false,则不会得到错误。同样的,也可以防止逻辑操作符和位操作符的混淆

类型转换

窄化转换可能会导致信息丢失
扩展转换不必显示进行,会自动发生

将float和double转换成int类型时,会进行截尾而不是舍入
对char,byte或short的数据进行算术运算或位运算时,运算之前会自动转换成int

表达式中出现的最大数据类型决定了最终结果的数据类型


JAVA没有sizeof,因为在所有机器上的数据类型大小都是没有区别的

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

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

《Java编程思想》读书笔记3.操作符

第3章 操作符 3.1 更简单的打印语句 3.2 使用Java操作符 3.3 优先级 3.4 赋值 3.5 算术操作符 ……...

Java 编程思想(第四版)学习笔记(3)操作符

第三章 操作符 一、更简单打印语句 Systme.out.println(""); 用更简单的方法打印语句如下:  Import java.util.*; Import static net...

java编程思想-----笔记(二)____操作符+流程控制

1.  静态导入         使用静态导入可以使被导入类的静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名         过度地使用静态导入会在一定程度上降低代码的可读性...

[学习笔记][Java编程思想]第3章:操作符

在最底层,Java中的数据是通过使用操作符来操作的。 1 更简单的打印语句 使用外部代码包时,要先将代码包导入项目,才能import。 静态导包static import将在第6章讲解。 2 使用Ja...

读thinking in java笔记(二):操作符

java 操作符
  • ZJDWHD
  • ZJDWHD
  • 2016年09月01日 19:32
  • 950

Java操作符----学习笔记

使用java操作符 操作符接受一个或者多个参数,并且生成一个新的值,参数的形式和普通的方法调用不同,但是效果是相同的 优先级 最简单的规则就是先乘除再加减, 应该用括号明确规定计算顺序 +号除了...
  • Jsonyy
  • Jsonyy
  • 2017年06月23日 22:22
  • 104

JAVA编程思想笔记--操作符

赋值:基本类型存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的时候,是直接将一个地方的内容复制到了另一个地方。 在为对象”赋值”的时候,情况却发生了变化,对另一个对象进行操作时,我们真正操...

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

今天是Java编程思想第四版第三章读书笔记, 操作符

《JAVA编程思想》笔记-操作符&控制执行流程

此书第三章和第四章内容其实程序设计语言都遵循类似的操作符规则来设计操作符,故基本的内容不用多说,将一些java操作符的特性吧。操作符左自加和右自加的区别python中是没有自加操作的,所以这也算jav...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java笔记整理:操作符
举报原因:
原因补充:

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