鱼C论坛

 找回密码
 立即注册
查看: 6000|回复: 12

[系列教程] 【Java 教程(原创)】022.参数传值——基本数据类型参数的传值

[复制链接]
发表于 2017-2-25 12:17:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 零度非安全 于 2017-3-5 14:28 编辑

点击图片穿越到 索引帖,听说有惊喜!

☟



在开始之前,我要跟大家说一下,从第 21 讲开始就停了半个月之久

原因是回学校后忙着整理自己手头上的一些事,当我看到我们这学期的课表的时候
我也懵了,比以前的上的课要多好多,顺便在这里我透露下我的课表


课表.jpg


从上面看到一星期基本满课,课表空白的地方不是很多

只有晚上和周末有时间,以后这系列和 Java 每周一练系列(点我

订阅)
,我打算把它们移到周末统一更新

因为我不会忘记你们这群可爱的鱼油们 ^_^!!!

****************************************************************
*                           订阅走一波,从此不迷路                           *
*                                                                                            *
*                        【Java 教程(原创)】系列                         *
*                                                                                             *
*                           Java 小练习(每周一练)                          *
*                                                                                             *
*                                 Java 正则表达式                                  *
*****************************************************************

好了,在这里我也不扯淡啦,我们直接切入主题,让我们先来看一段引用。

当方法被调用时,如果方法有参数,参数必须要实例化,即参数变量必须有具体的值,在 Java 中,方法的所有参数都是“传值”的,也就是说,方法中参数变量的值是调用者指定值的一个副本。例如,如果向方法的 int 型参数 x 传递一个 int 值,那么参数 x 得到的值是传递值的一个副本。因此,如果方法改变参数的值,不会影响向参数“传值”的变量的值,反之亦然。参数得到的值,类似生活中“原件”的“复印件”,那么改变“复印件”不影响“原件”,反之亦然。

对于基本数据类型参数的传值,我还是举个栗子来说明比较清楚:

Rect.java
  1. public class Rect{                      //创建矩形的类
  2.    
  3.     double width,height,area;
  4.    
  5.     void setWidth(double width){
  6.         if(width > 0){
  7.             this.width = width;
  8.         }
  9.     }
  10.    
  11.     void setHight(double height){
  12.         if(height > 0){
  13.             this.height = height;
  14.         }
  15.     }
  16.    
  17.     double getWidth(){
  18.         return width;
  19.     }
  20.    
  21.     double getHeight(){
  22.         return height;
  23.     }
  24.    
  25.     double getArea(){
  26.         area = width * height;
  27.         return area;
  28.     }
  29.    
  30. }
复制代码

RectOperation.java
  1. public class RectOperation{                     //主类
  2.    
  3.     public static void main(String[] args){
  4.         Rect rect = new Rect();
  5.         double w = 12.76,h = 25.28;
  6.         rect.setWidth(w);
  7.         rect.setHight(h);
  8.         System.out.println("矩形对象的宽:" + rect.getWidth() + "高:" + rect.getHeight());
  9.         System.out.println("矩形的面积:" + rect.getArea());
  10.         System.out.println("更改向对象的方法参数传递值的 w、h 变量的值为 100 和 256");
  11.         w = 100;
  12.         h = 256;
  13.         System.out.println("矩形对象的宽:" + rect.getWidth() + "高:" + rect.getHeight());
  14.     }
  15.    
  16. }
复制代码

关于以上代码的一些说明:

explain.png

对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别。例如,不可以向 int 型参数传递一

个 float 值,但可以向 double 型参数传递一个 float 值。在上面这个栗子中,有 2 个源文件,即 Rect.java 和

RectOperation.java。其中,Rect.java 中的 Rect 类负责创建矩形对象,RectOperation.java 是含有主类的应用

程序。在主类的 main 方法中使用 Rect 类来创建矩形对象,该矩形对象可以调用 setWidth(double width) 设置

自己的宽,调用 setHeight(double height) 设置自己的高,因此,矩形对象在调用 setWidth(double width) 或

setHeight(double height) 方法时,必须向方法的参数传递值。


程序运行如下:

RectOperation.jpg

【特别注意】贴子中的栗子希望鱼油们能自觉的手动敲上去,不要单纯的复制粘贴保存,然后编译运行。


❁



❁



评分

参与人数 1鱼币 +5 贡献 +2 收起 理由
alltolove + 5 + 2 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-2-26 10:42:49 | 显示全部楼层
今天又将是充实的一天
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-26 10:45:17 | 显示全部楼层
感谢ヾ(≧∪≦*)ノ〃
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-26 10:48:29 | 显示全部楼层

欢迎 摆渡终极鉴黄师 童鞋前来学习!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-26 13:42:14 | 显示全部楼层
来收INT
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-26 13:48:29 | 显示全部楼层

这是啥意思???

请不要回复一些无意义的话
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-28 10:23:56 | 显示全部楼层
楼主还是学生就这么厉害了。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-21 10:33:37 | 显示全部楼层
很好 很强大,,,希望斑竹多搞一些java练习题目,,新手长期关注...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-21 11:14:44 | 显示全部楼层
名门青衣 发表于 2017-3-21 10:33
很好 很强大,,,希望斑竹多搞一些java练习题目,,新手长期关注...

java练习题目

http://bbs.fishc.com/forum.php?m ... d=552&fromop=my

点上面订阅
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-28 10:44:54 | 显示全部楼层
楼主暴露自己学校了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-23 19:14:10 | 显示全部楼层
学习了。
另,Rect.java  11行 setHeight 少了个e
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-23 21:15:20 | 显示全部楼层
ShaunSS 发表于 2017-5-23 19:14
学习了。
另,Rect.java  11行 setHeight 少了个e

并没有哦,这个要与 RectOperation.java 中相对应撒~~~~~

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-23 22:09:57 | 显示全部楼层
就剩5节就看完了,期待更新
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 03:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表