*定義方法:
修飾符 返回值類型 方法名(參數(shù)列表){
//方法體;
}
對(duì)于:public static int max(int num1,int num2){
...
}這個(gè)方法,public static作為修飾符,為靜態(tài)修飾符;int為說明該方法的返回值是一個(gè)int型數(shù)據(jù),這個(gè)方法包含兩個(gè)int型形式參數(shù)。
主程序main()也是一種方法,它是由Java虛擬機(jī)進(jìn)行調(diào)用的。
*可以看出Java中的方法幾乎就等同于C語言中的函數(shù),并且與C中在參數(shù)傳遞上也都是:傳遞的只是實(shí)參的值,而非實(shí)參本身。
*重載方法:Java中一個(gè)類里面可以有多個(gè)同名方法,但其各自的參數(shù)表不同;編譯器會(huì)根據(jù)情況選擇最匹配的方法。但多個(gè)方法匹配度相同時(shí)候會(huì)產(chǎn)生編譯錯(cuò)誤,稱為歧義調(diào)用。
*變量的作用域
是指變量可在程序中引用的范圍。方法中的變量稱為局部變量。局部變量作用域是從其聲明開始,到包含該變量聲明的塊結(jié)束。局部變量在使用之前要先進(jìn)行聲明。基于此,可以在一個(gè)方法的不同代碼塊里聲明同名的局部變量。
*輸入年份和月份,顯示該月日歷
- import java.util.Scanner;
- public class C0501 {
- public static void main(String[] args){
- Scanner input=new Scanner(System.in);
- System.out.print("請(qǐng)輸入年份:");
- int year=input.nextInt();
- System.out.print("請(qǐng)輸入月份:");
- int month=input.nextInt();
- int monthDays=31;
- if(month%2==0&&month!=8)
- monthDays=30;
- if(month==2)
- monthDays=28;
- if(leapYear(year)==1&&month==2)
- monthDays=29;
- int countLeapYear=0;
- for(int i=1800;i<year;i++){
- if(leapYear(i)==1)
- countLeapYear++;
- }
- int dateCount=(year-1800)*365+countLeapYear;
- String ms1="Jan";
- switch(month){
- case 2:dateCount+=31;ms1="Feb";break;
- case 3:dateCount+=59;ms1="Mar";break;
- case 4:dateCount+=90;ms1="Apr";break;
- case 5:dateCount+=120;ms1="May";break;
- case 6:dateCount+=151;ms1="June";break;
- case 7:dateCount+=181;ms1="July";break;
- case 8:dateCount+=212;ms1="Aug";break;
- case 9:dateCount+=243;ms1="Sep";break;
- case 10:dateCount+=273;ms1="Oct";break;
- case 11:dateCount+=304;ms1="Nov";break;
- case 12:dateCount+=334;ms1="Dec";break;
- default:break;
- }
- if(month>1&&(leapYear(year)==1))
- dateCount++;
- int n=(dateCount%7+3)%7;
- int pcount=0;
- System.out.printf(" %s %d \n",ms1,year);
- System.out.println("-----------------------------------");
- System.out.println(" Sun Mon Tue Wed Thu Fri Sat");
- for(int i=1;i<=n;i++){
- System.out.print(" ");
- pcount++;
- }
- for(int i=0;i<monthDays;i++){
- if(pcount%7==0)
- System.out.printf("\n");
- System.out.printf("%5d",i+1);
- pcount++;
- }
- }
- public static int leapYear(int n){
- if(n%4==0&&(n%100!=0))
- return 1;
- else if(n%400==0)
- return 1;
- else
- return 0;
- }
-
- }
編程練習(xí):
5.26,顯示前100個(gè)回文素?cái)?shù)
- public class C05T26 {
- public static void main(String[] args){
- int counter=0;
- int i=2;
- while(counter<100){
- if(judgeHuiwen(i)&&judgePrime(i)){
- counter++;
- System.out.printf("%8d",i);
- if(counter%10==0)
- System.out.printf("\n");
- }
- i++;
- }
- }
- public static boolean judgeHuiwen(int n){
- int k=n;
- int rNum=0,remain;
- while(k!=0){
- remain=k%10;
- rNum=rNum*10+remain;
- k=k/10;
- }
- if(rNum==n)
- return true;
- else
- return false;
- }
- public static boolean judgePrime(int n){
- int i;
- if(n==0||n==1)
- return false;
- for(i=2;i<=n;i++){
- if(n%i==0)
- break;
- }
- if(i==n)
- return true;
- else
- return false;
- }
-
- }
5.33調(diào)用System.currentTimeMillis()顯示當(dāng)前日期和時(shí)間。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。