System.out.println()
类.对象.方法
回顾:方法的命名规则:首字母小写后面驼峰。
public static void main(String[] args) {
int sum = add(1, 2);
System.out.println(sum);
}
public static int add(int a,int b){
return a+b;
}
方法的原子性,一个方法完成一个功能
方法的定义和调用即代码片段完成特定功能
方法包括:
修饰符;static final
返回值类型;void空 int..
方法名(java所有东西都要有名字)
参数类型;可选 理解形参和实参
方法体
return 返回值!!!!
例子:写一个比大小的方法
public static void main(String[] args) {
//调用
int max = max(10, 20);
System.out.println(max);
}
public static int max(int num1,int num2){
int result=0;
if (num1==num2){
System.out.println("num1==num2");
return 0;//终止方法
}
if (num1>num2){
result =num1;
}else{
result=num2;
}
return result;
}
值传递(java)和引用传递
值传递:基本数据类型赋值都属于值传递,值传递传递的是实实在在的变量值,是传递原参数的拷贝,值传递后,实参传递给形参的值,形参发生改变而不影响实参。
引用传递:引用类型之间赋值属于引用传递。引用传递传递的是对象的引用地址,也就是它的本身(自己最通俗的理解)。就是将实参的地址传递给形参,形参改变了,实参当然被改变了,因为他们指向相同的地址。
方法的重载相同函数名称,形参不同的函数。
规则:
方法名必须相同
参数列表必须不同(个数、类型、参数排列顺序
返回值可相同可不同
仅返回类型不同不算重载
命令行传参可以依靠命令行参数给main()函数实现。
ublic class Demo3 {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("args["+i+"]:"+args[i]);
}
}
}
可变参数
--不定项参数
在指定参数类型后加省略号,必须是最后一个参数!
public static void main(String[] args) {
Demo04 demo04 = new Demo04();
demo04.test(1,43,5,63,5);
}
public void test(int... i){
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
System.out.println(i[4]);
}
递归讲解***
就是:自己调用自己!!!
public class Demo06 {
public static void main(String[] args) {
System.out.println(f(5));
//5*f(4)*f(3)*f(2)*f(1)
}
public static int f(int n){
if (n==1){
return 1;
}else{
return n*f(n-1);
}
}
}
、、递归思想
边界条件:边界 f(1)开始有值
前阶段:参数不等于1之前
返回阶段:n*(n-1)



