Java数据类型--基本数据类型

举报
幼儿园老大* 发表于 2024/09/17 19:09:08 2024/09/17
【摘要】 基本类型Java 语言提供了八种基本类型,用户无需定义也可以直接使用。其数据保存在相应的方法栈中。基本数据类型字节数默认值包装数据类型备注byte10Byteshort20Shortint40Integerlong80Longfloat40.0fFloat数字后加fdouble80.0Doublechar2nullCharacter必须用单引号boolean1falseBoolean布尔型b...

基本类型

Java 语言提供了八种基本类型,用户无需定义也可以直接使用。其数据保存在相应的方法栈中。

基本数据类型 字节数 默认值 包装数据类型 备注
byte 1 0 Byte
short 2 0 Short
int 4 0 Integer
long 8 0 Long
float 4 0.0f Float 数字后加f
double 8 0.0 Double
char 2 null Character 必须用单引号
boolean 1 false Boolean
  • 布尔型

boolean 类型只含有两个值:true 和 false。字节存储为 11111111 和 00000000 。

boolean b = true;      
boolean b = false;   Copy to clipboardErrorCopied
  • 字符型

char 类型使用单引号来表示字符。因为 Java 统一采用 unicode 编码,2 字节可以表示一字符。char 类型同样可以用十六进制码保存汉字等特殊字符:'\u0000' - '\uffff'。

char ch = 'a';      
char ch = '中';
char ch = '/u3089';   Copy to clipboardErrorCopied
  • 整型和浮点型

Java 没有无符号类型,所有数据都有符号。

  1. 整型(byte/short/int/long) 用来表示整型数据。

  2. 浮点型(float/double) 用来表示浮点数据,实际以指数形式存储,所以和实际值之间有偏差。

    • 为 float 类型赋值必须在数字后加 f,否则数字默认被识别为 double 类型,会导致赋值出错。

    • 数字基本类型都包含最大最小值常量,如 Integer.MAX_VALUE  Integer.MIN_VALUE .

    • 在浮点型有三个特殊数值表示溢出和出错:

      • POSITIVE_INFINITY :正无穷大,正数除以 0 可以得到。
      • NEGATIVE_INFINITY :负无穷大,负数除以 0 可以得到。
      • NaN :非数,零除以 0 可以得到。(两个 NAN 值也不相等)
int n = 0;
float f = 0.0f;
long l = Long.MAX_VALUE;               
double d = POSITIVE_INFINITY;Copy to clipboardErrorCopied

包装类型

均继承自 Number 抽象类,把基本类型数据封装成对象。基本类型和包装类型之间会自动进行转化。

  • 基本类型(如int),是一个值。允许不赋初值,系统自动添加默认值。

  • 包装类型(如Integer),是一个对象。实例化必须赋初值,且赋值后不能改变(final)。

包装类型主要用于集合框架中的元素。但阿里巴巴要求所有实体类(POJO) 属性、远程过程调用方法(RPC) 的返回值和参数都必须使用包装数据类型。以此来提醒使用者在需要使用时,必须显式地进行赋值。

类型转换

对于基础类型:

  • 按上图顺序可以自动进行类型转换。但整型转化为浮点型时,如果数据过大可能会导致数据丢失精度。

  • 反之则必须进行强制类型转换。但务必小心,超出范围可能会产生意想不到的错误。

int i = 'x';                  // 自动转换
char c = (char)60;            // 强制转换Copy to clipboardErrorCopied

但是包装类型之间的转换,需要使用特殊的方法。

Integer i = l.intValue();
Long l = i.longValue();
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。