JavaSE基础(二) 数据类型

目录

目录

前言

一.八种基本数据类型

1.int 整型

那么一个字节的大小是多少呢?

什么是包装类呢?

2.long长整型 

 3.short短整型

4.byte字节类型

5. double双精度浮点类型

 6. float 单精度浮点类型

7.char字符类型

8.boolean 布尔类型

二.类型转换

1.强制类型转换 (显式)

2.自动类型转换 (隐式)

三.类型提升

四. String字符串类型     

 int转换String

 String转int

后记



前言

Hi~ 你好! 

欢迎点击我的博客 : )       

这是我的学习总结,希望也能帮助到你

我的博客地址:hi~,我在这里~,欢迎关注哦,

三连不迷路,优质内容持续更新!

一.八种基本数据类型

1.int 整型

int占4个字节,

无论是18位还是32位系统中,int都占4个字节,long都占8个字节

好的,此时我们提出了字节的概念

那么一个字节的大小是多少呢?

    8 bit  = 1 byte          1024 byte = 1kb       

  1024 kb = 1mb          1024 mb = 1gb 

在java中 没有所谓的无符号和有符号的概念, int有4个字节,占32位(1个符号位+31个数值位)

因此,int整型所能表达的范围为:-2^32-----2^31-1

例如:
int maxValue = Integer.MAX_VALUE;
int minValue = Integer.MIN_VALUE;
System.out.println(minValue);
System.out.println(maxValue);
结果如下:
-2147483648
2147483647

我们可以通过int的包装类Integer来进行验证,那么

什么是包装类呢?

相当于基本数据类型的加强版,是基本数据类型对应的类类型

可以实现成为引用数据类型,方便进行对象和方法的操作.

包装类除了Interger Character 其余首字母大写

同时,在Java中,直接赋值不能超过这个数据类型的最大范围,否则会进行报错或者溢出

例如:
int a  = 2147483647+1;
int b = 2147483647;
int c = 2147483648;  (报错)
System.out.println(a);
System.out.println(b);
结果如下:
-2147483648
2147483647

2.long长整型 

上文提到,long为8个字节 ,占64位(1个符号位+63个数值位)

可推出范围为:-2^63----2^63-1;

长整型变量的初值后需要加L/l, 后缀不影响程序的输出

long a =  2147483647;  在int的范围内,没后缀不报错
long b =  2147483648L; 在int的范围外,必须加后缀L/l
long c = -2147483648;
long d = -2147483649L;
同时,通过包装类验证long的范围:
long maxValue = Long.MAX_VALUE;
long minValue = Long.MIN_VALUE;
结果如下:
-9223372036854775808
9223372036854775807

 3.short短整型

 2个字节 16个bit       范围:-2^15 ---2^15-1       包装类Short

 如果给定的值超过了能表达的最大值,会直接报错

short maxValue = Short.MAX_VALUE;
short minValue = Short.MIN_VALUE;
32767
-32768

4.byte字节类型

 在任何系统下都占1个字节

 一个字节 8个bit         范围:-2^7 ---2^7-1    (  -128--128 )      包装类 Byte

byte maxValue = Byte.MAX_VALUE;
byte minValue = Byte.MIN_VALUE;
127
-128

5. double双精度浮点类型

8 个字节  

浮点数和整数在内存中的存储方式是不一样的         包装类Double

浮点数是一个近似值,并不是精确值 小数其实没有精确的,只能精确到某一位

 6. float 单精度浮点类型

4个字节   float f  = 12.5f   赋值后面要加 f 后缀

7.char字符类型

ch = 'a';           a =97

2个字节  16个比特位    不能赋值负数   包装类Character

8.boolean 布尔类型

boolean数据类型只有 true和false 

JVM没有明确它的大小     boolean flg = true;

在Java中真只有true 假只有 false            包装类:Boolean

二.类型转换

1.强制类型转换 (显式)

有风险

        int a = 1;
        float  b = 1.5f;
        int c  = a+(int)b;
        System.out.println(c);
      
        结果:2

Int 和float   float表示的数据 宽度更大

2.自动类型转换 (隐式)

数据类型小的转为大的

int     a = 1 
float   b = 1.5f;
System.out.println(a+b);
2.5

1.不同数据类型的变量进行赋值,范围小的自转成范围大的

2.范围大的->范围小的,需要强转,但是有可能精度丢失

3.将一个字面值常量进行赋值时,Java会自动针对数字范围进行检查,在范围内就不会报错

4.强转不一定成功,不相干的类型不能转换

三.类型提升

小类型-->大类型     不足4个字节的,先转换成4个字节再运算

        int a  = 1;
        long b = 2L;
        long c = a + b;   int提升为8个字节,然后和b参与运算
        System.out.println(c)

        结果:3

Byte a+byteb   小于4个字节的在运算的时候,会提升为4个字节   

四. String字符串类型     

String   属于引用数据类型      

int a = 4;   //str  和a都叫做局部变量,此时依然存放在栈上
String str= "123";
//System.out.println(str);
System.out.println(str+str);//两个字符串相加,为拼接字符串
System.out.println(str+a);//   字符串加整数,还是字符串

结果:
123
123123
1234

 int转换String
        int a =123;
        String str = String.valueOf(a);
        System.out.println(str);
        System.out.println(str+4);
  
 结果:  123
       1234
 String转int
        String str  = "12345";
        Integer a = Integer.valueOf(str);
        System.out.println(a);
        System.out.println(a+1);

结果: 12345
      12346

​​​​​​​ 

后记

看到这里,希望能帮到你~

您的点赞 ,收藏 ,关注 是我创作的最大动力!

同时也欢迎在评论区进行交流,共同进步~       

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值