Java中的数据类型

导入

1、数据类型的作用是什么?

      不同的数据类型占用空间大小不同,数据类型的作用是指导JVM在运行程序时给该数据分配多大的内存空间。

2、Java中的数据类型包括两种

     *   基本数据类型

     *   引用数据类型

基本数据类型

1、基本数据类型包括四大类八小类

     *   整数型(byte,short,int,long)

     *   浮点型(float,double)

     *   布尔型(boolean)

     *   字符型(char)

注:字符串"abc"不属于基本数据类型,属于引用数据类型。 

   注:1 Byte = 8 bit   1KB = 1024 Byte   1MB = 1024  KB   1 GB = 1024 MB  1TB = 1024 GB

(1)字符型(char)

     *   计算机在任何情况下都只能识别二进制,但是char类型表示的是现实世界的文字,文字和计算机二进制之间在“默认”情况下不存在任何转化关系,此时我们需要进行人为的干涉,需要人负责提前制定好“文字”和“二进制”之间的对照关系,这种对照关系被称为:字符编码。(Java语言源代码采用的是unicode编码方式,所以“标识符”可以用中文。

    *   转义字符   \

        转义字符出现在特殊字符之前,会将特殊字符转化成普通字符。

        例: \n   换行符   \t   制表符    \'   普通的单引号     \"普通的双引号    \\普通的反斜杠

(2)整数型(byte,short,int,long)

      *   Java语言中的整数型字面值被默认当作int类型来处理。要让这个整数型字面值被当作long类型来处理的话,需要在整数型字面值后面加l/L(建议使用L)。

      *   Java语言中的整数型字面值有三种表示方法:

           -   十进制(是一种缺省默认的方式)

           -   八进制(在编写八进制整数型字面值的时候需要以0开始)

           -   十六进制(在编写十六进制整数型字面值的时候需要以0x开始)

      *   小容量可以自动转化为大容量,称为自动类型转换机制。

      *   大容量转换为小容量,需要进行强制类型转换,需要加上“强制类型转换符”(虽然编译通过了,但是运行阶段可能损失精度,所以强制类型转换谨慎使用)

           强转原理:将左边的二进制砍掉。

(3)浮点型(float,double)

       *   在Java中,所有的浮点型字面值默认被当作double类型来处理,要想该字面值当作float类型来处理,需要在字面值的后面添加F/f。

           注:double和float在计算机内部二进制存储的时候,存储的都是近似值。

(4)布尔型(boolean)

         *   在Java语言中,boolean类型只有两个值:true、false。

         *   在底层存储的时候boolean类型占用一个字节,因为实际存储的时候false的底层是0,true底层是1。

2、基本数据类型之间的转换规则:

       *   八种基本数据类型当中除布尔类型之外剩下的7种类型之间都可以互相转换。

       *   小容量向大容量转换,称为自动类型转换,容量从小到大排序:
             byte < short < int < ong < float < double
                       char <

             注: 任何浮点类型不管占用多少个字节, 都比整数型容量大
                     char 和 short 可表示的种类数量相同,但是 char 可以取更大的正整数

      *   大容量转换成小容量,叫做强制类型转换,需要加强制类型转换符,程序才能编译通过,但是在运行阶段可能会损失精度,所以谨慎使用。
     *   当整数字面值没有超出 byte , short , char 的取值范围,可以直接赋值给 byte , short ,char类型的变量。

     *    byte , short ,char混合运算的时候,各自先转换为int类型再做运算。

     *   多种数据类型混合运算时,先转换成容量最大的那种类型再做运算。

         注:

              byte a = 3;  可以编译通过,3 没有超过byte类型的取值范围。

              int i = 10;

              byte a =  i/3; 编译错误,编译器只检查语法,不会“运算”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薰衣草2333

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值