2.Java的基本数据类型及其转换和运算符及运算

Java的基本数据类型及其转换和运算符及运算

Java的基本数据类型也叫原始数据类型,它包括byte、int、short、long、char、flaot、double、boolean共8种。其中byte、int、short、long、flaot、double是数值型,char是字符型,boolean是布尔型。布尔型只有true和false两种值,不能和其他数据类型之间进行转换。
byte到int、int到short、short到long可以进行自动转换,float到double也可以进行自动转换。因为byte类型的数据在内存中占1个字节,short占2个字节,int型占4个字节,long占8个字节,根据它们所占内存空间的大小,内存小的类型可以向内存空间大的类型转换可知。另外char型数据占2个字节,flaot类型数据占4个字节,double类型的数据占8个字节。其中int型数据可以转换成flaot和double型的数据。而其他的数据类型之间的转换就要进行强制转换了,比如flaot型的数据转换成int型的数据虽然它们都占4个字节,但要进行强制型数据转换,且强制数据类型转换后,数据的精确度会有所下降。
byte类型数据范围是-128~127,在这的范围内的byte到int数据类型转换都可以成功,但如果超过了这个范围就不会是原来的数值,比如int型200,如果要将int型200转换成byte型,byte型的值就不是200了,就将会是-56。如下代码:

package firstdemo;
public class hello {
    public static void main(String[]args) {
    	byte b = (byte)(200);
    	System.out.println(b);
    }
}

因为200在计算机中的存储方式是按照二进制来存储的,也就是说200在计算机中表示011001000。(因为200是正数,所以200的原码、反码、补码就是相同的。但是如果是负数的话,负数的原码、反码和补码就是不一样的。其中原码是我们经常用的二进制,反码是符号位不变,后面的其他位按位取反,补码是反码加1。)因为在byte类型的数据内存中,byte占1个字节,就是8个bit,所以我们在200转换成byte型数据数据时,我们只能取200在计算机二进制表现形式的后8位,也就是11001000,这是要转换的byte型数据在计算机中的存储补码形式,把他还原成反码形式就是11000111,再将其还原成原码就是1111000,其中第一位是符号位,表示取负数,所以就是32+16+8=56的相反数-56。
运算符包括双目运算符(+、-、*、/、%)和双目运算符(++、–、-),其中%叫取余运算,它的值是被除数和除数相除后所得的余数,其中/的运算结果只取被除数和除数相除后的整数部分,小数部分要舍去。还有个特殊的运算叫位运算,它的结果是在二进制的前提下,把整体向右或向左移动几位,但这种运算只能运用在整数的位运算里,而不能用在浮点数的运算中。比如把5进行位运算向左移动两位,以及把16进行位运算向右移动两位。

package com.st.xxs;
public class yc {
    public static void main(String[]args) {
        int a = 5;
        int b = 16;
        int c = 5 << 2;
        int d = 16 >> 1;
        System.out.println(c);
        System.out.println(d);
    }
}

其中,位运算中向左移动几位就是把数乘以几的2次方,向右移动几位就相当与把数除以几的2次方。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值