Java基本类型补充介绍

说明:
         1:好记性,不如写博客
         2:静下心来丢掉手机不做低头族
         3:开始学习以及复习Android第二节课
4:本章资料取决于Java编程思想(第4版)

1:概述:
          java中的数据类型分为基本数据类型和引用数据类型。
          引用数据类型分3种:类,接口,数组
   
         基本数据类型又分布尔类型和数值类型;
         布尔类型:boolean(逻辑型)
         数值类型分定点类型和浮点类型;定点类型分整数类型和字符型;
        
         定点变量:

         定点变量即整型变量,可细分成字节型变量、整型变量、短整型变量和长整型变量四种。对各种定点变量的开销内存字节数和数值范围作简要说明。
            需要注意的是,如果要将一定点常量赋值给一个定点变量,需要查验常量是否在该变量的表达范围内,如超出范围程序会编译出错。
            
            char型(字符型)
            Java中一个字符(char)表示Unicode字符集中的一个元素。
            Unicode字符由16位组成,因此,有(65535)个不同的字符可用,用于存放字符的数据类型,占用2个字节,采用unicode编码,它的前128字节编码与ASCII兼容,字符的存储范围在\~\?,在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1。
            2.1)字符常量字符常量指用单引号括起来的单个字符,如‘a’,‘A’,请特别注意,字符的定界符是单引号,而非双引号。除了以上所述形式的字符常量值之外,Java还允许使用一种特殊形式的字符常量值,这通常用于表示难以用一般字符来表示的字符,这种特殊形式的字符是以一个“\”开头的字符序列,称为转义字符。            
Java中的常用转义字符见表
            2.2)字符变量以char定义的变量,如char c='a';要特别加以说明的是,Java的文本编码采用Unicode集,Java字符16位无符号型数据,一个字符变量在内存中占2个字节。注:char c = ' 1 ',我们试着输出c看看,System.out.println(c);结果就是1,而如果我们这样输出呢System.out.println(c+0);结果却变成了49,这是因为0是int型,进行了向上类型转换,结果是个int型。       如果我们这样定义c看看,char c = ' \1 ';输出的结果仍然是1,这是因为字符'1'对应着unicode编码就是\1。
           
            浮点类型:

            分float和double是表示浮点型的数据类型,他们之间的区别在于他们的精确度不同。                

            浮点常量:就是带小数点的实型数值,可以由直接带小数点的数值和科学记数法两种形式来表示
            浮点变量:分为单精度变量和双精度变量,他们的数值范围和开销的内存字节数有区别
           
            注:double比float型储存范围更大,精度更高,所以通常的浮点型的数据在没有声明的情况下都是double类型。

            在Java基本类型在使用字面量赋值的时候,有几个简单的特性如下:
            1】当整数类型的数据使用字面量赋值的时候,默认值为int类型,就是直接使用0或者其他数字的时候,值的类型为int类型,所以当使用 long a = 0这种赋值方式的时候,JVM内部存在数据转换。
            2】浮点类型的数据使用字面量赋值的时候,默认值为double类型,就是当字面两出现的时候,JVM会使用double类型的数据类型。
            3】从JDK 5.0开始,Java里面出现了自动拆箱解箱的操作,基于这点需要做一定的说明:对应原始的数据类型,每种数据类型都存在一个引用类型的封装类,分别为Boolean、Short、Float、Double、Byte、Int、 Long、Character,这些类型都是内置的封装类,这些封装类(Wrapper)提供了很直观的方法,针对封装类需要说明的是,每种封装类都有一个xxxValue()的方法,通过这种方法可以把它引用的对象里面的值转化成为基本变量的值,不仅仅如此,每个封装类都还存在一个valueOf(String)的方法直接把字符串对象转换为相应的简单类型。
       在JDK 5.0之前,没有存在自动拆解箱的操作,即Auto Box操作,所以在这之前是不能使用以下方式的赋值代码的:Integer a = 0;//这种赋值方式不能够在JDK 1.4以及以下的JDK编译器中通过,但是JDK 5.0出现了自动拆解箱的操作,所以在JDK 5.0以上的编译器中,以上的代码是可以通过的
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值