标签:06 int 学习 static return 参数 方法 public
方法
什么是方法
-
方法是语句的结合,他们在一起执行一个功能
//main方法
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;
} -
方法是解决一类问题的步骤的有序组合
-
方法包含于类或对象
-
方法在程序中被创建,在其他地方被引用
-
设计方法的原则:一个方法只做一个功能
方法的定义
-
方法类似其他语言的函数,用于完成特定功能的代码片段
-
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return返回值;
}
方法的调用
-
当方法返回一个值时,方法调用通常被当作一个值
-
方法返回值是void,方法调用一定是一条语句
-
Java值传递
//比大小
public static int max(int num1,int num2){
int result=0;
if (num1==num2){
System.out.println("num1==num2");
result=0;//终止方法
}
if (num2>num1){
result=num2;
}else {
result=num1;
}
return result;
} -
result=0 终止方法
方法的重载
-
重载就是在一个类中,有相同的函数名称,但是形参(int/double)不同的函数
-
方法名称必须相同
-
参数列表必须不同(个数/类型/参数排列顺序不同)
-
编译器自己匹配
public static int add(int a ,int b){
return a+b;
}
public static double add(double a ,double b,double c){ return a+b+c;
}
命令行传参
-
希望运行一个程序时候再传递给它消息,靠传递命令行参给main()函数实现
-
main 方法可传递参数
//args.length数组长度
for (int i = 0; i <args.length; i++) { System.out.println("args["+i+"]:"+args[i]);
}
-
Terminal: Alt+F12
-
如果直接运行class文件,需要找到它包的路径进行加载(如下图)
可变参数
-
不定项参数
-
在方法声明中,在指定参数类型后加一个省略号(...)
//new Demo04();创建一个类的对象
public static void main(String[] args) {
Demo04 demo04 = new Demo04();
demo04.test(1);
}
public void test(int...i){ System.out.println(i[0]);
}
//输出为1 -
一个方法中只能指定一个可变参数,它必须是方法是最后一个参数,任何普通的参数必须在它之前声明
public static void main(String[] args) {
Demo04 demo04 = new Demo04(); demo04.test(1,2,3,4,5);
}
public void test(int x,int...i){
System.out.println(i[0]);
}
//输出为2
递归
-
A方法调用A方法,自己调用自己
-
递归可以用简单的程序解决一些复杂问题,把一个大型复杂问题层层转化为一个与原问题相似的规模较小的问题来求解
-
递归结构包括两个部分:
-
递归头:什么时候不调用自身方法。如果没有头,将陷入死循环
-
递归体:什么时候需要调用自身方法
-
-
三个阶段
-
边界条件:边界
-
前阶段
-
返回阶段
-
-
栈基址
-
小计算:用递归(调用太多影响机器)
//阶乘
//1! 1
//2! 2*f(1)
//3! 3*f(2)
public static int f(int n){ if (n==1){
return 1;
}else {
return n*f(n-1);
}
} -
标签:06,int,学习,static,return,参数,方法,public 来源: https://www.cnblogs.com/qwertyuiopxuexi/p/15024315.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。