android基础篇------------java基础(2) (运算符的种类)

来源:互联网 发布:java 文件夹复制 覆盖 编辑:程序博客网 时间:2024/06/05 02:56

这一章主要是总结一下,我们学的基础知识,查漏补缺:

首先我们要了解一下运算符的种类:

一:算数运算符:

二元运算符:+(加法),-(减法),*,/

一元运算符:+(整数),-(负数)++,--

运算特点:

(1)当byte,short,char运算时,会先转换为int类型,也就是说混合类型运算时候,会先转换成范较大的类型,而后运算。

(2)当+运算时,如果一个操作数是字符串,其他操作数自动转换成字符串。

加法值得注意的是字符串和数字的加法问题:

举个例子来说:

String test= 1+2+"abc"+1+2;

结果为:3abc12

二:赋值运算符

基本运算符:=

涉及到类型转换的问题:先让我们复习点基本知识:

Java数据类型:

1.       基本数据类型:8种。

2.       引用数据类型:数组、类、接口、枚举等。

Java采用了Unicode编码。

基本数据类型:八种

boolean:javaboolean只能取true或者false

整数类型:byteshortintlong。整数类型默认是int

byte1个字节,八位。取值范围:-2的七次方~ 27次方-1也就是-128~127

short2个字节,16位。取值:-215次方~ 215次方-1

int: 4个字节,32位。取值:-231次方~ 231次方-1

long8个字节,64位。取值:-263次方~ 263次方-1

字符型:char是单引号中的内容,且只能有一个字符。2个字节,16位。

char型可以看做一个无符号的整数,取值0-65535.有数字和字符的双重特性,能够参与数学运算。

浮点型:java中小数默认是double类型。

float4个字节。

double8个字节。

1.基本数据类型间的自动转换:

(1)byte,short,char------->int----------->long------>float-------->double

(2)小范围到大范围能自动转换。比如:byte m = 127;

(3)子类到父类的转换。

(4)基本数据类型和包装类之间

2.如果不能自动转换,只能使用强制类型转换:

语法:(要转换的类型)要转换的变量。

扩展运算符:+=,-+,*=,/=,%=

三:位运算符 & | ^ ~

四:布尔逻辑运算符 && ||

三和四的区别是:

逻辑运算符只能操作boolean表达式,会产生短路。

位运算符中除了~之外也可以操作布尔表达式,还可以操作整型数据。且不会产生短路

五:条件运算符   条件? true:flase(三目运算符)

其次我们要了解一下运算符的优先级:

(1)赋值运算符的优先级最低,因为赋值运算符要用到表达式的值。

(2)关系运算符的优先级比布尔逻辑运算符的优先级高。

(3)++,--,(),!,~,[ ],的优先级最高。

(4)一元运算符的优先级也比较高

(5)算术运算符比关系运算符和二元逻辑运算符的优先级高

来一张图,形象的说明一下: