java语言的八种基本数据类型

类型:java语言中共分两大类型
(1)基本数据类型-原始数据类型
(2)引用数据类型

基本数据类型:8种
 byte,short,int,long,float,double,char,boolean
 重写归纳分类:
   整数类型:4种
      byte,short,int,long
   浮点数类型:float,double
   字符类型:char
   布尔类型:boolean
(一)整数类型:
    byte(不常用):
         也叫字节类型,在内存中占8位二进制,
         即在内存中占1字节大小的空间,是数据
     存储的最小单位。
         0000 0000   0
     0111 1111   127

     1000 0000   -128
     1000 0001   -127
     1111 1111   -1

     范围:-128~127
     幂表示:-2^7~2^7-1
    short(不常用):
         也叫短整型。在内存中占16位二进制,
     2字节大小。

     0000 0000 0000 0000  0
     0111 1111 1111 1111  32767

         1000 0000 0000 0000  -32768
     1111 1111 1111 1111  -1

     范围:-32768~32767
     幂表示:-2^15~2^15-1    
     int(常用):
         也叫整型。在内存占32位的二进制,
     4字节大小。
     
     范围:-2147483648~2147483647
         幂表示:-2^31~2^31-1
     long(常用):
         也叫长整型。在内存占64位二进制,
     8字节大小。
         范围:正负922亿亿左右
         幂表示:-2^63~2^63-1
 System.currentTimeMillis();会返回一个long类型的
  数据。此数据为 从1970年1月1日0时0分0秒到系统当前时间之间的
  所有毫秒数。


浮点数类型:2种--小数类型
float:  
     在内存中占4字节大小,32位二进制
     范围:
       -3.403E38~3.403E38
double:
     在内存中占8字节大小,64位二进制
     范围:
       -1.79E308~1.79E308

字面量:默认类型为double,即64位的浮点数类型
      如果想直接写32位的浮点数,需要在数值后
      添加f/F

      比如:
       double num = 3.14;
       float num1 = 3.14F;

范围大小从大到小排序:
   double>float>long>int>short>byte
精度大小从大到小排序:(int,long,float,double)
    long>int>double>float
=======================================
字符类型:char
    在内存中占2字节大小,16位二进制。
    赋值特点:
     (1)值中,有且只有一个字符
     (2)字符必须使用单引号引起来。
    另外特点:底层二进制是无符号的整数类型
    即 0~2^16-1--->0~65535
    所以,赋值时,也可以赋值整数。但是,存入变量
    空间后,其实是其整数对应的字符。

java语言默认使用的字符集为unicode。
   unicode字符集:
        无论字母,还是汉字,都占两个字节大小
    'A'---00000000 01000001
    'a'---00000000 01100001
    '0'---00000000 00110000
   什么是字符集:
       即二进制与字符的一一对应关系的表

   GBK
   GBK2312
   UTF-8
        '中'----00010110 01010101
    '中'----00010110 01010101 00010001

   写文件时:采用unicode输入'中'
             00010110 01010101
   打开文件时:采用GBK
         00010110 01010101----好

      编码:将字符--->二进制
            写
      解码:将二进制--->字符
            读
   java语言常用的字符:
      'A'~'Z' ->65~90
      'a'~'z' ->97~122
      '0'~'9' ->48~57
   java语言中的转义字符:
       '\':将特殊字符变成相应意义的字符。
   java语言中的特殊字符:
       单引号,双引号,制表符,换行符,回车符号
       '\''  单引号
       '\"'  双引号
       '\\'   反斜线
       '\t'   制表符
       '\r'   换行符,(有翻页效果,看不到上一页的数据)
       '\n'   回车符,

  需求:查看字符集中,某一字符对应的整数
       将字符赋值给int类型的变量即可
       int num = '王';
       int num1 = '从';
       int num2 = '明';
       char c20 = 65;

布尔类型:用来判断条件是否成立的。
    在内存中占1字节大小。
    只有两个值 true/false
    true:表示条件成立
    false:表示条件不成立

类型转换:
   1.自动转换(隐式转换)
     占内存小的类型变量赋值给占内存大的类型变量,
     会发生自动转换。

     byte b = 5;
     short b1 = b;//8位的5赋值给16位5,在前面自动添8个0

     int  c1 = -1;
     long c2 = c1;//32位的-1赋值给了64位的c2里,自动填了32个11
  
     long c3 = -1;

     byte-->short-->int-->long-->float-->double
            char

   2、强制转换:
     占内存大的类型变量赋值给占内存小的类型变量,需要
     强制转换。语法如下:
     (占内存小的变量类型名)变量;
     注意:有可能出现精度损失。

     int a = 1;
     byte a1 = (byte)a;
   
     long b = -10;
     int  b1 = (int)b;

     double->float-->long-->int-->short--byte
                              char

猜你喜欢

转载自blog.csdn.net/y_phenix/article/details/81278636