函数定义与函数的参数
我们在前面见到对象的时候,我们要让对象给我们做什么事情,我们用着运算是那个点
对象的操作
String s = "hello"
int i =s.length();
System.out.println(s+"bye")
这些都是对象在执行函数
s可以作为一个方法,可以操作的一个方法,方法和函数没有本质的区别
素数求和
求和
求出1到10、20到30和35到45的三个和
这段代码越往下看越一样除了数字不一样,在一个代码当中出现了很多类似的代码段,,这种事情我们叫做代码复制,是程序质量不良的表现
什么是函数?
函数是一块代码,接收零个或多个参数做一件事,并返回零或一个值
可以先想像成数学中的函数
y=f(x)
is prime会返回一个出口的force给我们
some 就不需要返回了,因为我们让他在里头把所有的事情都做完了,计算完了 所以some不用返回,有要返回的,有不返回的,又要参数的,有不要参数的,要参数有参数的数量的多和少
参数表里面的多个参数之间是用逗号做分割的
如果一个函数有参数,在我们传递给它的数量正确,并且类型正确的那些值才行
调用函数
如果函数有参数,调用函数时必须传递给它数量、类型正确的值
可以传递给函数的值是表达式的结果,这包括:
字面量
变量
函数的返回值
计算的结果
int a =5;
int b = 6;
int c ;
c=max(10,12);
c=max(a,b);
c=max(c,23);
c=max(max(c,a),5);
System.out.println(max(a,b));
max(12,13);
类型不匹配?
当函数期望的参数类型比调用函数时给的值的类型宽的时候,编译器能悄悄替你把类型转换好
char->int ->double
当函数期望的参数类型比调函数时给的值的类型窄的时候,需要你写强制类型转换
(int)5.0
当函数期望的参数类型与调用函数时给的值的类型之间无法转换的时候->不行
传过去的是什么
public static void swap(int a int b){
int t;
t=a;
a=b;
b=t;
}
public static void main(String[] args) {
int a = 5;
int b = 6;
swap(a,b);
}
这样的代码能交换a和b的值吗
Java语言在调用函数时,永远只能传值给函数
传值
每个函数有自己的变量空间,参数也位于这个独立的空间中,和其他函数没关系
过去,对于函数参数表中的参数,叫做“形式参数”,调用函数时给的值,叫做实际参数
由于容易让初学者误会实际参数就是实际在函数中进行计算的参数,误会调用的时候把变量而不是值传进去了,所以我们不建议继续用这种古老的方式来称呼它们
我们认为,它们是参数和值的关系
当参数类型是数组和对象时

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)