1.定义函数
在之前我们分别求1-10,11-20,21-30的和和的话需要三次循环累加,实际上这样的代码写出来三段结构的代码重复度很高,我们可以采用以下方法:
public class hanshu {
public static void sum(int a,int b) {
int i;
int sum=0;
for(i=a;i<=b;i++) {
sum+=i;
}
System.out.println(a+"到"+b+"的和为"+sum);
}
public static void main(String[] args) {
sum(1,10);
sum(11,20);
sum(21,30);
}
}
最开始的一段代码就是函数,什么是函数:函数是一段代码,接收零个或多个参数,做一件事情,并返回零个或一个值
注意:void 不返回值,不能使用带值的return,可以使用不带值的return
public static void swap1(int a,int b) {
int t=a;
a=b;
b=t;
}
public static void main(String[] args) {
int a=5;
int b=6;
swap1(a,b);
System.out.print(a+" "+b);//输出5 6
}
Java语言在调用函数时,永远只能传值给函数
// 当参数是数组时
public static void test(int[] a){
a[0]=8;
}
public static void main(String[] args) {
int[] a= {1,1,1,1};
test(a);
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);//输出8 1 1 1
}
}
// 当参数是字符串时 CASE1
public static void test(String s) {
s.toUpperCase();
}
public static void main(String[] args) {
String s="hello";
test(s);
System.out.println(s);//输出hello
}
这里不足以说明问题的原因是字符串是不能改变的
// 当参数是字符串时 CASE2
public static String test(String a) {
return a;
}
public static void main(String[] args) {
String s="hello";
String a=test(s);
System.out.println(a==s);//输出true
}