Java方法中的参数传递方式
2015-08-04 19:11
281 查看
在青岛东软培训半个多月了,把oracle基础过了一遍,又换了一个老师,又在重新学习Java基础,突然发现习以为常的参数传递有点不清楚,晚自习无聊就总结总结.
在Java语言中,参数传递时,一般存在两种参数传递的规则
下面是测试:
结果:
在Java语言中,参数传递时,一般存在两种参数传递的规则
1.按值传递(by value)
使用该方式传递的参数,参数原始的值不发生变化 适用范围:八种基本数据类型和String *String也是传递的地址,但是String对象一旦被改变,就是生成新的对象
2.按址传递(by address)
使用该方式传递的参数,在方法内部修改参数的值时,参数原始的值发生改变 适用范围:除String以外的所有复合数据类型,包括数组.类和接口
下面是测试:
public static void main(String[] args) { int a = 0; int b [] = {1,2,3}; String c = "str"; System.out.println("=====参数传递前===="); System.out.println("int a = " + a); System.out.println("int b[] = " + b[0]); System.out.println("String c = " + c); //方法调用,参数传递 change(a, b, c); System.out.println("=====参数传递后===="); System.out.println("int a = " + a); System.out.println("int b[] = " + b[0]); System.out.println("String c = " + c); } public static void change(int i, int [] j, String k){ i = i + 9; j[0] = j[0] + 9; k = "String"; }
结果:
相关文章推荐
- JAVA基础一大堆0804反射+注解
- Java学习笔记 线程,注解(注释)...
- Java 详解 JVM 工作原理和流程
- Java反射机制(2)--反射的用途举例
- jdk1.5新特性之-------静态导入
- Java NIO原理 图文分析及代码实现
- java面向对象编程基础总结
- java题目练手
- JAVA学习第十四天
- java学习
- java数据类型
- javax.inject中@Inject、@Named、@Qualifier和@Provider用法
- JAVA 浮点数转化为百分数,分离整数和小数部分
- JAVA 浮点数转化为百分数,分离整数和小数部分 分类: Java 2015-08-04 18:11 10人阅读 评论(0) 收藏
- java杂笔
- 自动化打开并连接visual studio emulator for android,支持eclipse vs 以及as调试
- Java相等性测试
- Java实现文件复制
- 使用spring的aop进行权限拦截
- Maven+SpringMVC+MyBatis 上传图片