唯倚社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 427|回复: 5

Java 八种基本类型和基本类型封装类

[复制链接]

59

主题

169

帖子

754

积分

版主

Rank: 7Rank: 7Rank: 7

积分
754
发表于 2017-9-16 17:22:33 | 显示全部楼层 |阅读模式

轻松玩转社区

您需要 登录 才可以下载或查看,没有帐号?立即注册

x


  1.首先,八种基本数据类型分别是:int、short、float、double、long、boolean、byte、char;
     它们的封装类分别是:Integer、Short、Float、Double、Long、Boolean、Byte、Character。
数据类型 包 装 类字节长度默 认 值
intInteger40
shortShort20
longLong80l或0L
byteByte10
floatFloat40.0F或0.0f
doubleDouble80.0
charCharacter2u0000
booleanBoolean1false
  2.Java中的数值都是有符号的,不存在无符号的数,它们的取值范围也是固定的,不会随着硬件环境或者操作系统的改变而改变。
  3.原始数据类型在传递参数时都是按值传递,封装类都是按引用传递。
  4.Java语言中,默认声明的小数是double类型的,因此对float类型的变量进行初始化时需要进行类型转换。
     float类型变量有两种初始化方法:float f = 1.0f  或者 float f =(float) 1.0 。
  5."=="和"equals()"方法:
    1)基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较,因此Integer(0)会自动拆箱为int类型再进行比较,显然返回true。
    2)两个Integer类型进行“==”比较,如果其值在-128至127,那么返回true,否则返回false, 这跟Integer.valueOf()的缓冲对象有关,这里不进行赘述。
    3)两个基本型的封装型进行equals()比较,首先equals()会比较类型,如果类型相同,则继续比较值,如果值也相同,返回true。
    4)基本型封装类型调用equals(),但是参数是基本类型,这时候,先会进行自动装箱,基本型转换为其封装类型,再进行3)中的比较。
[url=]
[Java] 纯文本查看 复制代码
     int i=0;
        Integer j=new Integer(0);
        System.out.println(i==j);
        System.out.println(j.equals(j));
        double d=0.5;
        Double b=new Double(0.5);
        System.out.println(d==b);
        System.out.println(b.equals(d));
        Integer aa=-100;
        Integer bb=-100;
        System.out.println(aa==bb);
        Integer aaa=129;
        Integer bbb=129;
        System.out.println(aaa==bbb);
[/url]



    程序运行结果:
truetruetruetruetruefalse

  6.不同数据类型之间的转换规则:
    在Java中当参与运算的两个变量的数据类型不同时,就需要进行隐式的数据类型转换,转换规则为:从低精度向高精度转换,即优先级满足byte<short<char<int<long<float
<double.反之,则需要通过强制类型转换来完成。

常见的自动类型转换的规则   操作数1的类型   操作数2的类型    转换后的类型
    int    byte,short,char
    int
    long  byte,short,char,int
    long
    float  byte,short,char,int,long
    float
    double
  byte,short,char,int,long,float    double
    l类型自动转换时,需要注意的几点:
      1)char数据类型转换为高级类型时,会自动转换为其对应的ASCII码。
      2)byte, char, short 类型的数据在参与运算时会自动转换为int类型,但当使用''+=" 运算符时就不会产生类型转换,例如 short s1= 1; s1=(shot) (s1+1) 。short s2 = 1;s1+=1。
      3)基本数据类型不能与boolean类型相互转换。


强制类型转换的规则  原操作数的类型    转换后操作数的类型
  byte  char
  char  byte char
  short  byte char
  int  byte short char
  long  byte short char int
  float  byte short char int long
  double  byte short char int long double    需要注意的是,在进行强制类型转换时可能会损失精度。


[发帖际遇]: 一个袋子砸在了 芒果酱 头上,芒果酱 赚了 5 E币. 幸运榜 / 衰神榜

0

主题

108

帖子

249

积分

版主

Rank: 7Rank: 7Rank: 7

积分
249
发表于 2017-9-23 09:58:08 | 显示全部楼层
虎躯一震,菊花一紧
回复

使用道具 举报

86

主题

201

帖子

3444

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3444

最佳新人

发表于 2017-9-23 14:49:48 | 显示全部楼层
作为一名禽兽,我深感亚历山大
回复

使用道具 举报

27

主题

142

帖子

522

积分

版主

Rank: 7Rank: 7Rank: 7

积分
522
发表于 2017-9-23 18:33:27 | 显示全部楼层
如果这就是爱,再转身的时候就该留下
回复

使用道具 举报

21

主题

148

帖子

1170

积分

超级版主

Rank: 8Rank: 8

积分
1170

最佳新人

发表于 2017-9-23 20:58:55 | 显示全部楼层
不怕神一样的对手,就怕猪一样的队友
回复

使用道具 举报

31

主题

151

帖子

812

积分

版主

Rank: 7Rank: 7Rank: 7

积分
812
发表于 2017-9-23 22:01:25 | 显示全部楼层
水帖美如花,养护靠大家!!
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|weiecn ( 湘ICP备14002058号 )

GMT+8, 2018-12-17 01:34 , Processed in 0.057633 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表