JAVA数据类型详解

简介: JAVA数据类型详解

一、整型

1、byte

byte:字节型

  • byte占用一个字节。

由于Java中不区分有符号数和无符号数,故一个字节有八位,一位用来描述符号,剩余位代表数值大小。

所以byte能表示的范围为-128~127。

2、short

short:短整型

  • short占用两个字节。
  • short能表示的范围为-32768 ~ 32767。

3、int

int:整型

  • int占用四个字节。
  • int所能表示的范围为

注意:Java是在Java虚拟机JVM中运行的,不管在32位还是64位操作系统,int都是四字节。

4、long

long:长整型

  • long占用八个字节。
  • long所能表示的范围为

二、浮点型

1、float

float:单精度浮点型

  • float占用四个字节。
  • float由于是浮点型数据,其范围一般不关注。
  • 在给float类型变量赋值时,需要在其后加上f。

 

2、double

double:双精度浮点型

  • double占用八个字节。
  • double由于是浮点型数据,其范围一般不关注。  

三、字符型

char

char:字符型

注意:Java与C++不同,Java中char占用两个字节。

一个字符的ascii码占用一个字节,unicode码占用两个字节。

四、布尔型

boolean

boolean:布尔型

  • boolean可以取值为true和false,不存在0是假,非0是真的说法。
  • boolean没有明确规定占用字节数。

注意:在给这八类数据类型赋值时,不能超过其最大表示范围。

五、强制类型转换

强制类型转换使用场景:大范围强制转换成小范围。

  • 从小到大排序:byte->short->char->int->long->float->double
  • 小范围转成大范围,会自动类型提升,也称为隐式转换。
  • 在参与运算时,小于四字节的类型会自动提升为四字节。
  • boolean类型的变量和其他类型的变量不能进行转换。

例题:

在此问题中a+2的结果是int,但是a还是short类型,所以应该进行强制类型转换

 

注意:强制类型转换存在风险。

例题:

public static void main(String[] args) {
     int a=128;
     byte b=(byte)a;
        System.out.println("a="+a);
        System.out.println("b="+b);
    }

运行结果:

分析:

但是byte占一个字节(8个二进制位),能表示的范围为-128~127,128的时候对于byte来说符号为(最高位)1,表示负数,此时-128的补码恰好为为10000000。

目录
相关文章
|
3月前
|
Java
当Java数据类型遇上“爱情”,会擦出怎样的火花?
当Java数据类型遇上“爱情”,会擦出怎样的火花?
54 1
|
2月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
67 2
|
3月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
50 1
|
3月前
|
存储 Java
Java数据类型:你究竟有多少面孔?
Java数据类型:你究竟有多少面孔?
37 1
|
3月前
|
Java
【Java基础面试四】、介绍一下Java的数据类型
这篇文章介绍了Java的数据类型,包括8种基本数据类型(整数、浮点、字符、布尔)和3类引用数据类型(数组、类、接口),并提供了基本数据类型所占内存空间和数据范围的详细信息。
|
3月前
|
存储 算法 Java
我与Java数据类型的那场“风花雪月”
我与Java数据类型的那场“风花雪月”
43 0
|
3月前
|
存储 自然语言处理 Java
Java数据类型:为何它如此“撩人”?
Java数据类型:为何它如此“撩人”?
41 0
|
3月前
|
存储 算法 Java
从菜鸟到大神,Java数据类型是如何改变我的人生的?
从菜鸟到大神,Java数据类型是如何改变我的人生的?
31 0
|
13天前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
30 0
[Java]“不同族”基本数据类型间只能“强转”吗?
|
2月前
|
存储 Java Windows
java基础(9)数据类型中的char类型以及涉及到的转义字符
Java中的char类型可以存储一个中文字符,因为它占用两个字节。转义字符允许在代码中使用特殊字符,例如`\n`表示换行,`\t`表示制表符,`\\`表示反斜杠,`\'`表示单引号,`\"`表示双引号。可以使用`\u`后跟Unicode编码来表示特定的字符。
47 2
java基础(9)数据类型中的char类型以及涉及到的转义字符