zoukankan      html  css  js  c++  java
  • java中关于Integer 和java 中方法参数传递

        广州疯狂软件学院拥有三大课程体系包括:java课程,android课程,ios课程,疯狂软件年终钜惠,报名java就业班,免费赠送基础班,名额有限,本月火热报名中,欢迎有志之士电话或者咨询。

      java中关于Integer 和java 中方法参数传递的几个问题

      1 import java.lang.String;

      2 public class Test {

      3 public static void main(String[] args) {

      4 int[] a = { 1, 2 };

      5 // 调用swap(int,int) 典型的值传递

      6 swap(a[0], a[1]);

      7 System.out.println("swap(int,int):a[0]=" + a[0] + ", a[1]=" + a[1]);

      8 // -----------------------------------------------------------------------------------

      -----------------------------------------

      9 // 引用传递,直接传递头指针的引用。改变就是改变相应地址上的值

      10 swap(a, 1);

      11 System.out .println("swap(int [],int):a[0]=" + a[0] + ", a[1]=" + a[1]);

      12 // -----------------------------------------------------------------------------------

      -----------------------------------------

      13 Integer x0 = new Integer(a[0]);

      14 Integer x1 = new Integer(a[1]);

      15 // 调用swap(Integer,Integer)

      16 swap(x0, x1);

      17 System.out.println("swap(Integer,Integer):x0=" + x0 + ", x1=" + x1);

      18 // -----------------------------------------------------------------------------------

      -----------------------------------------

      19 // intValue和valueof的区别和联系

      20 // intvalue返回的是int值,而 valueof 返回的是Integer的对象,它们的调用方式也不同

      21 int x = x0.intValue();

      22 Integer s = Integer.valueOf(x0);

      23 /*

      24 * x == s输 出为true 这里面涉及到一个自动打包解包的过程,如果jdk版本过低的话没有这个功能的,所以输出的是false

      25 * 现在新版本的jdk都有自动打包解包功能了

      26 */

      27 System.out.println("compare:int=" + x + ", Integer=" + s + " "+ (x == s));

      28 // -----------------------------------------------------------------------------------

      -----------------------------------------

      29 StringBuffer sA = new StringBuffer("A");

      30 StringBuffer sB = new StringBuffer("B");

      31 System.out.println("Original:sA=" + sA + ", sB=" + sB);

      32 append(sA, sB);

      33 System.out.println("Afterappend:sA=" + sA + ", sB=" + sB);

      34 }

      35 public static void swap(int n1, int n2) {

      36 int tmp = n1;

      37 n1 = n2;

      38 n2 = tmp;

      39 }

      40 public static void swap(int a[], int n) {

      41 int tmp = a[0];

      42 a[0] = a[1];

      43 a[1] = tmp;

      44 }

      45 // Integer 是按引用传递的,但是Integer 类没有用于可以修改引用所指向值的方法,不像StringBuffer

      46 public static void swap(Integer n1, Integer n2) { // 传递的是a 的引用,但引用本身是按值传递的

      47 Integer tmp = n1;

      48 n1 = n2;

      49 n2 = tmp;

      50 }

      51 // StringBuffer和Integer一样是类,同样在方法中是引用传递,但是StringBuffer类有用于可以修改引用所指向值的方法,如.append

      52 public static void append(StringBuffer n1, StringBuffer n2) {

      53 n1.append(n2);

      54 n2 = n1;

      55 }

      56 }

      疯狂Java培训机构拥有最好的Java培训途径,这是疯狂Java老师们经过多年经验总结出来的。Java程序员的门槛比较高,Java技术涉及的内容十分广泛,往往使初学者不知所措,学习过程中容易放弃。如果初学者能够参加疯狂Java培训,有好的老师,好的培训途径,好的教材,让你成为最好的编程高手。疯狂Java培训,零基础教学,不限年龄,性别和学历,名师教学让你学得快学得牢,还能灵活运用。学软件开发,首选疯狂Java培训机构。

      疯狂Java培训目前有Java培训班,Android培训班,iOS培训班适应不同阶段以及年龄层次的学员进行学习,毕业后有牢靠学习过程中的就业保障体系推荐就业,凭借雄厚的实力创造出超高的就业率。选择好学校,更有好未来!

  • 相关阅读:
    博客园添加侧边栏小插件并更改css样式
    ubuntu14.04环境下利用docker搭建solrCloud集群
    使用Grunt 插件打包Electron Windows应用
    使用Squirrel创建基于Electron开发的Windows 应用安装包
    Electron实战:创建ELectron开发的window应用安装包
    6、创建-查看-复制-删除-文件和文件夹相关命令
    5、Linux 系统基本文件管理
    3、Linux 获取帮助的方法-关机命令-7个系统启动级别
    2 、Linux基本命令-ls-pwd-cd-date-hwclock
    1 、Linux-Rhel6终端介绍-Shell提示符
  • 原文地址:https://www.cnblogs.com/gojava/p/3501603.html
Copyright © 2011-2022 走看看