System.out.println()
类 对象 方法
-
方法是解决一类问题的步骤的有序组合
-
方法包含于类或对象中
-
方法在程序中被创建,在其他地方被引用
设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展
方法的命名原则:驼峰命名法
package com.kuang.method;
public class Demo1 {
public static void main(String[] args) {
System.out.println(add(1,2));
}
public static int add(int a,int b){
return a+b;
}
}
方法的定义
修饰符 返回值类型 方法名(参数类型 参数名){
…
方法体
…
return 返回值;
}
- 修饰符:定义了该方法的访问类型
课后拓展了解:值传递(JAVA) 和 引用传递
值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。
引用传递(pass by reference)是指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。
————————————————
(版权声明:本文为CSDN博主「Apple_Web」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/belongtocode/article/details/107713117)
重载就是在一个类中,有相同的函数名称,但形参不同的函数
package com.kuang.method;
public class Demo3 {
public static void main(String[] args) {
int sum = add(11,22,52);
System.out.println(sum);
}
public static int add(int a,int b,int c){
return a + b + c;
}
public static int add(int aa,int bb){
return aa +bb;
}
}
命令行传参
希望运行一个程序时候再传递给它消息,这要靠传递命令行参数给main()函数实现
- 寻找此案例文件位置,并执行cmd命令
- 执行 javac Demo04.java ,生成 Demo04.class 文件
- 执行许多 cd …/ 让其使用 java com.kuang.method.Demo04 this is apple 输入语句(利用包进行) 便可打印
package com.kuang.method;
public class Demo4 {
public static void main(String[] args) {
//args.length 数组长度
for (int i = 0; i < args.length; i++){
System.out.println("args[" + i + "]:" + args[i]);
}
}
}
可变参数
在指定参数类型后加一个省略号
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通参数必须在它之前声明。
package com.kuang.method;
public class Demo5 {
public static void main(String[] args) {
//调用可变参数的方法
printMax(34,3,5,64,12);
printMax(new double[]{12,2.2,55});
}
public static void printMax( double... numbers) {
if(numbers.length == 0) {
System.out.println("No argument passed");
return;
}
double result = numbers[0];
//排序!
for (int i = 1;i < numbers.length;i++){
if (numbers[i] > result){
result = numbers[i];
}
}
System.out.println("The max value is " + result);
}
}
递归
包括两部分:
递归头:什么时候不调用自身方法。如果没有头,将陷入死循环
递归体:什么时候需要调用自身方法
利用栈的思想,数据太大一般不用,递归思想用得很少
package com.kuang.method;
public class Demo6 {
public static void main(String[] args) {
System.out.println(cj(3));
}
public static int cj(int a){
if(a == 1){
return 1;
}else{
return a * cj(a - 1);
}
}
}



