一、知识扩展区
1、方法的定义与调用
可以重复使用的、有独立功能的一段代码的统称,不调用就不执行。
2、方法的定义格式
①public static void 方法名(){
//方法体
}
②带参数的方法定义
单个参数:public static void 方法名(数据类型 变量名)(......)
多个参数:public static void 方法名(数据类型 变量1,数据类型 变量2,......)(......)
③带返回值的方法定义
public static 数据类型 方法名(参数){
......
return 数据;
}
3、方法的调用格式(同上面一一对应)
①方法名()
②单个参数:方法名(变量名/常量值)
多个参数:方法名(变量1/常量1,变量2/常量2,......)
③数据类型 变量名 = 方法名(参数)
4、需要注意的点
①方法与方法之间是平级关系,不能嵌套定义,也就是说不能在方法中再次定义一个方法。
②方法定义中涉及参数时,参数中的数据类型与变量名都不难少,不然程序会报错。
③方法定义时,涉及多个参数要使用逗号隔开。
④方法调用时,参数的数量与类型必须和定义中一一对应,不然程序报错。
⑤在带返回值的方法定义中,返回值的数据类型必须和定义的数据类型相一致,不然程序会报错,具体可以看定义方法中的红色字体。
⑥当返回值需要在后续代码中使用,需要用变量接受,不然返回值无用。
5、可能涉及的知识
①形参和实参
形参:指方法定义中都参数,全称形式参数
实参:指方法调用中都参数,全称实际参数
②方法重载
在同一个类中定义了多个同名的方法,但每个方法具有不同的参数类型或参数个数。这些同名的方法就构成了重载关系。
简单来说就是同一个类中方法名相同,但是参数不同,这个参数可以包括个数不同类型不同顺序不同。
(要注意的点就是只看方法名和参数,不看你的返回值)
个人觉得这个东西挺有用的,但我了解还不够透彻,还需要进一步深度了解,嘿嘿
二、代码练习
题目:现有一个整数数组,数组中的每个元素都是[0-9]之间的数字,从数组的最大索引位置开始到最小索引位置,依次表示整数的个位、十位、百位。。。依次类推。请编写程序计算,这个数组所表示的整数值。例数组:{3, 4, 6, 5,2},表示的整数为:34652 // 注:是整数类型的三万四千六百五十二,不是字符串拼起来的。
public class test {
public static void main(String[] args) {
System.out.println(getNum(new int[]{3,4,6,5,2}));
System.out.println(getNum(new int[]{8,7,4,6,3,5}));
System.out.println(getNum(new int[]{5,8,4,6}));
}
//定义方法
//参数 int[] arr
//返回值 int
public static int getNum(int[] arr) {
//{3,4,6,5,2}---->34652
// 3 * 10 * 10 * 10 * 10 第一个数
// 4 * 10 * 10 * 10 第二个数
// 6 * 10 * 10 第三个数
// 5 * 10 第四个数
// 2 第五个数
//变量 累加
int sum = 0;
//i 0 1 2 3 4
for (int i = 0; i < arr.length; i++) {
//arr[i] * 10
sum += mul(arr[i], arr.length - 1 - i);
}
return sum;
}
//求num*n次10的结果
public static int mul(int num, int times) {
for (int i = 0; i < times; i++) {
num = num * 10;
}
return num;
}
}
如果代码存在问题,希望各位可以指出来。
励志语言:人就像一棵树,它愈想伸向高处和明亮处,它的根就越要向下,向泥土,向黑暗,向深处。