System.out.println()
System是系统类,out是标准输出对象,println()是一个方法
这句话是调用系统类System中的标准输出对象out中的方法printlin()
使程序变得简短和清晰。
有利于维护程序。
提高程序的开发效率。
提高了代码的重要性。
修饰符 返回值类型 方法名(参数类型 参数名){
方法体
return 返回值;
}
当方法返回一个值的时候,方法调用通常被当作一个值。例如:
int max = max(5,10)
当方法返回值是void,方法调用的一定是一条语句。例如:
System.out.println("Hello,World!")
Java中只有值传递。
public static void main(String[] args) { int max = max(50, 20); System.out.println(max); //调用max方法,输出大的值。返回值。 } //比大小 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; }
方法重载:一个类中可以有俩个方法具有相同的名字,但是这俩个方法有不同的参数列表,即参数个数不同,或者参数个数相同,但所对应的参数类型不同。
public static int add(int a,int b){ int sum = 0; sum = a + b; return sum; } //方法重载,方法名字必须相同,参数类型或参数个数或者参数排列顺序不同。 public static int add(int a,int b,int c){ int sum = 0; sum = a + b; return sum; }
有时候希望在运行一个程序时在传递给塔信息,这要靠传递命令行参数给main()函数实现。
错误:找不到或无法找到加载主类。
解决方法:在项目输出的项目目录下执行java命令,写完整路径即可。
在方法声明中,在指定参数类型后加一个省略号(…)实现可变参数的声明。可变参数在一个方法中只能有一个,而且必须是该方法的最后一个参数。
//double... numbers 可变参数 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); }
递归:A方法调用A方法,即自己调用自己,设计递归算法时,要明白什么时候自己不调用自己,否则就是一个死循环。递归包括俩个部分:
public static void main(String[] args) { Demo07 demo07 = new Demo07(); System.out.println(demo07.f(3)); System.out.println(f(2)); } //阶乘 3! 3*2*1 public static int f(int a){ if (a == 1){ return 1; }else{ return a*f(a -1); } } //边界条件:阶乘,乘到最后一个数,即1的时候,返回1,程序执行到底。 //递归前进段:当前的参数不等于1的时候,继续调用自身。 //递归返回段:从最大数开始乘,比如5的阶乘,就是5*(5-1),即n*(n-1).
递归和迭代的区别:
递归易于理解,容易编程,采取栈机制,对于嵌套层数深(深度大)的一些算法,就会占用大量的内存空间,时间开销也会增加,空间上内存会崩溃。
迭代不容易理解,编写复杂问题时困难,效率高,运行时间因循环次增加而增加,没有额外开销,空间上也没什么增加。
package com.feng.method; import java.util.Scanner; //简易加减乘除计算器 public class JiSuanQi { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double a = 0; double b = 0; String fh = "0"; if (scanner.hasNextDouble()){ a = scanner.nextDouble(); fh = scanner.next(); b = scanner.nextDouble(); } switch (fh) { case "+": System.out.println(a+"+"+b+"="+(a+b)); break; case "-": System.out.println(a+"-"+b+"="+(a-b)); break; case "*": System.out.println(a+"*"+b+"="+(a*b)); break; case "/": System.out.println(a+"/"+b+"="+(a/b)); break; default: System.out.println("请输如正确内容"); } scanner.close(); } }