`
kjkhi
  • 浏览: 181349 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

【java基础】基本类型和引用类型

阅读更多
      都知道,java里面定义变量的时候,都有两种方法。如定义一个整型变量:
int a = 123;//1
Integer b = new Integer(123);//2

      那么在实际应用中,应该使用那种方式呢?记得当时在做SSH整合框架开发时,在使用注解建Model中,曾使用了int这种方法定义了一些字段。当我在service层或者action层需要判断这字段是否为null时,就会出现错误。
      Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。另外,Java 还为每个原始类型提供了封装类(Wrapper)。下面是java里面的原始类型和对应的封装类:
 boolean Boolean
  char Character
  byte Byte
  short Short
  int Integer
  long Long
  float Float
  double Double

      引用类型和原始类型的行为完全不同,并且它们具有不同的语义。例如,假定一个方法中有两个局部变量,一个变量为 int 原始类型,另一个变量是对一个 Integer 对象的对象引用,如上面定义的a和b变量。
      这两个变量都存储在局部变量表中,并且都是在 Java 操作数堆栈中操作的,但对它们的表示却完全不同。(本文中以下部分将用通用术语堆栈代替操作数堆栈或局部变量表。)原始类型 int 和对象引用各占堆栈的 32 位。(要表示一个 int 或一个对象引用,Java 虚拟机实现至少需要使用 32 位存储。)Integer 对象的堆栈项并不是对象本身,而是一个对象引用。
      Java 中的所有对象都要通过对象引用访问。对象引用是指向对象存储所在堆中的某个区域的指针。当声明一个原始类型时,就为类型本身声明了存储。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。如以下代码:
int a =1;
int b = 2;
a = b;
b++;
//------------输出a和b-------------
System.out.println("a ="+a+",b ="+b);
Point c = new Point(0, 0);
Point d = new Point(1, 1);
c = d;
c.setLocation(3, 3);
System.out.println("c:"+c.toString());
System.out.println("d:"+d.toString());

输出的结果是:
a =2,b =3
c:java.awt.Point[x=3,y=3]
d:java.awt.Point[x=3,y=3]

      这里a和b都在意料当中,而调用c.setLocation(3, 3)后,d的值也被修改了,就是因为在执行c=d后,c和d两个变量都指向了同一个实例,即c和d两个变量保存了相同的引用地址,当c.setLocation时,是实例的值改变了,而c和d保存的值没有变化。
0
1
分享到:
评论

相关推荐

    14.java学习第十四章——super()关键字+实例变量(含引用数据类型做实例变量)和局部变量的个人总结+基本数据类型和引用数据类型的存放位置.pdf

    14.java学习第十四章——super()关键字+实例变量(含引用数据类型做实例变量)和局部变量的个人总结+基本数据类型和引用数据类型的存放位置.pdf

    Java基础知识之数据类型和操作符

    Java的数据类型可以分为两类:基本数据类型和引用数据类型。基本数据类型包括byte、short、int、long、float、double和char,它们代表了不同的数值类型。引用数据类型包括类、接口和数组,它们可以用来创建更复杂的...

    Java基础--基本数据类型与引用数据类型在内存结构上的区别

    基本数据类型与引用数据类型在内存结构上的区别

    JAVA数据类型思维导图

    JAVA数据类型思维导图,包括基本数据类型,引用数据类型,可自行下载,如有错误欢迎批评指正。基础复习。

    Java程序设计基础:基本数据类型.pptx

    掌握Java基本数据类型 掌握直接量的表示 计算机的基本作用就是做运算。运算的数据可以由用户输入、从文件获得。 我们可以把数据进行归类,整数、小数、一串字符、单个字符。 数据类型 例如 课程名称:“高等数学”、...

    Java基础概念

    1、 面向对象的基本特征。 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中...String不是基本数据类型,是引用数据类型。

    Java期末复习资料_第2章_基本数据类型与数组.pdf

    Java数据类型在Java的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。

    JAVA基础课程讲义

    基本类型转化时常见错误和问题 33 方法 33 简单的键盘输入和输出 33 本章思考作业 34 上机操作 34 第二章(2) 控制语句 35 顺序结构 35 选择结构 35 if单选择结构 35 if-else双选择结构 35 If-elseif-else多选择结构 ...

    Java数据类型精解

    ********Shenkxiao Resources******** ... 1.1 基本数据类型 1.2 对象数据类型 1.3 引用数据类型 1.4 数组数据类型 上传理由:基础文档共享,对Java初学者有很大的帮助 ***********************************

    Java 基础核心总结 +经典算法大全.rar

    null 是任何引用类型的初始值 null 只是-种特殊的值使用 Null-Safe 方法null 判断 关于思维导图 Java.IO Java.lang Java.math Java.net Java 基础核心总结 V2.0 IO 传统的 BIO BIO NIO 和 AIO 的区别什么是流 流...

    java初学者必备基础教材

    1.1 Java语言与面向对象的程序设计 1.2 Java程序概述 1.3 基本数据类型与表达式 1.4 数组的概念 1.5 数组的创建和引用 1.6 本章小结

    Java零基础-参数传递-2.md

    读者将学习Java中方法调用时的参数传递方式,并重点探讨基本类型和引用类型在参数传递过程中的特点和区别。此外,我们还将介绍可变参数和返回值的使用方法。 能学到什么: 学习Java中方法调用时的参数传递方式。 ...

    Java零基础-参数传递-1.md

    读者将学习Java中方法调用时的参数传递方式,并分别介绍基本类型和引用类型在参数传递过程中的特点和区别。 能学到什么: 学习Java中方法调用时的参数传递方式。 理解基本类型和引用类型在参数传递过程中的特点和...

    教学课件+Java基础知识+PPT课程+Java教学

    -数据类型:基本数据类型(int, float, double, char, boolean)和引用数据类型(类和接口)。 -变量:存储数据的容器。 -运算符:算术运算符、关系运算符、逻辑运算符等。 -控制语句:if-else, switch, for, while,...

    这些是Java语法和基本概念的核心内容 熟悉和理解这些概念将为您编写和理解Java程序打下坚实基础

    3. **数据类型**:Java提供了两种数据类型:原始数据类型和引用数据类型。原始数据类型包括整数类型、浮点类型、字符类型和布尔类型。引用数据类型包括类、接口、数组等。 4. **运算符**:Java提供了各种运算符,...

    java技术学习文档.docx

    Java基础知识 Java是一种面向对象的编程语言,它支持封装、继承和多态等面向对象的基本概念。Java具有静态类型检查机制,需要在编译时指定变量的类型。Java提供了基本数据类型,如int、double、float等,也支持引用...

    回顾 Java SE 基础实现代码 Java学习资料 自学资料

    (八大)基本类型与引用类型 类型转换 运算符 流程控制 字符串与数组 核心技术 抽象 类的高级特性 final 内部类 枚举与泛型 异常处理 集合 I/O 反射 多线程 网络通信 经典项目( IMS: 进销存管理系统) 系统分析与...

    java核心基础汇总.docx

    数据类型:Java中有基本数据类型和引用数据类型。基本数据类型包括int、long、float、double等,而引用数据类型包括类、接口、数组等。 运算符:Java中的运算符包括算术运算符、逻辑运算符、比较运算符等,可以用于...

    java基础知识共享资格分享

    (1)类和对象 类:被class关键字修饰叫做类。理解:图纸。 对象:根据类生产出来制造出来的实例叫做对象。理解:实体。 (2)成员变量 ...在类中定义的变量叫做成员变量。...(8)基本类型和引用类型区别 基本类

    史上最全Java面试题目大集合

    Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类booleanBoolean charCharacter byteByte...

Global site tag (gtag.js) - Google Analytics