1.首先,八种基本数据类型分别是:int、short、float、double、long、boolean、byte、char;

     它们的封装类分别是:Integer、Short、Float、Double、Long、Boolean、Byte、Character。

 
数据类型  包 装 类 字节长度 默 认 值
int Integer 4 0
short Short 2 0
long Long 8 0l或0L
byte Byte 1 0
float Float 4 0.0F或0.0f
double Double 8 0.0
char Character 2 u0000
boolean Boolean 1 false

  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)中的比较。

     int i=;
Integer j=new Integer();
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=-;
Integer bb=-;
System.out.println(aa==bb);
Integer aaa=;
Integer bbb=;
System.out.println(aaa==bbb);

    程序运行结果:

true
true
true
true
true
false

  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

    需要注意的是,在进行强制类型转换时可能会损失精度。

Java 八种基本类型和基本类型封装类的更多相关文章

  1. Java中的基本类型和包装类型区别

    首先看一下几个测试题,验证一下java中对基本类型和包装类型的理解,看看最后输出的答案对不对,答案在这篇博客中哦: // 第一题: 基本类型和包装类型 int a = 100; Integer b = ...

  2. java的基本类型和对应的封装类

    封装,是java这门语言的重要核心思想之一,封装也是对面向对象这一思想很好的体现. 在很多情况下,我们需要对数据进行一些转换,如:将一字符串"123"转换成int类型的123,或者 ...

  3. java中基本类型和包装类型实践经验

    至今,小菜用java快两年了,有些事,也该有个总结. 基本类型和包装类型的概念在本文不作赘述. 如果这两种类型直接使用,倒没什么值得讨论的,无非就是自动装箱拆箱,java可以让你感觉不到他们的存在,但 ...

  4. java 八种基本数据类型之初始值、取值范围、对应的封装类

      CreateTime--2017年12月6日10:03:53 Author:Marydon 一.java数据类型之基本数据类型 (二)八种基本数据类型的特征 import java.math.Bi ...

  5. java 八种基本数据类型之与对应的封装类之间的相互转化

      迁移时间--2017年5月26日17:47:37 Author:Marydon 一.java数据类型之基本数据类型 UpdateTime--2017年1月9日17:31:14 (三)格式转换 1. ...

  6. Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法?

    参考:http://blog.csdn.net/mazhimazh/article/details/16799925 1. Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法? 原始类型 ...

  7. 【Java心得总结一】Java基本类型和包装类型解析

    说到数据类型这个问题是一个基本的不能再基本的问题,我们当初编程入门第一课一般就是讲数据类型,而今天我想记录的是一个在Java中容易忽略的问题,即基本类型和包装类型. 一.基本类型出现的原因 我们都知道 ...

  8. Java 基本类型和包装类型

    讲基本类型和包装类型之前,首先要介绍,装箱和拆箱 装箱:基本类型转化为包装类型 拆箱:包装类型转化为拆箱类型 为什么要有包装类型?Java是面向对象的语言,Java中一切都是对象除了基本数据类型,所以 ...

  9. Java 基本类型和对象类型的区别

    Java 基本类型和对象类型的区别 基本类型: int long byte float double char boolean short 对象类型: Integer Long Byte Float ...

随机推荐

  1. django-crontab使用

    用 django-crontab 为 Django 添加定时任务 需求 做后台开发的时候,有时候会遇到这样的需求,在某个固定时间或者一定时间间隔自动触发某一事件.比如说我有一个需求要求是,周一到周五早 ...

  2. linux查看并发连接数

    1.查看TCP的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' netstat ...

  3. Linux_更改主机名

    老师上linux课截图必须改主机名字,每个人一个代号,所以就写篇这个咯 查看主机名 [root@localhost.localdomain Desktop]# hostname localhost.l ...

  4. 4)date中的Ymd格式问题

    以下是详细的参数: format 字符 说明 返回值例子日 --- ---d 月份中的第几天,有前导零的 2 位数字 01 到 31D 星期中的第几天,文本表示,3 个字母 Mon 到 Sunj 月份 ...

  5. @EnableGlobalMethodSecurity(prePostEnabled = true)

    http://www.bubuko.com/infodetail-2243816.html

  6. go proxy转发工作中碰到的问题

    A-B 需求是一个中转 A-Proxy-B 读取来源请求A,在proxy读取body作些处理,再转给B,再把返回内容转给A 问题出在proxy这里 如果先把请求给B,再读body res, err : ...

  7. Linux BASH简单总结

    BASH: 变量的设置规则: 1.变量与变量内容以一个符号"="来链接 2.等号两边不能直接接空白字符 3.变量名称只能是英文字母与数字,但是不能以数字开头 4.变量内容若有空白字 ...

  8. FPGA底层的时钟布线以及内部layout

    https://wenku.baidu.com/view/441549fef111f18582d05a70.html 全局时钟是最简单的最可预测的时钟,时钟方案:有专用的时钟输入(提供最短的始终输出延 ...

  9. VS自身的单元测试方法DEMO

    ///用来修饰测试类 [TestClass()] public class Program { private TestContext testContextInstance; /// <sum ...

  10. Nginx笔记总结十一:Nginx重写规则指南

    依赖PCRE库,需要安装pcre,最多循环10次,超过后返回500错误, 1.       rewrite模块指令 break:完成当前设置的重写规则,停止执行其他的重写规则 if:  if () { ...