[Java核心技术(卷I)] - Java中的参数能做什么和不能做什么

1. 参考 - P123 ~ P126

2. 你将学到

Java中对方法参数能做什么和不能做什么

  • 方法不能修改基本数据类型的参数(数值型或布尔型)
  • 方法可以改变对象参数的状态
  • 方法不能让一个对象参数引用一个新的对象

3. 代码证明

public class ParamTest {public static void main(String[] args) {/** * Test 1: Methods can`t modify numeric parameters*/System.out.println("Testing tripleValue: ");double percent = 10;System.out.println("Before: percent=" + percent);tripleValue(percent);System.out.println("After: percent=" + percent);/** * Test2: Methods can change the state of object parameters*/System.out.println("\nTesting tripleSalary: ");Employee harry = new Employee("Harry", 5000);System.out.println("Before: salary=" + harry.getSalary());tripleSalary(harry);System.out.println("After: salary=" + harry.getSalary());/** * Test3: Methods can`t attach new objects to object parameters*/System.out.println("\nTesting swap:");Employee a = new Employee("Alice", 70000);Employee b = new Employee("Bob", 60000);System.out.println("Before: a=" + a.getName());System.out.println("Before: b=" + b.getName());swap(a, b);System.out.println("After: a=" + a.getName());System.out.println("After: b=" + b.getName());}public static void tripleValue(double x) {x = 3 * x;System.out.println("End of method: x=" + x); }public static void tripleSalary(Employee x) {x.raiseSalary(200);System.out.println("End of method: salary=" + x.getSalary());}public static void swap(Employee x, Employee y) {Employee temp = x;x = y;y = temp;System.out.println("End of method: x=" + x.getName());System.out.println("End of method: y=" + y.getName());}
}class Employee {private String name;private double salary;public Employee(String n, double s) {name = n;salary = s;}public String getName() {return name;}public double getSalary() {return salary;}public void raiseSalary(double byPercent) {double raise = salary * byPercent / 100;salary += raise;}
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/250074.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件构造 第五章第一节 可复用性的度量、形态和外部观察

第五章第一节 可复用性的度量、形态和外部观察 面向复用编程(programming for reuse):开发出可复用的软件 基于复用编程(programming with reuse):利用已有的可复用软件搭建应用系统 代码复用的类型: 白盒复用:源代码可见&#x…

[web性能优化] - 使用在线工具对html、js、css进行压缩

参考 1. 学习点 使用 在线工具对html、css、js进行压缩学会分析压缩前后的效率提高点 2. 解决方案: 2.1 HTML压缩 在线压缩nodejs提供了 html-minifier工具(在构建层对代码进行压缩)后端模板引擎渲染压缩 2.2 CSS压缩 使用html-minifier对html中的css进行压缩使用clean-cs…

SpringBoot之基础

简介 背景 J2EE笨重的开发 / 繁多的配置 / 低下的开发效率 / 复杂的部署流程 / 第三方技术集成难度大 特点 ① 快速创建独立运行的spring项目以及主流框架集成 ② 使用嵌入式的Servlet容器, 应用无需达成war包 ③ starters自动依赖和版本控制 ④ 大量自动配置, 简化开发, 也可修…

[Java核心技术(卷I)] - vscode手动编译运行继承类

参考 - P160~P161 主要有3个类: 一个测试类(ManagerTest)、一个子类(Manager)、一个父类(Employee) 注意点: -1. 使用 javac -d . *.java进行预编译 目录结构入下: 此时会生成目录结构如下: 之后运行 java com.inheritance.ManagerTest 附上几个类的代码 // com.inhe…

【Social Listening实战】当数据分析遭遇心理动力学:用户深层次的情感需求浮出水面...

本文转自知乎 作者:苏格兰折耳喵 ————————————————————————————————————————————————————— 本文篇幅较长,分为五部分,在中间部分有关于心理分析工具的介绍,案例分散在第二部…

Oracle 11g DG主库节点2 ORA-00245: control file backup fail

--节点1报错 Sun Dec 09 08:29:57 2018Control file backup creation failed: failure to open backup target file /u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_zwdb.ctl.Errors in file /u01/app/oracle/diag/rdbms/zwdb/zwdb2/trace/zwdb2_arc0_167660.trc:ORA-27037: …

hive字符函数

转载于:https://www.cnblogs.com/ggzhangxiaochao/p/9222732.html

[c++] - 简单的冒泡

#include <iostream> using namespace std;int main() {// 利用冒泡排序实现升序序列int arr[9] {4, 2, 8, 0, 5, 7, 1, 3, 9};cout << "排序前: " << endl;for (int i 0; i < 9; i){cout << arr[i] << " ";}cout <…

Markdown预览功能不可用解决方案

初学者在使用Markdown时也许会遇到这个问题 原因是电脑缺少一个组件&#xff0c;解决方案很简单&#xff0c;安装上就好了&#xff0c;以下是链接 http://markdownpad.com/download/awesomium_v1.6.6_sdk_win.exe转载于:https://www.cnblogs.com/j9oker/p/10092829.html

Linux 中yum的配置

1.进入yum的路径 cd /etc/yum.repos.d 2.将原始的repo文件移入一个新建的backup文件下做备份 mv CentOS* backup 3.在/etc/yum.repos.d下新建一个自己的文件(这里的文件必须以repo结尾); vi zhi.repo 其中&#xff0c;第一行必须是[文件名]的格式  是一个标记 name*** 这是一…

ccentos 7下安装php5.6并使用nginx + php-fpm部署多个不同端口网站

作为一个的勤杂工&#xff0c;近期因公司内部信息化的需求&#xff0c;给新进员工提供基础的知识培训和介绍&#xff0c;也为了给公司内部建立一个沟通交流的平台&#xff0c;百度找了开源的百科系统HDwiki和开源的问答系统Tipask问答系统&#xff0c;蛋痛的这两套系统均是phpm…

JS ajax请求参数格式( formData 、serialize)

1 $("#importBtn").click(function(){2 if($("#conId").val() ""){3 alert("请填写Id");4 return;5 }6 if($("#fromWhere").val() "…

【小工具分享】 - vscode注释自动生成

参考 关闭文件头部注释 点击设置 输入fileheader搜索 关闭头部注释 "fileheader.customMade" : {"autoAdd": false }

【算法】 - 滑动窗口

1. 题目链接 2. 分析 最多可以将K个值从0变成1,因此滑动窗口的限制条件: 0的数量(zeros)小于K,算法过程如下 有一个滑动窗口(slipper),每次都会从A中读入一个数当读入的数为0时,zeros当zeros的数量大于K时,会取出slipper首部的元素,当取值为0时zeros-- 总体代码如下: var lo…

Springboot整合thymeleaf模板

Thymeleaf是个XML/XHTML/HTML5模板引擎&#xff0c;可以用于Web与非Web应用。 Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式&#xff0c;因此也可以用作静态建模。你可以使用它创建经过验证的XML与HTML模板。相对于编写逻辑或代码&#xff0…

【算法】 - 动态规划 + 位运算

题目描述 思路1: 写一个返回2进制中1数量的函数countOne遍历0到num,对每一个数使用countOne,并将结果保存到res中返回 var countBits function (num) {let res new Array(num 1).fill(0);for (let i 0; i < num; i) {res[i] countOne(i.toString(2));}return res; };…

content-type对照表

转载于:https://www.cnblogs.com/mxyr/p/9238329.html

数据结构开发(7):典型问题分析(Bugfix)

0.目录 1.创建异常对象时的空指针问题 2.LinkList 中的数据元素删除 3.LinkList 中遍历操作与删除操作的混合使用 4.StaticLinkList 中数据元素删除时的效率问题 5.StaticLinkList 是否需要提供析构函数&#xff1f; 6.StLib 是否有必要增加多维数组类&#xff1f; 1.创建异常对…

spring boot 使用视图modelandview

1&#xff1a;springboot使用视图解析器&#xff0c;添加依赖 <!-- freemarker模板引擎视图 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency>&…

题解-BOI 2004 Sequence

Problem bzoj & Luogu 题目大意&#xff1a; 给定序列\(\{a_i\}\)&#xff0c;求一个严格递增序列\(\{b_i\}\)&#xff0c;使得\(\sum \bigl |a_i-b_i\bigr|\)最小 Thought 正序&#xff1a;直接对应 逆序&#xff1a;取中位数&#xff08;证明&#xff1a;“医院设置”&am…