JAVA中值类型的只有short,char,byte,int,long,double,float,boolean八大基本类型,其他的所有类型都是引用类型。

首先我们都知道在编程中赋值运算“=”的意思是把右边的值赋给左边。

 
如图所示,当b=a时,实际上就是把a的值赋值给b。


但是在数组中,可不是这么回事

 
如图所示,先定义一个数组变量a,里面存着1,2,3. 
再定义一个数组变量b,将b=a,然后遍历循环将b中每一个元素,使每个数加一。这时b中的元素应该是{2,3,4}。最后再输出数组a。 至此,按照我们上面的规则来说,把a的值赋值给b,改变b的值对于a来说应该没有任何影响,a的值应该还是{1,2,3}才对。 
我们运行一下 
 
a的值改变了! 
- 在java中,数据类型分为两类,即基本数据类型和引用数据类型 
基本数据类型如 int,long,byte,操作时本身就是数据; 
引用数据类型如数组,类,接口。引用数据类型传递的是内存的使用权,是一块内存空间,它可以由多个单位同时使用。 
而赋值的过程并不是把a数组内的数据传递给b,而是把a数组的内存使用权与b共享。所以当a和b共享同一个数组内存时,不管改变数组a内的值还是改变数组b内的值,该数组都会改变。


在调用方法时,同理。

  • 一般来说调用方法并不会改变实参的值

 
虽然方法中使用的实参的是i,但是最后结果i的值没有改变,还是5。

如果实参是数组呢?看一下

 
数组b和数组c的值同时改变了,这就是引用数据类型。传递的永远是内存的使用权,一块内存空间,而不是本身的数据。

转自:http://blog.csdn.net/sunopar/article/details/50582759

JAVA数据类型(转载)的更多相关文章

  1. 回顾java基础—Java数据类型

    1  java数据类型.8种基本类型,3种引用类型 基本类型(也称:原始类型):byte.short.int.long.char.float.double.boolean 引用类型:类,接口,数组 2 ...

  2. java.sql.Types,数据库字段类型,java数据类型的对应关系

    以下转自:http://kummy.itpub.net/post/17165/172850 本文在原文基础上有增减. 本概述是从<JDBCTM Database Access from Java ...

  3. Java基础-Java数据类型

    Java基础-Java数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据类型的作用 数据类型就是一组值,以及这一组值上的操作,数据类型可以决定数据的存储方式,取值范围 ...

  4. JAVA数据类型,变量,转换,常量,运算符

    java数据类型: Java基本类型共有八种,基本类型可以分为三类: 1.字符类型char,用单引号赋值 2.布尔类型boolean 3.数值类型byte.short.int.long.float.d ...

  5. 如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序

    如何用javac 和java 编译运行整个Java工程 (转载)  http://blog.csdn.net/huagong_adu/article/details/6929817 [转]在Linux ...

  6. 多态、GC、Java数据类型

    多态 一.java中实现多态的机制是什么? 靠的是: 父类定义的引用变量可以指向子类的实例对象,或者接口定义的引用变量可以指向具体实现类的实例对象 而程序调用的方法,在运行期才动态绑定, 它就是引用变 ...

  7. java数据类型定义与输出

    JAVA数据类型分基本数据类型和引用数据类型. 一.基本数据类型 Java里面包含8个基本数据类型,分别是: boolean.byte.char.short.int.float.douboe.long ...

  8. java数据类型图:

    java数据类型图:                                 ┏数值型━┳━整数型:byte short int long               ┏基本数据类型━━┫   ...

  9. java数据类型学习

    java数据类型基本分为两类: 一类为基本数据类型: 数值类型: 整数类型:byte.short.int.long 浮点类型:float.double 字符类型:char 布尔类型:boolean 一 ...

  10. JAVA —— 数据类型

    引言:java 数据类型可分为两大类:基本数据类型和引用类型,其中基本数据类型又包括整形.浮点型.字符型和布尔型,而引用型变量与基本类型变量不同,它的值是指向内存空间的引用(地址),引用在其他语言中称 ...

随机推荐

  1. hadoop项目开发案例方案汇总

    大数据Hadoop应用开发技术正可谓如火如荼推进中,以为大数据已经不仅仅是局限在互联网领域,而是已经被上升到了国家战略的高度层面.大数据正在深刻影响和改变我们的日常生活和工作方式. Hadoop应用开 ...

  2. led的驱动及测试程序

    一.驱动源码 #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> # ...

  3. 关于android im

    从各种pack中看到 环信 easemob.com  300万用户以下免费 org.jivesoftware.smackopenfireappkefu等开源im

  4. [UE4]Acotr

    任何能被放在关卡中的对象都是Actor Tick是每帧都会调用的事件

  5. oracle 用函数返回对象集合

    1.先要声明全局type:并且,字段变量类型要为object,不能为record: (1)CREATE OR REPLACE TYPE "DDD_BY_DEPT_STATISTISC&quo ...

  6. CRM 2016 级联过滤 类比省市县

    以下以省市为例: function preFilterLookup() { //要进行过滤的lookup按钮加入addPresearch事件 Xrm.Page.getControl("shi ...

  7. Spring bean注解配置(1)

    Spring自带的@Component注解及扩展@Repository.@Service.@Controller,如图 在使用注解方式配置bean时,需要引进一个包: 使用方法: 1.为需要使用注解方 ...

  8. 常用Java程序片段

    1.改变数组的大小 package com.js.ai.modules.jsa.test; public class Testxf { private static Object resizeArra ...

  9. java自定义事件机制分析

    import java.util.ArrayList; import java.util.EventListener; import java.util.EventObject; import jav ...

  10. nodejs——发送邮件(带附件)

    用到的包是 nodemailer,简单,有效. 1.auth 中的 pass,是指“邮箱第三方登录授权码”,如何获取授权码,以QQ邮箱为例,请点击:http://jingyan.baidu.com/a ...