Java基本数据类型相关问题

1. 八种基本数据类型
  Byte   short   int   long   float   double   boolean   char

 

 2. 装箱和拆箱

  自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型之间做的一个转化。
  比如:
      把 int 转化成 Integer,double 转化成 Double,等等。反之就是自动拆箱。
  
  原始类型: boolean,char,byte,short,int,long,float,double
  封装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double

3. String 转出 int 型,判断能不能转?如何转?
答:可以转,得处理异常 Integer.parseInt(s) 主要为 NumberFormatException:  
  1)当你输入为字母时,也就是内容不是数字时,如 abcd
  2)当你输入为空时
  3)当你输入超出 int 上限时
  另:Long.parseLong("123")转换为 long
 
4. short s1 = 1; s1 = s1 + 1编译是否有错;有什么错? short s1 = 1; s1 +=1编译是否有错;有什么错?
  1) 对于 short s1=1;s1=s1+1 来说,在 s1+1 运算时会自动提升表达式的类型为 int,
   那么将 int 赋予给 short 类型的变量 s1 会出现类型转换错误。
  2) 对于 short s1=1;s1+=1 来说 +=是 java 语言规定的运算符,java 编译器会对它
   进行特殊处理,因此可以正确编译。
 
5. int与Integer的区别

  1) Integer是int的包装类,int则是java的一种基本数据类型 
  2) Integer变量必须实例化后才能使用,而int变量不需要 
  3) Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 
  4) Integer的默认值是null,int的默认值是0


6. 字节字符区别
  字节是存储容量的基本单位,字符是数子,字母,汉子以及其他语言的各种符号。
  1 字节=8 个二进制单位:一个一个字符由一个字节或多个字节的二进制单位组成。

7. java 基本类型与引用类型的区别
  基本类型保存原始值,引用类型保存的是引用值(引用值就是指对象在堆中所处的位置/地址)

 

8. char可以储存一个汉字么

  可以。java采用unicode编码,2个字节(16位)来表示一个字符,无论是汉字还是数字字母,或其他语言。

   char 在java中是2个字节, 所以可以存储中文

  引申:utf-8跟unicode是不一样的。utf-8 的汉字占3个字节,gbk 是两个

     以utf-8为例,utf8是一个变长编码标准,可以以1~4个字节表示一个字符,而中文占3个字节,ascII字符占1个字节容3个字节,ascII字符占1个字节。

9.Java数据类型分为两大类
  基本数据类型
  引用数据类型:类、接口、数组

10.数据类型扩展

  1) 整数扩展:进制 

        二进制0b    0b11 = 3

        八进制0    011 = 9      

        十六进制0x    0x11=17

   2) 浮点数扩展

    float d1 = 233333333333333f;

    flaot d2 = d1 + 1;

    d1 == d2 结果为 true !

    float 有舍入误差,结果并不精确,因此最好完全避免使用浮点数进行比较

  3)字符扩展

    ①字符可被强制转换为数字,参照ASCII码

    常用   a = 97  , A = 65

       ②转义字符

    常用   "\n" 换行  "\t" 制表符

  4)boolean扩展

    if(flag==true)可简写为 if(flag)  代码要精简易读

11.类型转换

  由低到高 → byte , short , char , int , long , float , double

  强制转换  (类型)变量名  高→低

  自动转换   低→高

  注意:①不能对布尔值进行转换

     ②不能把对象类型转换为不相干的类型

     ③在把高容量转换为低容量的时候,强制转换

     ④转换的时候可能存在内存溢出或者精度问题

posted @ 2020-05-14 13:55  托托塔  阅读(214)  评论(0)    收藏  举报