Day 13 程序设计风格和文档
正确的缩进和空白
- 二元操作符的两边应该各加一个空格
块的风格
- 块是由花括号括起来的一组语句
- 行尾风格
命令行传参
- 运行一个程序时在传递给他消息,要靠命令行参数给main()函数实行
package methods;
public class Demo03 {
public static void main(String[] args) {
//args.length : the length of arrays
for (int i = 0; i < args.length; i++) {
System.out.println("args[" + i + "]:"+args[i]);
}
}
}
cmd…?
可变参数(不定项参数)
- 在方法声明中,在指定参数类型后加一个省略号(…)
- 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数,任何普通的参数必须在他之前声明
Tips:补全快捷键Alt+Enter
package methods;
public class Demo04 {
public static void main(String[] args) {
Demo04 demo04 = new Demo04();
demo04.test(1,2);
}
public void test(int x,int... i){
System.out.println(i[0]);
}
}
package methods;
public class Demo05 {
public static void main(String[] args) {
//调用可变参数的方法
printMax(34,3,3,2,56.5);
printMax(new double[]{1,2,3});
}
public static void printMax(double... numbers){
if (numbers.length == 0){
System.out.println("No argument passed");
}
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 methods;
public class Demo06 {
public static void main(String[] args) {
System.out.println(f(5));
}
//递归 阶乘
public static int f(int n){
if (n == 1){
return 1;
}else{
return n * f(n-1);//f???
}
}
}
作业:编写简易计算器