Java学习笔记三之数据类型

 

  数据类型                占用空间大小                 默认值

        byte                         1                                0

        short                        2                                0

        int                             4                                 0

        long                        8                                 0L

1.java语言当中的整数型字面值被默认当作int类型来处理。要让这个整数型字面值当成long类型来处理的话,需要在整数型字面值后面添加L。

2.Java语言当中的整数型字面值有三种表示方式:

用十进制表示【默认缺省】  10        //        10

用八进制【需要以0开始】        010        //        8

用十六进制【需要以0x表示】0x10        //        16

eg:整数型字面值以0开头,后面那一串数字就是八进制形式

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

int->long

long  z = 2147836784;

2147836784被当成int类型4个字节处理,但是这个字面值超出了int取值范围,故出错

long z = 2147836787L ;// 对的

大容量转换成小容量需要强制类型转换,不能直接赋值

强制类型转换需要加强制类型转换符,运行阶段可能造成精度的损失

只要没有超过byte取值范围的,整数型类型字面值可以转换成byte类型的变量。

byte b = 127; //可以编译通过‘

byte b1 = 128; //不可以

纠正错误:byte b1 =(byte) 128; //可以

原码 补码 反码的区别

计算机只能以补码的形式存储数据

正数的补码:和原码相同

负数的补码:负数的绝对值对应的二进制码所有的二进制位取反,再加1

求-128的补码有点难懂

当一个整数字面值没有超过byte,short,char的取值范围,这个字面值可以直接赋值给byte,short,char类型的变量。

关于浮点型数据类型

float        单精度 4个字节

double    双精度 8个字节

double的精度太低,不适合做财务软件。要求精度高,所以java为程序员准备可精确度更高的类型(引用数据类型)java.math.BigDecimal。

在java语言当中,所有的浮点型字面值,默认被当成double类型来处理。

要想该字面值当成float类型来处理,需要在字面值后面添加F/f

float f = 6.1;

// 6.1是double类型的字面值

// f是float类型的变量

大容量转换成小容量需要加强制转换符

解决方案:

1.第一种方式:强制类型转换

float f = (float) 6.1

2.第二种方式:没有类型转换

float f = 5.1f;

注意:double和float在计算机内部二进制存储的时候都是近似值,在现实世界中有一些数字是无线循环的。

布尔类型boolean经常使用在逻辑运算和条件控制语句当中。

1.八种数据类型当中除了布尔类型之外,剩下的7种类型之间都可以相互转换

2.小容量向大容量转换,称为自动类型转换,容量从小到大排序:

byte < short < int < long < float <double 

            char <

注意:任何浮点类型不管占用多少个字节,都比整数型容量大

           char和short可表示的种类数量相同,但是char可以取更大的正整数

3.大容量转换成小容量,叫做强制类型转换,需要加强制类型转换符,程序才能编译通过,但在运行阶段可能会损失精度

4.当整数字面值没有超过byte、short、char的取值范围,可以直接赋值给byte、short、char类型的变量

5.byte,short,char混合运算时,各自先转换成int类型在做运算。

6.多种数据类型混合运算,先转换成容量最大的那种类型在做运算。

二. 总结

        *        标识符

        *        关键字

        *        字面值

        *        变量

        *       数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值