基本数据类型 运算符 类型转换

浮点类型:
    float   4字节   单精度  
    double  8字节   双精度  范围大 准确度高

    Java中所有的小数默认都是double,除非有单精度标志符(f)如:(  float=1.5f;)

     

     

字符型:    
    char    2个字节表示一个字符
    编码:Unicode
    表示:char  c='c'   注意只能放一个

    范围:0-65535,(从0开始,没有负数) 根据Unicode码表,数值65码值


布尔类型:

     boolean

     1.只有两个值 true  和  false
     2.用处:一般用于逻辑判断

     3.占用内存:占用一个字节但只用一位

      

引用数据类型:
     1.数组
     2.类
     3.接口

运算符:


     一、算术运算符
      例如:+,-,*,/
            ++(自增符号)

      例如[ 

         

        

              ] 

            --(自减符号)

       例如[

             

            

                ]

     二、赋值运算符
       例如:=
     三、扩展赋值运算符

       例如:+=,-=,*=,/=,%=

        

        

        

        

        

                   

     四、关系运算符
       例如:>,<,>=,<=,==,!=

       所有关系运算符返回值是boolean,要么是true要么false

       

     五、位运算符


类型转换:
一、自动转换类型
       1.byte b=10;   只要是在-128~127之间,可以自动转换成byte
       2.int c=b+10;  数值运算时,会尽量往精确度高的方向提升。
           例如:     byte+int=int,int+float=float
       3.byte b=10+7;
可以编译成功,因为(=)右面是常量
       4.byte a=10;
         byte b=5; 
         c=a+b;
因为右面是变量,编译器编译阶段检查不出变量(b)(c)是否在范围内
       5.b += (b+10)  因为特殊,扩展赋值符
如果是扩展赋值符,右面就不管了,全都能编译成功,底层已经做了自动类型强转
       6.char c='a'; 
         c+1
根据unicode编码表,去查找码值,和数值相加
       7. b=b+10       b+=10;
(1) b=b+10;
         编译失败,因为右面是变量,编译器不能再编译的时候不能确定右面的值是否再-128-127之间
(2)  b+=10;
         编译成功,因为扩展运算符,编译器底层自动类型强转
(3)b+=(b+10);
         编译成功,因为扩展符赋值符会默认将右面强转
二、强制类型转化
(1)b=(byte)(b+10);   精度丢失,出现负数

三、两个数运算时候,类型得一致