1.1、基本常识表

  对于上图有以下几点需要注意:

  java八种基本数据类型分为四类八telegram中文地址是多少种,四类分别为整型、浮点型、布尔型、字符型;八种分别为byte、short、int、long、float、double、boolean、char;java八种基本数据类型的字节数:分别为1、2、4、8个字节;1字节(byte、boolean)、 2字节(short、char)、4字节(int、float)、8字节(long、double);整数的默认类型为int,浮点数的默认类型为double;八种基本数据类型的包装类:除了char的是Character、int类型的是Integer,其他都是首字母大写关于值的范围问题,需要注意char类型是无符号的,不能为负,所以是0开始的;

  2.1、直接量

  整数型的直接量默认为int类型浮点型的直接量默认为double类型

  2.2、类型转换

  1.自动转换:低类型的向高类型的转换

  如下图:顺着箭头的方向是可以自动转换的;

  2.强制转换:高类型的向底类型转换,但可能会数据溢出或者精度丢失

  以上现象在实际中可以出现这三种问题:

  定义变量时出现的类型转换

  以上为几种正常的情况,但是有一种特殊的情况,就是int型直接量可以直接赋给byte、short、char类型变量,只要不超出变量类型的取值范围

  数据运算时的类型转换

  (1)运算时,运算结果会向较大的类型转换

  (2)特殊的:byte、short、char三种数据类型参与运算时,先一律转化为int类型;

  强制转换

telegram 的官网的最新下载的地址是什么
  高等级转为低等级的时候,必须强制转换,但实际工作中不推荐使用强制转换,可能会失精度或数据溢出;

  补充说明:不是只有强制转换的时候会出现数据,例如下面这种情况

  3.1、基本介绍

  java是一门面向对象的语言,但是8中基本数据类型不具备面向对象的特征,所以实际使用中很不便所以为java八种基本数据类型提供了对应的包装类。

  基本数据类型

  对应包装类

  包装类的父类

  byte

  java.lang.Byte

  java.lang.Number

  short

  java.lang.Short

  java.lang.Number
telegram 的官网最新下载的地址是什么
  int

  java.lang.Integer

  java.lang.Number

  long

  java.lang.Long

  java.lang.Number

  float

  java.lang.Float

  java.lang.Number

  double

  java.lang.Double

  java.lang.Number

  booleantelegram中文版网址怎么找

  java.lang.Boolean

  java.lang.Object

  char

  java.lang.Character

  java.lang.Object
telegram 官方网站的下载方法是什么
  对应包装类比较特殊的就是int对应的Integer和char对应的Character;对应包装类的直接父类:前6个由于是数,直接父类为Number,而后两个的直接父类就是Object类;

  3.2、常用方法一:静态方法 telegram的的官网下载telegram的的官网最新下载地方在哪 valueOf()

  参数为基本数据类型,返回包装类对象;参数为String字符串(Character类没有以String为  参数的该方法),返回包装类对象;

  3.3、常用方法二:静态方法parseXXX(String str)

  Character类没有该方法;作用:将字符串装换为对应的基本数据类型(注意此处和上面的valueOf方法返回值的不同);

  3.4、常用方法二:非静态方法XXXValue()

  因为是非静态方法,所以不能像上面两个方法用类名调用了 telegram官网的最新下载是什么;数字类的包装类(八种包装类中父类是Number的的六个类)才有该方法;作用:将当前包装类对象转换为对应的基本数据类型;

  3.5、自动拆箱与装箱

  简介:jdk1.5之后的新特性。该特性是编译器认可的,是在编译器自动将基本数据类型和包装类相互转换,节省了麻烦。

  自动拆箱 包装类——>基本数据类型 (原理是调用了xxxValue方法)    自动装箱 基本数据类型——>包装类 (原理是调用了valueOf方法)

  3.6、关于valueOf()方法源码研究

  通过按住Ctrl键,鼠标点击该方法即可查看源码,以Integer类的valueOf(int i)的源码为例

  关于源码的理解:Integer类的valueOf(int i)方法首先会判断i是否在-128~127之间,如果在的话,就返回的对象是Integer类中静态数组cache中的对象,如果不是在这之间,就会重写创建一个新的对象。

  通过查看其它类的该方法的源码之后,可以得到该表:

  包装类

  valueOf(X i)返回对象的原则

  Byte

  直接取,数组范围为(-128,127),且byte值的范围也是(-128,127)

  Short

  (-128,127)之间在数组中取,否则new

  Integer

  (-128,127)之间在数组中取,否则new

  Long

  (-128,127)之间在数组中取,否则new

  Float

  直接new

  Double

  直接new

  Boolean

  直接返回,不new

  Character

  0-127之间从数组中取,否则new

  4.1、类型转换

  注意一些喜欢忽视的类型转换

  4.2、+=的情况

  4.3、自动装箱

  包装类和基本数据类型比较时,只要值相等就相等

  4.4、char类型存储汉字

  char类型能不能存储一个汉字?为什么?

  解析:能,char类型采用的是Unicode编码,Unicode编码包含汉字,所以char类型自然是可以存储一个汉字的

  4.5、浮点数精度问题

  第一篇技术博客!记载一下2018.12.20 10:14:20!

  觉得写的还可以的话不要忘记点赞哦!

  觉得哪里写的有问题的话,欢迎评论指出问题,我们讨论讨论!

seo