方法(Method)在大一的C++课程里面就学习过,这个部分还好对得起谭老师,能基本明白什么是方法。但是在Java 中,感觉方法和C++还是不能相同去理解的,毕竟一个是面向过程的语言,一个是面向对象的语言。接下来就是我在学习《Java语言程序设计——基础篇》中对于一些我个人不够理解的要点的记录。
方法,通俗理解,就是用来创建可重用的代码。
定义方法的语法:
修饰符 返回值类型 方法名(参数列表){
方法体;
}
main方法与其他方法唯一区别在于它是有Java虚拟机调用的,main方法的方法头永远是一样的,包括修饰符public和static,返回值类型void,方法名main。
对void方法的调用必须是一条语句。void方法不需要return语句,但return能用于终止方法并返回到方法的调用者,这种用法很少,但是对于改变void方法中的正常控制流程是很有用的。详细可见书P127-128页内容。
重载方法(method overloading),就是在一个类中有两个方法,它们具有相同的名字,但有不同的参数列表。Java编译器根据方法签名决定使用哪个方法。但是被重载的方法必须具于不同的的参数列表,不能基于不同修饰符或者返回值类型来重载方法。要避免歧义调用(ambiguous invocation)。
最后就是自顶向下和自底向上方法。emmm,练习的代码,输入年、月,打印出日历。
package com.ddup;import java.util.Scanner;public class method1 { public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.print("输入年:"); int year = input.nextInt(); System.out.print("输入月:"); int month = input.nextInt(); printMonth(year, month); } public static void printMonth(int year, int month){ printMonthTitle(year, month); printMonthBody(year, month); } public static void printMonthTitle(int year, int month){ System.out.println(" "+ getMonthName(month)); System.out.println("-----------------------------"); System.out.println(" sun mon tue wed thu fri sat"); } public static String getMonthName(int month){ String monthName = ""; switch (month){ case 1: monthName = "January"; break; case 2: monthName = "February"; break; case 3: monthName = "March"; break; case 4: monthName = "April"; break; case 5: monthName = "May"; break; case 6: monthName = "June"; break; case 7: monthName = "July"; break; case 8: monthName = "August"; break; case 9: monthName = "September"; break; case 10: monthName = "October"; break; case 11: monthName = "November"; break; case 12: monthName = "December"; break; } return monthName; } public static void printMonthBody(int year, int month){ int startDay = getStartDay(year, month); int numberOfDayInMonth = getNumberOfDaysInMonth(year, month); int i = 0; for (i = 0; i
然后运行截图:
啦啦啦~ 希望明天可以看更多的知识点。