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. idea引入svn

    刚想在idea看一个svn的项目代码,结果发现导入项目后,idea在右下角弹出了Event Log窗口,里面的红色小字 Can't use Subversion command line client ...

  2. Mono.Cecil 修改目标.NET的IL代码保存时报异常的处理。

    使用Mono.Cecil对目标.NET的DLL程序进行IL修改后保存时报“Failed to resolve assembly: ' xxxxxx, version=xxxxx,Culture=xxx ...

  3. 【转】asp.net mvc css/js压缩合并 --- combres

    转自:http://www.cnblogs.com/zxktxj/archive/2012/05/30/2526246.html NuGet   网站:http://nuget.codeplex.co ...

  4. eclipse一些操作记录

    1.eclipse debug的时候想知道一个表达式执行的结果值,可以选中,按ctrl+shift+i来看返回的结果值:   2.eclipse java build path有个source,将so ...

  5. 自绘图片下拉项 combobox listbox

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  6. Discuz论坛管理的问题汇总

    Discuz论坛在Linux上搭建成功了, 不得不说, 其功能是非常强大的, 可以满足已知的绝大多数的需求. 搭建完成后也有一些问题, 在这里汇总一下, 以便将来查阅. 1. 显示未处理用户信息, 但 ...

  7. 1035 Password (20 分)

    1035 Password (20 分) To prepare for PAT, the judge sometimes has to generate random passwords for th ...

  8. SpringBoot学习记(一)第一个SpringBoot Web服务

    工具IDEA 一.构建项目 1.选择Spring Initializr 2.填写项目信息 3.勾选webService 4.勾选Thymeleaf 5.项目建立完成,启动类自动生成 二.写个Contr ...

  9. Eclipse里面的Maven项目如果下载依赖的jar包的源码

    Window---------Properties---------------Maven--------------勾选Download Artifact Sources和Download Arti ...

  10. Dependency Injection in ASP.NET Web API 2 Using Unity

    What is Dependency Injection? A dependency is any object that another object requires. For example, ...