Java基本数据类型-数值型

本文详细介绍了Java中的数据类型,包括基本数据类型(如整数、浮点、字符和布尔类型)的定义、存储空间、范围以及进制表示。同时提到了引用数据类型,并强调了数值类型之间的转换注意事项。

数据类型

  • Java是一种强类型语言,每个变量都必须声明其数据类型。
  • Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。
    在这里插入图片描述

完整代码

public class JavaType {
    public static void main(String[] args) {
        //基本数据类型
        //【1】整数类型
        byte a = 12;//表数范围:-128~127
        short b = 30000;//表述范围:正负三万
        int c = 2000000000; //表述范围:正负12亿
        long d = 12345678900l;//表述范围很大,如果数超过int类型范围需要在后面加L

        //【2】浮点类型
        float e = 3.141f;//如果用float表示小数需要在后面加上f
        double f = 3.141;

        //【3】字符型
        char g = 'a' ;//单引号引单个字符
        System.out.println("How are you?");// 后续学的字符串是多个字符串拼接的

        //【4】
        boolean flag = true;//布尔值只有两个:true,false
        boolean wrong = false;
    }
}

数值型

整数型

//【1】整数类型
        byte a = 12;//表数范围:-128~127
        short b = 30000;//表述范围:正负三万
        int c = 2000000000; //表述范围:正负12亿
        long d = 12345678900l;//表述范围很大,如果数超过int类型范围需要在后面加L
类型占用储存空间表述范围
byte1字节-2^7 ~ 2^7 ( -128 ~ 127)
short2字节-2^15 ~2^15-1 (-32768 ~ 32767)
int4字节-2^31 ~ 2^31-1 (-2147483648 ~ 2147483647)
long8字节-2^63 ~ 2^63-1

实例

public class TestVar{
        public static void main(String[] args){
                //定义整数类型的变量:
                //给变量赋值的时候,值可以为不同进制的:
                int num1 = 12 ;//默认情况下赋值就是十进制的情况
                System.out.println(num1);
                int num2 = 012;//前面加上0,这个值就是八进制的
                System.out.println(num2);
                int num3 = 0x12;//前面加上0x或者0X,这个值就是十六进制的
                System.out.println(num3);
                int num4 = 0b10;//前面加上0b或者0B,这个值就是二进制的
                System.out.println(num4);
                
                //定义byte类型的变量:
                byte b = 126;//定义了一个byte类型的变量,名字叫b,赋值为12
                System.out.println(b);
                //注意:超范围的赋值会报错。
                short s = 30000;
                System.out.println(s);
                int i = 1234;
                System.out.println(i);
                //整数类型默认就是int类型的,所以12345678910是一个int类型的数,对于int类型来说,它超出范围了
                //要想把一个数给long类型变量,那么后面加上L(推荐)或者l就可以了
                long num5 = 12345678910L;
                System.out.println(num5);
                //注意:只有这个数超出int类型的范围了后面才需要加上L,否则无需加L也可以赋值给long类型:
                long num6 = 12;
                System.out.println(num6);
                
        }
}

浮点型

  • float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。
  • 而double表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型,绝大部分应用程序都采用double类型。
  • float类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为double类型。
  • 也可以在浮点数值后添加后缀D或者d, 以明确其为double类型。
类型占用储存空间表数范围
float4字节大约±3.40283247E (有效位数6-7位左右)
double8字节大约 ± 1.79769313486231570E +308(有效位数为15 - 16位左右)
  • 有效数字指的是从左开始第一个不为0的数到最后一个数

实例

public class TestVar{
        public static void main(String[] args){
                //浮点类型的常量有两种形式:
                //十进制形式:
                double num1 = 3.14;
                System.out.println(num1);
                //科学计数法形式:
                double num2 = 314E-2;
                System.out.println(num2);
                
                //浮点类型的变量:
                //注意:浮点型默认是double类型的,要想将一个double类型的数赋给float类型,必须后面加上F或者f
                float f1 = 3.14234567898623F;
                System.out.println(f1);
                //注意:double类型后面可以加D或者d,但是一般我们都省略不写
                double d1 = 3.14234567898623D;
                System.out.println(d1);
                
                //注意:我们最好不要进行浮点类型的比较:
                float f2 = 0.3F;
                double d2 = 0.3;
                System.out.println(f2==d2);
                /*
                区别:
                = 赋值运算:  将等号右侧的值赋给等号左侧
                == 判断==左右两侧的值是否相等  :结果要么相等 要么不相等
                ==运算符的结果就是要么是true,要么是false
                */
                
        }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CyberSecure

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

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

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

打赏作者

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

抵扣说明:

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

余额充值