一、练习:编写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. css properties

    white-space:描述如何处理元素中的空格 word-wrap:(以单词为单位,比如长单词则转行拆分,短单词则直接留空换行!) 用来说明当一个不能被分开的字符串太长因而其containing b ...

  2. CSS/LESS tips and snippets

    如何style line-through? <style type="text/css"> span.inner { color: green; } span.oute ...

  3. SQL Server ->> Online Index Rebuilding(联机索引重建)

    SQL Server的Enterprise Edition是支持联机索引重建的.那么联机索引重建是怎么工作的以及对我们的查询有什么影响呢? 既然是联机,SQL Server保持了现有索引对于用户的可用 ...

  4. Razor模板引擎 (RazorEngine)

    Razor模板引擎不仅在ASP.NET MVC中内置了Razor模板引擎,还有一个开源的RazorEngine, 这样以来我们可以在非ASP.NET MVC项目中使用Razor引擎,甚至在控制台,Wi ...

  5. 【Leetcode】【Easy】Count and Say

    The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...

  6. Python+Selenium2自动化测试之IE、chrome浏览器启动

    构建Python+Selenium2自动化测试环境完成之后,就需要测试支持python的selenium的版本是否都支持在不同浏览器上运行,当前我们分别在三个最通用的浏览器上通过脚本来测试. 1.在I ...

  7. web 应用程序转化为多租户 SaaS 解决方案

    web 应用程序转化为多租户 SaaS 解决方案 https://www.ibm.com/developerworks/cn/cloud/library/cl-multitenantsaas/inde ...

  8. GPRS研究(3):NO CARRIER错误的含义解释

    NO CARRIER(必须是大写)是一个由猫向其所附着的设备(典型的就是一个计算机)发来的文本响应信息,表示猫没有连接到远程系统.NO CARRIER是由Hayes指令集定义的,由于Hayes猫的普及 ...

  9. Android webview 点击超链接打开新的webview

    webview.setWebViewClient(new webViewClient() { HitTestResult hit = view.getHitTestResult(); if (hit ...

  10. 使用log4j让日志写入数据库

    之前做的一个项目有这么个要求,在日志管理系统里,需要将某些日志信息存储到数据库里,供用户.管理员查看分析.因此我就花了点时间搞了一下这一功能,各位请看. 摘要:我们知道log4j能提供强大的可配置的记 ...