当前位置 > 主页 > 万和大讲堂 >


南京Java培训带你了解Java的基本数据类型&java变量类型

2016-03-18 13:46

  基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。它们是我们编程中使用最频繁的类型。下面是江苏万和整理的Java的基本数据类型&java变量类型。


  PART ONE:Java基本数据类型


  变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。


  内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。


  因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。


  Java的两大数据类型:   南京Java培训


  ◎内置数据类型


  ◎引用数据类型


  一.内置数据类型


  Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。


  ●byte:


  byte数据类型是8位、有符号的,以二进制补码表示的整数;


  最小值是-128(-2^7);最大值是127(2^7-1);默认值是0;


  byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一;


  例子:byte a = 100,byte b = -50。


  ●short:


  short数据类型是16位、有符号的,以二进制补码表示的整数


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


  Short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一;


  例子:short s = 1000,short r = -20000。


  ●int:


  int数据类型是32位,有符号的,以二进制补码表示的整数;


  最小值是-2,147,483,648(-2^31);最大值是2,147,485,647(2^31 - 1);


  一般地整型变量默认为int类型;


  例子:int a = 100000, int b = -200000。


  ●long


  long数据类型是64位、有符号的,以二进制补码表示的整数;


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


  这种类型主要使用在需要比较大整数的系统上;


  例子: long a = 100000L,int b = -200000L。


  float:


  float数据类型是单精度、32位、符合IEEE 754标准的浮点数;


  1位符号位+8位指数位(q)+23位底数位(b),即b^q;


  float在储存大型浮点数组的时候可节省内存空间;


  浮点数不能用来表示精确的值,如货币;


  例子:float f1 = 234.5f。


  double:


  double数据类型是双精度、64位、符合IEEE 754标准的浮点数;


  1位符号位+11位指数位(q)+52位底数位,即b^q;


  浮点数的默认类型为double类型;


  double类型同样不能表示精确的值,如货币;


  例子:double d1 = 123.4。


  boolean:


  boolean数据类型表示一位的信息;只有两个取值:true和false;


  默认值是false;


  char:


  char类型是一个单一的16位Unicode字符;


  最小值是’\u0000’(即为0);


  最大值是’\uffff’(即为65,535);


  char数据类型可以储存任何字符;


  例子:char letter = ‘A’。


  Summary:


  byte,short,int,long 均为有符号的、二进制补码表示的整数,不同在于占用空间情况,实际使用时可根据内存情况选择。其各自可表示的范围为(-2^(x-1)~2^(x-1)-1);


  float,double表示的均是浮点数,不同之一在于其各自精度不同(精度体现在尾数的位数上),之二在于可表示的范围(由于其各自占用空间不同)。


  JAVA包装类:  南京Java培训


  Java语言是一个面向对象的语言,但Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper


  Class),也译为外覆类或数据类型类。所有的包装类都是抽象类Number的子类。包装类均位于java.lang包。


  对于包装类说,这些类的用途主要包含两种:


  a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。


  b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。


  二.引用类型


  引用类型变量由类的构造函数创建,可以使用它们访问所引用的对象。这些变量在声明时被指定为一个特定的类型,比如Employee、Pubby等。变量一旦声明后,类型就不能被改变了。


  对象、数组都是引用数据类型。


  所有引用类型的默认值都是null。


  一个引用变量可以用来引用与任何与之兼容的类型。


  例子:Animal animal = new Animal(“giraffe”)。


  三.Java常量  


  常量就是一个固定值。它们不需要计算,直接代表相应的值。常量指不能改变的量。 在Java中用final标志,声明方式和变量类似。


  PART TWO:Java 变量类型


  Java语言支持的变量类型有:   南京Java培训


  ◎局部变量


  ◎成员变量


  ◎类变量


  一.Java局部变量


  局部变量声明在方法、构造方法或者语句块中(被创建,且仅在其内可见); 当它们执行完成后,变量将会被销毁;


  访问修饰符不能用于局部变量;


  局部变量是在栈上分配的。


  局部变量没有默认值,所以局部变量量被声明后,必须初始化后,才可以使用。


  二.实例变量


  实例变量声明在一个类中,但在方法、构造方法和语句块之外;


  当一个对象被实例化之后,每个实例变量的值就跟着确定;


  实例变量在对象创建的时候创建,在对象被销毁的时候销毁;


  实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;


  实例变量可以声明在使用前或者使用后;


  访问修饰符可以修饰实例变量(package(默认)、private、public和protected);


  实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;


  实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;


  实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName。


  三.类变量(静态变量)  南京Java培训


  类变量也称为静态变量,在类中以static关键字声明,但必须在方法构造方法和语句块之外。


  无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。


  静态变量储存在静态存储区。经常被声明为常量,很少单独使用static声明变量。


  静态变量在程序开始时创建,在程序结束时销毁。


  与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为public类型。


  默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。


  静态变量可以通过:ClassName.VariableName的方式访问。


  类变量被声明为public static final类型时,类变量名称必须使用大写字母。如果静态变量不是public和final类型,其命名方式与实例变量以及局部变量的命名方式一致。


  以上是南京万和Java培训机构讲师对于基本数据类型&java变量类型的讲解,后续会为大家提供更多的技术讲解。

最近开班 more>
  • Web前端开发
  • 软件测试
  • 软件测试预科班
  • AI大模型+全栈开发开班
  • 云原生精英班
  • 云网预科班
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第五期
  • Java全栈
  • CISP
  • HCIP-cloud
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCP 19C
  • RHCA
  • 6月9日
  • 5月21日
  • 5月14日
  • 6月9日
  • 5月7日
  • 5月26日
  • 5月19日
  • 5月12日
  • 6月3日
  • 6月9日
  • 随时开课
  • 7月12日
  • 5月19日
  • 5月19日
  • 5月7日
  • 5月10日
  • 5月24日
  • 5月24日
  • 随时开课
  • 随时开课
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入