所有学习内容来自:狂神说java
Java方法详解
一、方法
java方法是语句的集合,它们在一起执行一个功能。
- 方法是解决一类问题的步骤的有序集合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
设计方法的原则:设计方法时最好保持方法的原子性,就是一个方法值完成一个功能,这样有利于后期的扩展。
举例:
public class Demo01 {
//main方法
public static void main(String[] args) {
int add = add(1, 2);
System.out.println(add);
test()
}
//加法
//修饰符(可有可无) + (类变量声明static,这样才可以在类内调用)+返回值
//+方法名+输入形式
public static int add(int a, int b){
return a+b;
}
public static void test(){
for (int i = 0; i < 1000; i++) {
if (i%100==0){
System.out.println(i);
}
}
}
}
二、方法定义及调用
Java的方法类似于其他语言的函数。
举例:
public class Demo02 {
public static void main(String[] args) {
int max = max(5, 6);
System.out.println(max);
}
//比大小
public static int max(int a, int b){
if (a>b){
return a;//return也可以终止方法
}
else {
return b;
}
}
}
方法调用
java是值传递。
三、方法重载
public class Demo02 {
public static void main(String[] args) {
int max = max(5, 6);
double max2 = max(5.0, 6.0);
System.out.println(max);
System.out.println(max2);
}
//比大小
public static int max(int a, int b){
if (a>b){
return a;//return也可以终止方法
}
else {
return b;
}
}
public static double max(double a, double b){
if (a>b){
return a;//return也可以终止方法
}
else {
return b;
}
}
}
四、命令行传参*
有时候希望运行一个程序的时候再给它传递消息。这要靠传递命令行参数给main()函数实现。
public class Demo03 {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++){
System.out.println("args["+i+"]:"+args[i]);
}
}
}
//打印传入的参数
命令行传参:
- 在java文件路径进行编译
javac Demo03.java
- 退回到src路径进行传参
java cai.method.Demo03 this is args
五、可变参数
举例:
public class Demo04 {
public static void main(String[] args) {
Demo04 demo04 = new Demo04();
demo04.test(1, 2, 654, 84, 15, 645);
demo04.test(new int[]{1, 2, 3, 4, 5});
}
public void test(int... i){ //可变参数某种程度上就是数组
if (i.length == 0){
System.out.println("No args");
return;
}
int result = i[0];
for(int j:i){
if(j > result){
result = j;
}
}
System.out.println("The max num is:"+result);
}
}
六、递归
举例(计算阶乘):
public class Demo06 {
public static void main(String[] args) {
int a = F(3);
System.out.println(a);
}
//递归计算阶乘
public static int F(int n){
if (n==1){
return 1;
}
else {
return n*F(n-1);
}
}
}
标签:args,return,int,max,Day04java,static,方法,public
From: https://www.cnblogs.com/d1rtywatersblog/p/17831910.html