java 中的数据类型

分类:有符号型(有负数,0,正数)和无符号型(只有0和正数)
主要研究有符号型
两类:
1、简单数据类型:任何数据类型最高位都是正负标志
》数值型
   >>byte   1个字节    [-2^7,2^7-1]
   >>short  2个字节    [-2^15,2^15-1]
   >>int    4个字节    [-2^31,2^31-1]
   >>long   8个字节    [-2^63,2^63-1]
》浮点型:小数-采用的科学计数法
   >>float  4个字节 3.4028235E38 float类型表示的范围比long类型表示的范围要大的多,因为浮点型采用的是科学计数法
   >>double 8个字节 1.7976931348623157E308
注意:所有的小数默认的都是double类型的,要表示float型,在数的后面加f
》布尔型
   >>boolean 一个字节 true/false
注意:java中Boolean值只有两个值,跟c不同,c中0可表示false,非零表示true
》字符型
   >>char   1个字节 对应的字符集是ASCII--世界通用标准 大小写之间的差值为32
   常用的字符集:GBK/GB2312 中国  ISO8859-1  欧洲的       utf-8  通用标准  Unicode  内部标准
   对于中文:    2个字节           不支持中文-对应一个字节  三个字节         2个字节   

   编码:我们将字符(字符串)通过字符集转成对应的二进制形式
   解码:反之解码
   乱码:编码与解码过程中使用的字符集不一致,造成了错误。

注意:
 1>数据类型之间的转换
  数据类型的等级高低(根据数据的范围划分):byte,char-short-int-long-float-double
  注:自动类型转换:从低等级到高等级,不会造成数据的损失,但可能浪费一些内存
      强制类型转换:从高等级到低等级,可能会造成数据的损失
 2>

2、引用数据类型
    
1、初始化:定义变量的同时完成赋值
2、赋值:单独给变量赋值
+:1、运算   2、连接

运算符:
 a:从功能分类
  1、算术运算符  + - * / % ++ --
     整数相除得到的一定是整数  除法与普通运算规则一致
     ++:当++在变量的后面时,变量会使用当前的值先参与运算,之后再自身加一
         当++在变量的前面时,变量会首先自身加一,之后使用当前的值在参与运算
     实例:先考虑优先级,优先级相同再考虑优先级低的,使用排除法将优先级高的找出来,再一步步运算
      算n,m,u,o的值 
     
      int n=2,m=3,u=1,o=0;
      o=n++ - --m +(u++ -n--)

      1、先考虑=,使用排除法,根据右结合性,先算=的右边
      2、再考虑()外的-,+,根据左结合性
      3、算n++ n=3  n++=2
      4、算--m m=2  --m=2
      5、算() (1-3) u=2  n=2
      6、算2中的-+  2-2+(1-3)=-2
      7、算= 将值付给o=-2


  2、赋值运算符  = += -= *= /= %=
  3、关系运算符  > < <= >= != ==
     注意:返回值只有两个true /false

  4、逻辑运算符  &&(与) ||(或) !(非)
     特点:运算的结果是true/false  参与运算的元素也必须是true/false
      &&(与):全真则真,一假则假
      ||(或):全假则假,一真则真
      !(非):假则真,真则假
      短路与:当多个&&连接的时候,从左往右运算,只要得到一个false,就会停止运算,整个的结果就是false
      短路或:当有多个||连接的时候,从左往右运算,只要得到一个true,就会停止运算,整个结果是true

  5、位运算符    直接操作的是位 :运算时要把参与运算的数字转为二进制,再两两比较
  &(按位与):全1则1,有0则0
  |(按位或):全0则0,有1则1
  ^(按位异或):参与运算的当前位相同则是0,不同则是1
    应用:交换两个数的值
      

 ~(按位取反):1就取0,0就取1
为什么要有位运算符:速度快效率高,因为直接操作的是二进制


  6、移位运算符   >>1 右移一位:代表除以二,不一定得到,因为当前的数不一定被整除 <<1 左移一位:代表乘以二S ,不一定得到,当前的数有可能溢出  >>>无符号右移  <<<无符号左移
     System.out.println(5>>1);->2
     移位运算符只能用于整数运算

  表达式:由变量和常量以及运算符组成的式子
  语句:表达式+分号  注意:如果只有一个; 也叫语句---空语句


b:按运算符操作的元素个数分类
  一元(元素)运算符:++ -- ~ ! -(负号) +(正号)
  二元运算符  :+ - * /
  三元运算符  :三目运算符:? :---表达式一<表达式二? 变量一:变量二

猜你喜欢

转载自blog.csdn.net/qq_39081169/article/details/81207468