一、练习:编写Java程序,将二维数组中的行列互调显示出来。

  代码1为自己编写:

 package com.xxgpra.CH6;

 public class Hangliehudiao_pra4 {

     public static void main(String[] args) {

         int[][] arr1 = new int[][]{{1,2,3},{4,5,6},{7,8,9}};
Hangliehudiao_pra4 hang = new Hangliehudiao_pra4(); System.out.println("数组原有内容: ");
hang.showArray(arr1); for(int i = 0;i< arr1.length;i++){
for(int j = 0;j<3;j++){
int temp = 0;
temp = arr1[i][j];
arr1[i][j] =arr1[j][i];
arr1[j][i] = temp;
} } System.out.println("数组现有内容: ");
hang.showArray(arr1); //变化后的数组指向同一地址,所以打印出来的结果一样 } private void showArray(int[][] arr1) { for(int i = 0;i<arr1.length;i++){
for(int j = 0;j<arr1.length;j++){
System.out.println(arr1[i][j]);
}
System.out.println();
} }
}

代码2为参考答案:

 public class Eval { // 创建类
public static void main(String[] args) {
int arr[][]=new int[][]{{1,2,3},{4,5,6},{7,8,9}};
System.out.println("数组原有内容:");
for(int i = 0;i<arr.length;i++){
for(int j=0;j<arr.length;j++){
System.out.print(arr[i][j]);
}
System.out.println();
}
System.out.println("行列互换后数组内容:");
for(int i = 0;i<arr.length;i++){
for(int j=0;j<arr.length;j++){
System.out.print(arr[j][i]);
}
System.out.println();
}
}
}

代码1打印的结果,都为行列互调后的数组。它们指向了同一地址。

二、知识点:java的值传递机制

1.概念
形参:方法在声明时的参数
实参:方法在调用时,实际传递给参数的变量、值

2.java参数传递机制:值传递
规则:如果传递的是基本数据类型的变量,那么将基本数据类型的变量的值传递过去。
如果传递的是引用数据类型的变量,那么将引用数据类型的变量的地址值传递过去。

3.典型例题与内存解析:

java的值传递机制的更多相关文章

  1. java 面向对象(六):类结构 方法(三) java的值传递机制

    java的值传递机制 1.针对于方法内变量的赋值举例: System.out.println("***********基本数据类型:****************"); int ...

  2. java參数传递机制浅析

    欢迎转载,转载请声明出处! ----------------------------------------- 前言: java语言中,參数的传递仅仅有一种机制.那就是值传递. 举例: 以下将通过几个 ...

  3. Java 为值传递而不是引用传递

    ——reference Java is Pass by Value and Not Pass by Reference 其实这个问题是一个非常初级的问题,相关的概念初学者早已掌握,但是时间长了还是容易 ...

  4. java的值传递笔记

    1. 背景:开发小伙伴突然问我java是值传递还是引用传递,我说当然是值传递,只不过有时候传递一个对象时实际传递的是对象的地址值,所以让人容易产生一种引用传递的假象,貌似在李刚的疯狂java讲义有提到 ...

  5. java是值传递还是引用传递

    首先写一个简便的Employee,以便测试使用. class Employee { private String name; public Employee(String name) { this.n ...

  6. Does Java pass by reference or pass by value?(Java是值传递还是引用传递) - 总结

    这个话题一直是Java程序员的一个热议话题,争论不断,但是不论是你百度搜也好还是去看官方的文档中所标明的也好,得到的都只有一个结论:Java只有值传递. 在这里就不贴代码细致解释了,让我们来看看一些论 ...

  7. java面试3-对于java中值传递的理解(Hollis)

    这是根据Hollis的直面java内容习得(有兴趣的可以加他微信公众号) 对于初学者来说,要理解java中的值传递很难理解,为什么说java只有值传递?那引用传递呢? java中的错误理解: 错误理解 ...

  8. Java是值传递还是引用传递?

    Java的值传递和引用传递在面试中一般都会都被涉及到,今天我们就来聊聊这个问题.这个问题一般是相对函数而言的,也就是Java中所说的方法参数,那么我们先来回顾一下在程序设计语言中有关参数传递给方法的两 ...

  9. 堆栈详解 + 彻底理解Java的值传递和引用传递

    本文旨在用最通俗的语言讲述最枯燥的基本知识 学过Java基础的人都知道:值传递和引用传递是初次接触Java时的一个难点,有时候记得了语法却记不得怎么实际运用,有时候会的了运用却解释不出原理,而且坊间讨 ...

随机推荐

  1. 【Leetcode】【Medium】Multiply Strings

    Given two numbers represented as strings, return multiplication of the numbers as a string. Note: Th ...

  2. HTTP(一)

    HTTP(一) http php http请求 HTTP请求:请求行.消息报头.请求正文.格式如下: Method Request-URI HTTP-Veraion CRLF 参数说明 Method ...

  3. lnmp环境下nginx配置‘负载均衡’

    NGINX负载均衡分发请求的几种方式: 1.轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.2.weight 指定轮询几率,weight和访问比率成正比 ...

  4. ego network的概念

    转:http://greatpowerlaw.wordpress.com/2013/01/05/ego-network/ 所谓的ego network,它的节点是由唯一的一个中心节点(ego),以及这 ...

  5. shared_ptr 的使用及注意事项

    1. 声明#include <boost/shared_ptr.hpp> class UsersBitmap { ... } typedef boost::shared_ptr<Us ...

  6. Mybatis批量插入及传参问题

    先看需求:将报文对象Message批量插入分库分表的Oracle数据库中 一般如果直接传入List的话,需要加上parameterType="java.util.List" ,然后 ...

  7. JAVA二叉树递归构造、二叉树普通遍历及递归遍历

    二叉树类: package com.antis.tree; public class BinaryTree { int data; //根节点数据 BinaryTree left; //左子树 Bin ...

  8. git branch 进入编辑状态

    命令行输入git branch,发现进入编辑状态,都要:wq,非常不方便,这样配置 git config --global core.pager ''

  9. 【xampp】windows下XAMPP集成环境中,MySQL数据库的使用

    在已经安装了XAMPP之后,会在你安装的目录下面出现”XAMPP“文件夹,这个文件夹就是整个XAMPP集成环境的目录. 我们先进入这个目录,然后会看到带有XAMPP标志的xampp-control.e ...

  10. CUDA与OpenGL互操作实例

    本文要解决的问题是如何实现CUDA和OpenGL的互操作,使得GPU能够将通用计算的运算结果交给OpenGL进行绘制. 本文的应用程序主要包括两个方面: 1.      使用CUDA核函数生成图像数据 ...