JavaSE第二天20160804

数据类型

  1. JAVA只有两种数据类型:基本数据类型,引用数据类型。
  2. 基本数据类型:8种

a)         整数:JAVA没有无符号的数字。JAVA的整数可以为十进制,八进制(用0开头),十六进制(用0X或0x开头),不能表示二进制。

l  byte:1个字节,-27~~27-1

l  short:2个字节,-215~~215-1

int:4个字节,-231~~231-1,JAVA中的整数默认为int类型。

l  long:8个字节,-263~~263-1,在整数的后面加L或l,表示long类型。

b)         浮点数:JAVA中浮点数的运算会产生误差

l  float:4个字节,在浮点数后面加F或f。

l  double:8个字节,JAVA中浮点数默认为double类型。

c)         字符类型:char,字符必须放在一对单引号中,并且单引号中只能有一个字符。JAVA使用Unicode编码集,所有的字符都为两个字节

d)         布尔类型:boolean,只有两个值:true/false。JAVA中boolean不能转换为其它类型。

  1. 变量:

a)         格式:数据类型 变量名[=值];

b)         JAVA是强类型的语言。

c)         变量没赋值时不能使用,否则编译失败。

d)         在同一个范围中不能出现同名的变量。

e)         标识符(类名,变量名,方法名,包名等)的命名规范

l  标识符由字母,数字,下划线,美元符组成。

l  不能使用数字开头。

l  不能使用关键字(JAVA中关键字均为小写)。

f)          JAVA命名规范:变量名均为小写。如果变量名由多个单词组成,从第二个单词开始,每个单词首字母大写,其它均为小写(如:userName,userAge,password)。

 

  1. 常量(最终变量):使用final关键字,常量只能赋值一次。
  2. 基本数据类型的类型转换:

a)         比较基本数据类型的大小:先比较精度,如果精度一样,再比较长度。

b)         自动转换:JVM会自动将小类型转换为大类型。

c)         手动转换(强制转换):使用(类型)的方式将大类型转换为小类型。

  1. 运算符:

a)         算术运算符:+,-,*,/,%,++,--

l  算术运算结果的类型:

  1. 当算术运算的元素类型相同时,结果的类型一定与运算元素的类型保持一致。
  2. 当算术运算的元素类型不同时,结果的类型一定与运算元素中类型大的元素的类型一致。

short s = 1;//将值在类型的取值范围内时,JVM会自动转换值的类型

s = s + 1;//1为int类型,s为short类型,结果为int类型,而int不能直接赋给short类型

  1. ++/--可以放在变量的前面,也可以放在变量的后面。
  2. 无论出现在变量的前面还是后面,代码执行后变量一定会加1或减1。
  3. ++/--出现在变量前面:先运算,再取值。
  4. ++/--出现在变量后面:先取值,再运算。

     //交换两个变量的值(不使用第三个变量)

     x = x + y;

     y = x - y;

     x = x - y;

     System.out.println(x);

     System.out.println(y);

b)         比较运算符:>,>=,<,<=,==,!=,比较运算的结果一定为boolean。JAVA中不是所有的类型都可以使用比较运算符进行运算的,如:boolean与其它类型不能比较。基本数据类型与引用数据类型不能直接比较。

c)         逻辑运算符:结果一定为boolean类型

l  逻辑与(&)、逻辑或(|)

与运算(并且)

 

或运算(或者)

元素1

元素2

结果

 

元素1

元素2

结果

T

T

T

 

T

T

T

T

F

F

 

T

F

T

F

T

F

 

F

T

T

F

F

F

 

F

F

F

短路与(&&,当第一个表达式为false时,不执行第二个表达式,直接返回false)、短路或(||,当第一个表达式为true时,不执行第二个表达式,直接返回true)

l  逻辑非(!):取反。

d)         扩展运算符:+=,-=,*=,/=,%=,扩展运算符会自动将结果转换为需要的类型。

short s = 1;

         s += 1;//正确,+=会自动转换类型

e)         三元运算符(三目运算符):x?y:z; 当x为true时,返回y的值。当x为false时,返回z的值。

 

posted on 2016-08-08 19:01  网络哈气高手  阅读(241)  评论(0编辑  收藏  举报