`

java基本数据类型&&int与Integer区别

阅读更多
基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。

Java中的简单类型从概念上分为四种:实数、整数、字符、布尔值。但是有一点需要说明的是,Java里面只有八种原始类型,其列表如下:

  实数:double、float

  整数:byte、short、int、long

  字符:char

  布尔值:boolean

复杂类型和基本类型的内存模型本质上是不一样的,简单数据类型的存储原理是这样的:所有的简单数据类型不存在“引用”的概念,简单数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面只有这八种数据类型是这种存储模型;而其他的只要是继承于Object类的复杂数据类型都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的。

Java的简单数据讲解列表如下:

  int:int为整数类型,在存储的时候,用4个字节存储,范围为-2,147,483,648到2,147,483,647,在变量初始化的时候,int类型的默认值为0。

  short:short也属于整数类型,在存储的时候,用2个字节存储,范围为-32,768到32,767,在变量初始化的时候,short类型的默认值为0,一般情况下,因为Java本身转型的原因,可以直接写为0。

  long:long也属于整数类型,在存储的时候,用8个字节存储,范围为-9,223,372,036,854,775,808到9,223,372,036, 854,775,807,在变量初始化的时候,long类型的默认值为0L或0l,也可直接写为0。

  byte:byte同样属于整数类型,在存储的时候,用1个字节来存储,范围为-128到127,在变量初始化的时候,byte类型的默认值也为0。

  float:float属于实数类型,在存储的时候,用4个字节来存储,范围为32位IEEEE 754单精度范围,在变量初始化的时候,float的默认值为0.0f或0.0F,在初始化的时候可以写0.0。

  double:double同样属于实数类型,在存储的时候,用8个字节来存储,范围为64位IEEE 754双精度范围,在变量初始化的时候,double的默认值为0.0。

  char:char属于字符类型,在存储的时候用2个字节来存储,因为Java本身的字符集不是用ASCII码来进行存储,是使用的16位Unicode字符集,它的字符范围即是Unicode的字符范围,在变量初始化的时候,char类型的默认值为'u0000'。

  boolean:boolean属于布尔类型,在存储的时候不使用字节,仅仅使用1位来存储,范围仅仅为0和1,其字面量为true和false,而boolean变量在初始化的时候变量的默认值为false。

Integer是int的封装类,里面有很多进行处理的静态方法 
Integer是对象而int不是,内存的分配位置也不一样

int是一种基本数据类型,而Integer是相应于int的类类型,称为对象包装。 
实现这种对象包装的目的主要是因为类能够提供必要的方法,用于实现基本数据类型的数值与可打印字符串之间的转换,以及一些其他的实用程序方法; 
另外,有些数据结构库类只能操作对象,而不支持基本数据类型的变量,包装类提供一种便利的方式,能够把基本数据类型转换成等价的对象,从而可以利用数据结构库类进行处理。  

int 是基本类型,(int)(Math.Random()*100)就是一个数,可以进行加见乘除。 Integer是class ,那么 new Integer(temp)就是一个对象了,可以用到Integer这个class的方法,例如用intvalue()可以返回这个int的值。

int a=1;这是基本数据类型是能参与运算的.

而Integer b= new Integer(1);

c=b.floatvalue;

Float a= new Float(null);是可以的用Float初始化一个对象

这个a有很多方法而float a;就没有因为原始没有引用类



java 提供两种不同的类型:引用类型(或者封装类型,Warpper)和原始类型(或内置类型,Primitive)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型 封装类
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。

1 Boolean VS boolean

public final class Boolean
extends Object
implements Serializable, Comparable<Boolean>
Boolean 类将基本类型为 boolean 的值包装在一个对象中。一个 Boolean 类型的对象只包含一个类型为 boolean 的字段。

此外,此类还为 boolean 和 String 的相互转换提供了许多方法,并提供了处理 boolean 时非常有用的其他一些常量和方法。

2 Byte VS byte

public final class Byte
extends Number
implements Comparable<Byte>
Byte 类将基本类型 byte 的值包装在一个对象中。一个 Byte 类型的对象只包含一个类型为 byte 的字段。

此外,该类还为 byte 和 String 的相互转换提供了几种方法,并提供了处理 byte 时非常有用的其他一些常量和方法。

3 Character VS char

public final class Character
extends Object
implements Serializable, Comparable<Character>
Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。

此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

4 Double VS double

public final class Double
extends Number
implements Comparable<Double>
Double 类在对象中包装了一个基本类型 double 的值。每个 Double 类型的对象都包含一个 double 类型的字段。

此外,该类还提供了多个方法,可以将 double 转换为 String,将 String 转换为 double,还提供了其他一些处理 double 时有用的常量和方法。

5 Float VS float

public final class Float
extends Number
implements Comparable<Float> Float 类在对象中包装了一个 float 基本类型的值。Float 类型的对象包含一个 float 类型的字段。

此外,此类提供了几种方法,可在 float 类型和 String 类型之间互相转换,并且还提供了处理 float 类型时非常有用的其他一些常量和方法。

6 Integer VS int

public final class Integer
extends Number
implements Comparable<Integer>
Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。

此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。

7 Long VS long

public final class Long
extends Number
implements Comparable<Long>
Long 类在对象中封装了基本类型 long 的值。每个 Long 类型的对象都包含一个 long 类型的字段。

此外,该类提供了多个方法,可以将 long 转换为 String,将 String 转换为 long,除此之外,还提供了其他一些处理 long 时有用的常量和方法。

8 Short VS short

public final class Short
extends Number
implements Comparable<Short>
Short 类在对象中包装基本类型 short 的值。一个 Short 类型的对象只包含一个 short 类型的字段。

另外,该类提供了多个方法,可以将 short 转换为 String,将 String 转换为 short,同时还提供了其他一些处理 short 时有用的常量和方法。

9

public final class Void

extends Object
Void 类是一个不可实例化的占位符类,它保持一个对代表 Java 关键字 void 的 Class 对象的引用。

分享到:
评论

相关推荐

    Java基本数据类型与封装类型详解(int和Integer区别)

    本文将深入探讨Java中的int基本数据类型和Integer封装类型之间的差异。 1. 类型区别: - int是Java的八种基本数据类型之一,属于原始类型(Primitive Type),它直接存储整数值,没有对象的概念。int的默认值是0。...

    Java中int与integer的区别(基本数据类型与引用数据类型)

    在Java编程语言中,`int` 和 `Integer` 是两种截然不同的数据类型,它们各自具有独特的特性和用途。理解这两者之间的差异对于编写高效、可靠的代码至关重要。 首先,`int` 是Java中的一个基本数据类型,它代表整数...

    JAVA-int和Integer的区别

    在Java编程语言中,`int`和`Integer`都是用于表示整数值的数据类型,但它们之间存在着显著的差异。理解这些区别对于编写高效且优化的Java代码至关重要。 首先,`int`是Java中的原始数据类型(Primitive Type),它...

    Java中int和Integer的区别.doc.doc

    在 Java 编程语言中,int 和 Integer 是两种不同的数据类型,虽然它们看起来很相似,但它们有着根本的区别。下面我们将详细探讨这两种数据类型的差异。 基本类型 vs 复杂数据类型 Java 中的数据类型可以分为基本...

    int与Integer的区别(Java各种数据类型详细介绍及其区别).doc

    Java编程语言中有两种主要的数据类型:基本类型(Primitive Types)和引用类型(Reference Types)。基本类型包括实数、整数、字符和布尔值,而引用类型则是基于对象的,它们继承自`Object`类。本篇文章将深入探讨...

    JAVA-int和Integer的区别1.zip

    在Java编程语言中,`int`和`Integer`都是用于表示整数值的数据类型,但它们之间存在着显著的差异。理解这些区别对于编写高效且优化的Java代码至关重要。 首先,`int`是Java中的原始数据类型之一,它直接存储在栈...

    Java中int和Integer的区别.doc

    Java 中的数据类型可以分为基本数据类型和复杂数据类型,int 是基本类型,而 Integer 是一个类。下面是它们之间的主要区别: 1. 数据类型 int 是基本数据类型,直接存储数值,而 Integer 是一个类,需要创建对象并...

    Java int与integer的区别

    int与integer的区别从大的方面来说是基本数据类型与其包装类的区别:  int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象  1.Java 中的数据类型分为基本数据类型和复杂数据类型  int 是...

    java教程课件5基本数据类型与引用类型

    - Java的基本数据类型包括布尔型`boolean`、字节型`byte`、短整型`short`、整型`int`、长整型`long`、字符型`char`、浮点型`float`和双精度浮点型`double`。这些类型占据固定大小的内存,它们的值直接存储在栈内存...

    Java 基本数据类型分析与介绍

    Java数据类型分为两大类:基本数据类型(Primitive Data Types)和引用数据类型(Reference Data Types)。本文将深入探讨Java中的基本数据类型。 1. 整型数据类型: - `byte`:占用1个字节(8位),取值范围为-...

    java中String类型和int类型比较及相互转换

    在Java编程语言中,数据类型的比较与转换是基础但又至关重要的操作,尤其在处理文本与数字信息时。本文将深入探讨Java中String类型和int类型之间的比较方法以及相互转换的技术,这对于理解和优化代码逻辑、提升程序...

    java数据类型汇总

    Java的数据类型主要分为两大类:基本数据类型(Primitive Data Types)和引用数据类型(Reference Data Types)。基本数据类型包括布尔型(boolean)、字符型(char)、整型(byte, short, int, long)和浮点型...

    JAVA数据类型与Hibernate的类型映射

    这篇博客主要探讨了Java数据类型如何与Hibernate的类型映射进行对应。 首先,Java的基本数据类型在Hibernate中有对应的类型映射。例如,int型在Hibernate中通常映射为Integer类型,因为数据库字段可能允许为空...

    Java数据类型和MySql数据类型对应表

    Java 数据类型和 MySql 数据类型对应表 在 Java 编程中,了解 Java 数据类型和 MySql 数据类型的对应关系非常重要。这是因为在 Java 应用程序中,我们经常需要与数据库进行交互,而 MySql 是一种常用的关系数据库...

    Mysql、orcale 中的数据类型与java中的数据类型对应表.pdf

    在 Java 中,对应 MySQL 的数值类型可以使用基本数据类型,例如 int、long、float 和 double 等。对应日期时间类型可以使用 java.util.Date 和 java.sql.Date 等。对应字符串类型可以使用 String 等。 理解 MySQL ...

    Java 字符串和基本数据类型之间的转换

    综上所述,Java中字符串与基本数据类型之间的转换是通过各种内置方法和类实现的,理解并熟练运用这些方法对于编写高效且健壮的代码至关重要。在实际编程中,应根据具体需求选择合适的方法,并注意可能出现的问题,以...

    Java数据类型,Hibernate数据类型,标准sql数据类型之间的对应表

    当我们在使用Hibernate时,我们需要了解Java数据类型如何与SQL数据类型对应,以便正确地配置实体类和Hibernate的映射文件(通常是.hbm.xml文件或使用注解的方式)。例如,Java的`int`类型通常对应于SQL的`INTEGER`,...

    Oracle9i数据类型Java数据类型Schema类型对比.doc

    - Java 的基本数据类型如 byte, short, int, long, float, double, boolean 与 Oracle9i 中的某些数字类型相对应。 - String 类型用于存储文本,与 Oracle9i 中的 CHAR 和 VARCHAR2 类型匹配。 - Date 和 ...

Global site tag (gtag.js) - Google Analytics