精华内容
下载资源
问答
  • Java支持的数据类型

    2020-04-19 16:26:35
    Java共有两种数据类型:基本数据类型和引用数据类型,其中基本数据类型包含8个。 基本类型 大小(字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 (short)0 Short int 4 ...

    Java共有两种数据类型:基本数据类型和引用数据类型,其中基本数据类型包含8个。

    基本类型 大小(字节) 默认值 封装类
    byte 1 (byte)0 Byte
    short 2 (short)0 Short
    int 4 0 Integer
    long 8 0L Long
    float 4 0.0F Float
    double 8 0.0D Double
    boolean - false Boolean
    char 2 \u0000(null) Character

    1、int是基本数据类型,Integer是int的封装类,是引用类型。int默认值是0,而Integer默认值是null,所以Integer能区分出0和null的情况。一旦Java看到null,就知道这个引用还没有指向某个对象,在任何引用使用前,必须为其指定一个对象,否则会报错。

    2、基本数据类型在声明时系统会自动给它分配空间,而引用类型声明时只是分配了引用空间,必须通过实例化开辟数据空间之后才可以赋值。数据对象也是一个引用对象,将一个数组赋值给另一个数组时只是复制了一个引用,所以通过某一个数组所做的修改在另一个数组中也看得见。

    虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位。这样我们可以得出boolean类型在单独使用的时候占用了4个字节,在数组中的时候又是一个字节。使用int的原因是,对于当下32位的处理器(CPU)来说,一次处理数据是32位(这里不是指的是32/64位系统,而是指CPU硬件层面),具有高效存取的特点。

    展开全文
  • Java 支持的数据类型包括基本数据类型和引用类型。基本数据类型整数值型:byte,short,int,long字符型:char浮点类型:float,double布尔型:boolean整数默认 int 型,小数默认是 double 型。float 和 long 类型的...

    Java 支持的数据类型包括基本数据类型和引用类型。

    基本数据类型

    整数值型:byte,short,int,long

    字符型:char

    浮点类型:float,double

    布尔型:boolean

    整数默认 int 型,小数默认是 double 型。float 和 long 类型的必须加后缀。比如 float f = 100f。

    不加的话,整数默认为int,即便是前面类型声明是long,也默认为int,浮点数默认为double

    package com.company;

    public class Test {

    @org.junit.Test

    public void test(){

    Integer a = Integer.MAX_VALUE;

    System.out.println(a);

    long b = 2147483648;//编译器直接报错

    System.out.println(b);

    long c = 2147483648L;//编译器不报错

    System.out.println(c);

    }

    }

    395879e59c1c75e43b211ad9f01bf8ea.png

    引用类型

    首先知道 String 是引用类型不是基本类型,引用类型声明的变量是指该变量在内存中实际存储的是一个引用地址,实体在堆中。引用类型包括类、接口、数组等。String 类还是 final 修饰的。

    展开全文
  • 主要介绍了Java支持的数据类型及Java的常量和变量类型,是Java入门学习中的基础知识,需要的朋友可以参考下
  • 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字字母。Java 中有两种有效地数据类型:原始数据类型...

    基本数据类型

    变量就是用来储存值而保留的内存位置。这就意味着当你创建一个变量时就会在内存中占用一定的空间。

    基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字字母。

    Java 中有两种有效地数据类型:

    原始数据类型

    引用数据类型

    原始数据类型

    Java 支持 8 种原始数据类型。原始数据类型是由该语言预先定义的并用关键词命名的。下面让我们深入学习一下这 8 种数据类型。

    字节型(byte)

    字节型是一种 8 位有正负的二进制整数

    最小值是 -128(-2^7)

    最大值是 127(2^7-1)

    默认值为 0

    字节型数据类型主要是为了在大型数组内节省空间,主要是替代整数由于字节型比整数小 4 倍。

    例如:

    byte a = 100 , byte b = -50

    短整数(short)

    短整数是一种 16 位有正负的二进制整数

    最小值是 -32768(-2^15)

    最大值是 32767(2^15-1)

    短整数类型的数据也可以像字节型一样用于节省空间。短整数比整数小两倍

    默认值为 0

    例如:

    short s = 10000, short r = -20000

    整数型(int)

    整数型是一种 32 位有正负的二进制整数

    最小值是 - 2,147,483,648(-2^31)

    最大值是 2,147,483,647(2^31 -1)

    整数型一般默认被应用于整数值除非担心内存不够用。

    默认值为 0

    例如:

    int a = 100000, int b = -200000

    长整型(long)

    长整型是一种 64 位有正负的二进制整数

    最小值是 -9,223,372,036,854,775,808(-2^63)

    最大值是 9,223,372,036,854,775,807 (2^63 -1)

    这种数据类型一般是在需要比整数型范围更大时应用。

    默认值为 0L

    例如:

    long a = 100000L, int b = -200000L

    浮点型(float)

    浮点型数据是一种单精度的 32 位 IEEE 754 标准下的浮点数据。

    浮点型数据主要是为了在大型浮点数字数组中节约内存。

    默认值是 0.0f。

    浮点型数据不能用于如货币这样的精确数据。

    例如:

    float f1 = 234.5f

    双精度型(double)

    双精度型数据是一种双精度的 64 位 IEEE 754 标准下的浮点数据。

    这种数据类型主要是默认被用于表示小数的值,一般是默认的选择。

    双精度型数据不能用于如货币这样的精确数据。

    默认值是 0.0d

    例如:

    double d1 = 123.4

    布尔型(boolean)

    布尔型数据代表一个信息比特。

    它只有两个可能的值:真(true)和假(false)

    这种数据类型用于真假条件下的简单标记。

    默认值是假(false)

    例如:

    boolean one = true

    字符型(char)

    字符型数据是简单的 16 位 Unicode 标准下的字符。

    最小值是: '\u0000' (或 0)。

    最大值是: '\uffff' (或 65,535 )。

    字符型数据可以用来储存任意字母。

    例如: char letter A(字符型的字母A) ='A'

    引用数据类型

    引用数据类型是由类的编辑器定义的。他们是用于访问对象的。这些变量被定义为不可更改的特定类型。例如:Employee, Puppy 等等。

    类对象和数组变量就是这种引用数据类型。

    任何引用数据类型的默认值都为空。

    一个引用数据类型可以被用于任何声明类型和兼容类型的对象。

    例如:

    Animal animal = new Animal("giraffe");

    Java 常量

    常量是代表固定值的源代码。他们直接以代码的形式代表而没有任何估计。

    常量可以被分配给任意的原始变量类型。例如:

    byte a = 68;

    char a = 'A'

    字节型,整数型,长整型和短整型也可以由十进制,十六进制和八进制计数系统表示。

    当用这些技术系统表示直接量时,前缀 0 是为了标明八进制,前缀 0x 是为了标明十六进制。例如:

    int decimal = 100;

    int octal = 0144;

    int hexa = 0x64;

    Java 中的字符串型常量的规定和其他大多数语言一样,也是要写在双引号中间。字符串型直接量的例子如下:

    "Hello World"

    "two\nlines"

    "\"This is in quotes\""

    字符和字符串型常量可以包含任意的 Unicode 字母。例如:

    char a = '\u0001';

    String a = "\u0001";

    Java 语言也支持一些特殊的转义序列的字符和字符串直接量。他们是:转义字符

    含义

    \n

    换行 (0x0a)

    \r

    回车 (0x0d)

    \f

    换页 (0x0c)

    \b

    退格 (0x08)

    \s

    空格 (0x20)

    \t

    tab

    \"

    双引号

    \'

    单引号

    \

    反斜杠

    \ddd

    八进制字符 (ddd)

    \uxxxx

    十六进制 UNICODE 字符 (xxxx)

    变量类型

    变量可以给我们提供我们程序可以操纵的命名的存储。Java 中的每种变量都有特定的类型,这决定了变量的大小和它的设计占用内存空间;这一些列的值可以存储在那个内存空间中;变量可以应用的操作。

    在使用前你必须现将所要使用的变量进行声明。声明变量的基本格式如下:

    data type variable [ = value][, variable [= value] ...] ;

    这里的 data type 是 Java 的一种数据类型,variable 是一种变量的名称。要声明一个以上的特定变量类型,你可以采用逗号分隔开。

    下面是 Java 中有效的变量声明和赋值的例子:

    int a, b, c; // Declares three ints, a, b, and c.

    int a = 10, b = 10; // Example of initialization

    byte B = 22; // initializes a byte type variable B.

    double pi = 3.14159; // declares and assigns a value of PI.

    char a = 'a'; // the char variable a iis initialized with value 'a'

    Java 中共有三种变量:

    本地变量

    实例变量

    类、静态变量

    本地变量

    本地变量在方法、构造器或者块中声明

    本地变量在方法、构造器或者块进入时被创建,一旦退出该变量就会被摧毁

    可访问描述符不能用于本地变量

    本地变量仅在已经声明的方法、构造器或者块中可见

    本地变量在栈深度内部实施

    本地变量没有默认值,因此本地变量必须被声明并且在第一次使用前要给它赋值

    例子

    这里,age(年龄)是本地变量。这是在 pupAge() 方法下定义的,它的范围仅限于这个方法。

    public class Test{

    public void pupAge(){

    int age = 0;

    age = age + 7;

    System.out.println("Puppy age is : " + age);

    }

    public static void main(String args[]){

    Test test = new Test();

    test.pupAge();

    }

    }

    上述代码会输出如下结果:

    Puppy age is: 7

    例子

    下面的例子使用了本地变量 age 但是没有进行初始化,所以在编辑是就会显示错误。

    public class Test{

    public void pupAge(){

    int age;

    age = age + 7;

    System.out.println("Puppy age is : " + age);

    }

    public static void main(String args[]){

    Test test = new Test();

    test.pupAge();

    }

    }

    编辑时会产生如下错误:

    Test.java:4:variable number might not have been initialized

    age = age + 7;

    ^

    1 error

    实例变量

    实例变量在类中声明,但是它在方法、构造器或者块外。

    当堆中的对象被分配了一个空间时,每个实例变量的位置就被创建了。

    当对象采用关键字“ new ”创建时实例变量就被创建了,当对象被销毁时它也就被销毁了。

    实例变量的值必须被一个以上的方法、构造器或者块,或者类中必须出现的对象的状态的重要部分所引用。

    实例变量可以在类水平上在使用前或者使用后声明。

    实例变量可以用可访问描述符。

    实例变量对类中的所有方法、构造器或者块可见。一般来讲,推荐将这些变量私有(访问层面)。然而子类的可见性可用可访问描述符给予那些变量。

    实例变量有默认值。数字的默认值为零,布尔型默认值为假,对象引用默认值为空。在声明或者构造器内可以进行赋值。

    实例变量可以采用直接在类中叫名字方式访问。然而在静态方法和不同的类(实例变量可以被访问)中应当使用完全限定名称。ObjectReference.VariableName

    例子

    import java.io.*;

    public class Employee{

    // this instance variable is visible for any child class.

    public String name;

    // salary variable is visible in Employee class only.

    private double salary;

    // The name variable is assigned in the constructor.

    public Employee (String empName){

    name = empName;

    }

    // The salary variable is assigned a value.

    public void setSalary(double empSal){

    salary = empSal;

    }

    // This method prints the employee details.

    public void printEmp(){

    System.out.println("name : " + name );

    System.out.println("salary :" + salary);

    }

    public static void main(String args[]){

    Employee empOne = new Employee("Ransika");

    empOne.setSalary(1000);

    empOne.printEmp();

    }

    }

    上述代码会输出如下结果:

    name : Ransika

    salary :1000.0

    类、静态变量

    类变量也叫静态变量,它是在类中用 static 关键字声明的,但是它在方法、构造器或者块之外。

    每个类中只有一个类变量,不管这个类有多少对象。

    除了作为常量被声明之外,类变量很少被应用。常量是被作为 public、private, final 和 static 被声明的变量。实例变量的初始值不会被改变。

    静态变量存储在静态内存中,很少采用静态变量而不是声明结束或者用常量public 或 private 之一。

    静态变量随着程序的开始和结束而开始和结束。

    可见性和实例变量相似。然而大多数静态变量被声明为public由于他们必须为类的使用者所用。

    默认值和实例变量相似。对于数字的默认值为零,布尔型默认值为假,对象引用默认值为空。在声明或者构造器内可以进行赋值。除此之外,可以在特殊的静态初始化区赋值。

    静态变量可以用类的名称访问。ClassName.VariableName

    当静态变量被作为 public static final 声明时,变量(常量)名称都要用大写字母。如果静态变量不是 public 和 final,它的命名方法和实例变量和本地变量相同。

    例子

    import java.io.*;

    public class Employee{

    // salary variable is a private static variable

    private static double salary;

    // DEPARTMENT is a constant

    public static final String DEPARTMENT = "Development ";

    public static void main(String args[]){

    salary = 1000;

    System.out.println(DEPARTMENT+"average salary:"+salary);

    }

    }

    上述代码会输出如下结果:

    Development average salary:1000

    注:如果变量从类外访问,常量就必须以 Employee.DEPARTMENT 访问。

    展开全文
  • Java支持的数据类型有哪些?什么是自动拆装箱?

    Java支持的数据类型有哪些?什么是自动拆装箱?

    基本数据类型:

    整数值型:byte,short,int,long,

    字符型:char

    浮点类型:float,double

    布尔型:boolean

    整数默认int型,小数默认是double型。Float和long类型的必须加后缀。

    引用类型也就是我们常说的对象,在java中每个基础类型的数据都有其包装类,对应上面分别是:

    Byte, Short, Int, Long, Float, Double,Char, Boolean

    引用类型:Object——(类类型) Array——(数组类型) Interface——(接口类型)

    装箱:将基本类型转换成引用类型,如Integer i = 10;
    
    拆箱:将引用类型转换成基础类型,如Integer i = 10; int j = i;

    String是引用类型不是基本类型,引用类型声明的变量是指该变量在内存中实际存储的是一个引用地址,实体在堆中。引用类型包括类、接口、数组等。String类还是final修饰的。

    而包装类就属于引用类型,自动装箱和拆箱就是基本类型和引用类型之间的转换,至于为什么要转换,因为基本类型转换为引用类型后,就可以new对象,从而调用包装类中封装好的方法进行基本类型之间的转换或者toString(当然用类名直接调用也可以,便于一眼看出该方法是静态的),还有就是如果集合中想存放基本类型,泛型的限定类型只能是对应的包装类型。

    基本数据类型的变量会存储在栈空间中,而引用类型在栈空间存放的是地址编号,它们的数据是存储在堆空间中的。

    查找引用类型变量的时候在栈空间拿到该变量 在堆空间存储数据的地址编号,然后再到堆空间按照拿到的地址编号取数据。 数据类型的自动装箱: 就是基本类型转换为相对应的引用类型。JVM重新安排它的存储空间,即把它的数据由原来的栈空间转移到堆空间中,并且生成一个堆空间的数据存储地址编号把它存储到栈空间中。

    数据类型的自动拆箱: 把通过自动装箱变成的引用类型转换成基本类型的过程,把它栈空间中地址编号拿出来并且按照地址编号取出堆中的数据。JVM重新分配存储空间,把数据存储到栈空间,销毁堆的地址编号(引用)。

    展开全文
  • Java支持的数据类型和自动拆装箱原理 Java支持的数据类型包括两种: 一种是基本数据类型:包含byte,char,short,boolean,int,long,float,double; 另一种是引用类型:如String等,其实是对象的引用,JVM中...
  • switch表达式后面的数据类型只能是byte,short,char,int四种整型类型,枚举类型和java.lang.String类型(从java 7才允许),不能是boolean,long,float,double类型。在网上看到好多文章,说switch还支持byte,short,...
  • 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字字母。Java 中有两种有效地数据类型:原始数据类型...
  • 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字字母。java 中有两种有效地数据类型:原始数据类型...
  • 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字字母。Java 中有两种有效地数据类型:原始数据类型...
  • Java 支持的数据类型有哪些?什么是自动拆装箱? Java 语言支持的 8 中基本数据类型是: 数据类型 存储空间 取值范围 默认值 byte 1字节 -128~127 0 short 2字节 -2^15 ~ (2^15)-1 0 int 4字节 -2^31 ~ ...
  • Java语言支持的8种基本数据类型是: byte short int long float double boolean char 自动装箱是Java编译器在基本数据类型和对应的...Java支持的数据类型包括两种:一种是基本数据类型,包含byte,char,short, bool...
  • java8种基本数据类型:boolean byte char short int float double long自动拆装箱问题引入:由于在一开始学习java的时候,”万物皆对象“这种面向对象看问题方式,时刻围绕在脑海中。因为静态变量和基本...
  • 一、Java支持的数据类型有那些? 二、什么是自动拆箱和装箱? 1.包装类型: java是一个面向对象的语言,但是java的基本类型确是不面向对象的,为解决这个问题在设计类时,每个基本类型都设计了一个对应的类进行表示...
  • 5.Java 支持的数据类型有哪些?什么是自动拆装箱?    Java 语言支持的 8 中基本数据类型是:    byte short int long float double boolean char 自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型...
  • 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字字母。Java 中有两种有效地数据类型:原始数据类型...
  • 一、java支持的数据类型有哪些? 1)8种基本数据类型: byte 8位 取值范围 -2^7 ~ 2^7 -1 short 16位 取值范围 -2^15 ~ 2^15 - 1 char 16位 取值范围 0 ~ 2 ^16 - 1 boolean 位数不明确 取值 true false int...
  • 1.java 支持的8大数据类型有 int(整形),long(长整型),String(字符串),char(字节型),boolean(逻辑型),double(浮点型 双精度 精度高16位),float(单精度 7位),short(整数型) 2.自动装箱就是将 ...
  • Java中有八种基本数据类型以及引用类型 基本数据类型: byte(1字节),short(2字节),int(4字节),long(8字节),char(2字节),boolean(不确定,取值是true/false),float(4字节),double(8字节) ...
  • Java语言中支持的8种基本数据类型:byteshortint longfloatdoublebooleanchar自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如int转化成integer,double转化成Double,反之,则是自动...
  • 1)四种整数类型(byte、short、int、long): byte:8 位,用于表示最小数据单位,如文件中数据,-128~127 short:16 位,很少用,-32768 ~ 32767 int:32 位、最常用,-2^31-1~2^31 (21 亿) long:64 位、次常用 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,155
精华内容 3,662
关键字:

java支持的数据类型

java 订阅