1.1 java基本类型

      java基本类型有8种。 

 基本类型

 大小

 包装器类型

 boolean

 -

 Boolean

 char

 16 bit(Unicode)

 Character

 byte

 8 bit

 Byte

 short

 16 bit

 Short

 int

 32 bit

 Integer

 long

 64 bit 

 Long

 float

 32 bit

 Float

 double

 64 bit

 Double

   知识点一:基本类型和包装器类型之间的关联。

   java提供了两种不同的数据类型,一种原始类 即基本类型,另种就是引用类。引用类是原始的封装类。

引用类和原始类在大小上和速度上有所不同。基本类型是数据类型,引用类数据java类,所以对于java类如果创建一个引用对象没有赋值则是null,而基本类型都有默认值,例如int值则是0。

    知识点二:char类型

    char类型属于unic编码,有两个字节站16位,我们知道一个汉字占两个字节,所以一个char值可以写一个汉字。

    知识点三:类型转换。

    java中提供低精度可直接转换为高精度值。但是要高精度转换成低精度则需要强制类型转换。

 上图中从byte到double精度一次是从低到高。例如A: short a = 1; short b =2; int c = a+b; B int a =1;int b=2;short c =a+b;A 中有short 得到int,属于低精度转换为高精度所以这句话是对的,但是B属于高精度转化为低精度所以是错的,需要强制类型转化 short c = (short) a+b;

   知识点四:高精度计算

    两个double型或者float型进行加减乘除是容易丢失精度,这时java为我们提供了高精度计算类:BigDecimal。只不过他的加减乘除是靠类的方法实现的,不是直接用运算符。这个类主要用于银行、金融行业货币计算。

1.2 java运算符

   1)+,-,*,/,%,++,-- 算数运算符.
     需要说明的是1:/是除法运算,其结果只取整数部分;%是取余运算;
                      2:++或者--在前后是有分别的。++a:先输出a的值 再进行+运算。a++:先运算再输出a的值。

   2)位与逻辑运算符
     与(&)、非(~)、或(|)、异或(^)位运算符。位运算都是转化为2进制进行运算的,例如5^3则是101^011得到的值是110则为6.  
     与(&&)、非(!)、或(||)逻辑运算符。
    在这里要比较说明下位运算符&和逻辑运算符&&.
    共同点:两个都能进行逻辑判断。
    不同点:1)位运算符&不但能进行逻辑判断还能进行位运算,例如1&2=0;
               2)逻辑运算符&&在判断逻辑时有短路效果,例如if(条件a&&条件b) 这样的语句,如果条件a是false则不用再判断条件b。

   3)赋值运算
      = += -= *= /= %= &= ^= |= <<= >>=
      在这里说明一点:类似于+=等是可以提前进行强制类型转换。例如short a =1;short b=(a+=a);

   4)位移运算
     <<  >>:就是根据二进制规则移动。