`

java学习三(值类型与引用类型)

    博客分类:
  • java
阅读更多
4类8种基本类型
第一类:整型(4种)
byte  1字节    -128——127
short  2字节   -32768——32767
int   4字节    -2147483648——2147483647
long  8字节    -9,223,372,036,854,775,808——9,223,372,036854,775,807
注释:java中所有的数据类所占据的字节数量与平台无关,java也没有任何无符号类型
第二类:浮点类型(2种)
float   4字节
double  8字节
第三种:字符(1种)
char   2字节
第四种:布尔类型
boolean  1位

引用类型
除了基本类型外,其余均为引用类型,例如class、interface、Object、String等

值传递与引用传递
基本数据类型赋值都属于值传递,值传递传递的是实实在在的变量值,是传递原参数的拷贝,值传递后,实参传递给形参的值,形参发生改变而不影响实参。

引用类型之间赋值属于引用传递。引用传递传递的是对象的引用地址,也就是它的本身(自己最通俗的理解)。引用传递:传的是地址,就是将实参的地址传递给形参,形参改变了,实参当然被改变了,因为他们指向相同的地址。

下面举例说明值传递与引用传递:
例1:值传递
          public int ReturnValue()
          {
                int x = new int();
                x = 3;
                int y = new int();
                y = x;     
                y = 4;         
                return x;
          }

我们将得到值3
例2:引用传递
public class MyInt
          {
                public int MyValue;
          }

接着执行以下的方法:

          public int ReturnValue2()
          {
                MyInt x = new MyInt();
                x.MyValue = 3;
                MyInt y = new MyInt();
                y = x;                
                y.MyValue = 4;             
                return x.MyValue;
          }
我们将得到值4
分享到:
评论

相关推荐

    C#类和接口、虚方法和抽象方法及值类型和引用类型的区别等等.........

    这里有好多比较好的资料,很适合正在学习Java和对Java想进一步了解的朋友. ... 一.C#类和接口、虚方法和抽象方法及值类型和引用类型的区别 二 .C#中 接口与抽象类 的区别 三.浅谈java封装思想 四.抽象类和接口的区别

    java的传值与传引用详解

     当 Java 成长起来的时候,许多的 C 程序员开始转向学习 Java,他们发现,使用类似 SwapValue 的方法仍然不能改变通过参数传递进来的简单数据类型的值,但是如果是一个对象,则可能将其成员随意更改。于是他们觉得...

    java学习笔记-java思维导图流程图表格整理

    Java学习笔记 1 命令行运行 1 Java基础 1 注释 1 单行注释 1 多行注释 1 文档注释 1 标识符和关键字 2 数据类型 4 类型转换 7 变量 9 基本运算符 10 包机制 12 Javadoc 12 使用命令行生成 12 使用idea生成 12 Java...

    解析java基本数据类型传递与引用传递区别

    主要介绍了java基本数据类型传递与引用传递区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Java中值类型和引用类型的比较与问题解决

    主要给大家介绍了关于Java中值类型和引用类型的比较与问题解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    Java编程老鸟潜心写作,奉献高效率的Java学习心得 完全站在没有编程经验读者的角度,手把手教会读者学习Java 配16小时多媒体教学视频,高效、直观 一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让...

    Java程序设计基础:一维数组应用数组作为方法返回值类型.pptx

    回值类型的方法编写; 3 理解并熟知数组作为返回值 类型的方法调用。 方法的返回值类型 方法的返回值类型 viod 非viod double boolean 数组 …… int 基础类型 引用类型 string …… 数组作为方法返回值类型 【示例...

    详解Java引用类型的参数也是值传递

    主要介绍了Java引用类型的参数也是值传递,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Java SE练习代码总结 Java学习资料

    介绍 Java SE复习,代码总结 3、数组 数组(Array):多个相同类型...二维数组的元素存放的是各个一维数组的地址值,引用。 Arrays工具类的使用 public static boolean equals(int[] a, int[] a2) { if (a==a2)

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    Java编程老鸟潜心写作,奉献高效率的Java学习心得 完全站在没有编程经验读者的角度,手把手教会读者学习Java 配16小时多媒体教学视频,高效、直观 一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让...

    Java开发技术大全(500个源代码).

    notInPack.java 用前缀引用包中的类 onlyShow.java 一个简单的接口 Outer_1.java 外部类示例1 Outer_2.java 外部类示例2 Outer_3.java 外部类示例3 Outer_4.java 外部类示例4 Outer_5.java 外部类示例5 ...

    java源码包2

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    head first java

    非常不错的 java学习书籍 目录 序 1 进入Java的世界 Java的工作方式 Java的程序结构 剖析类 main()方法 循环 条件分支 设计程序 术语制造机 谈话录 习题 2 拜访对象村 椅子大战 继承 覆盖 什么是类? 创建你的...

    Java学习笔记之深入理解引用

    引言:Java中数据传递的方式,除了基本数据类型是按照值传递,其它类型全部是按照引用传递,这和C++有很大区别,但是很多网上文章都解释的不清楚,甚至是错误的,在查阅资料之后,下面整理出一个比较容易理解的版本...

    《Java和Android开发实战详解》第2到5章源代码-by 南邮-陈杨

    5.2.4 值传递与引用传递 84 5.3 类变量和变量作用域 86 5.3.1 Java的类变量 86 5.3.2 Java的变量作用域 87 5.4 递归程序设计 89 5.4.1 递归方法概述 89 5.4.2 递归的阶乘函数 89 5.5 Math类及其类...

    Java学习题答案

    《Java学习题》 <br>据说,如果你能独立完成(不用看资料,不借助调试)回答在60分以上,找个6000元以上的工作由***来给你介绍。 <br>1.简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。(15分) 2.下面程序运行会...

    疯狂JAVA讲义

    4.6.3 引用类型数组的初始化 96 4.6.4 没有多维数组 99 学生提问:我是否可以让图4.13中灰色覆盖的数组元素再次指向另一个数组?这样不可以扩展成三维数组吗?甚至扩展到更多维的数组? 101 4.6.5 操作数组的工具...

    java 编程入门思考

    2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 ...

    整理后java开发全套达内学习笔记(含练习)

    注意:默认类型转换(自动类型提升)会丢失精度,但只有三种情况: int>float; long>float; long>double. 看一下他们的有效位就明白。 二进制是无法精确的表示 0.1 的。 进行高精度运算可以用java.math包中...

    跟我学习javascript的基本类型和引用类型

    一、基本类型和引用类型 基本的数据类型有5个:undefined,boolean,number,string,null typeof null; //"object" ...为了便于操作基本类型值,ECMAScript还提供了三个特殊的引用类型:Boolean、Nu

Global site tag (gtag.js) - Google Analytics