首頁  >  文章  >  Java  >  JAVA入門系統教學(五)基礎文法(3)

JAVA入門系統教學(五)基礎文法(3)

php是最好的语言
php是最好的语言原創
2018-08-10 10:28:521436瀏覽

基本語法(3)

1. 循環語句:for    /   while   /   do...while

#   1)for迴圈

##格式:for(循環變數初始化;循環變數條件;循環不變量變更){

                 循環運算

             執行循環變數初始化部分,設定循環初始化狀態,此部分在循環中只執行一次

        進行循環條件判斷,若為true則執行循環內程式碼,false則直接退出循環

        執行循環變數變更部分,改變循環變數得值,以便進行下一次條件判斷

        依序執行循環,一直到條件達到語句不成立時即false ,退出循環

       

(註:有大括號的地方不需要加分號,有分號的地方不需要加大括號)

#範例:求和,求出1~100的總和

JAVA入門系統教學(五)基礎文法(3)

2)while迴圈


     格式: while(判斷條件){

               循環操作

 

##     執行流程:

        判斷while後方條件是否成立

        成立時,執行循環內作業至#        成立時,執行循環內操作至條件不成立停止條件   範例:連續依序輸入1-5

  3)do...while 循環

       格式:do{JAVA入門系統教學(五)基礎文法(3)

#                 循環操作


                 }while 下執行條件)##1;#  然後判斷循環條件是否成立

        如果成立繼續執行直至不成立時結束循環

   範例:計算50以內的偶數和

  4)循環的巢狀

        例題:打出9X9乘法表

JAVA入門系統教學(五)基礎文法(3)##   

# ps:continue:停止目前循環進入下一次循環  、  break:結束循環

2. 陣列:陣列可以理解為一個巨大的盒子,裡面可以依序存放多個類型相同的資料。

   如下圖JAVA入門系統教學(五)基礎文法(3)

   

   其中元素都可以透過下標來存取   陣列的下標從0開始 即這裡score[0 ] = 76  . . . . . . score[3] = 87

   數組的初始化:

        1)動態初始化:指定數組長度,由系統給數組中的元素賦值

JAVA入門系統教學(五)基礎文法(3)#(這裡格式為:資料型別[ ] 陣列名稱= new 陣列型別[ 指定長度] )

#

   2)靜態初始化:指定陣列中的元素的值,由系統給陣列指定長度

                                       ##處理陣列中的資料:我們可以對賦值後的陣列進行操作和處理

                     我們可以直接建立陣列方式合併完成

                     如:int[ ] sc = new int[ ]{5,15,25,35,48,55,38}

                     數組:length屬性:獲取數組長度

  例:錄入一組數據,並且輸出該數組

JAVA入門系統教學(五)基礎文法(3)

3. 方法:方法就是用來解決一類問題的程式碼有序的組合,也就是為一個功能模組


   語法:存取修飾符 傳回值型別方法名稱(參數清單){

             方法身體

             }

   1) 存取修飾符:方法允許被存取的權限範圍, 可以是public、protected、private 甚至可以省略,其中public 表示該方法可以被任何其他程式碼呼叫,其他幾種修飾符的使用在後面章節中會詳細講解滴

   2)傳回值類型:方法傳回值的型別,如果方法不傳回任何值,則傳回值型別指定為void ;如果方法具有傳回值,則需要指定傳回值的類型,且在方法體中使用return 語句傳回值

   3)方法名稱:定義的方法的名字,必須使用合法的識別碼

#   4)參數列表:傳遞給方法的參數列表,參數可以有多個,多個參數間以逗號隔開,每個參數由參數型別和參數名組成,以空格隔開 

根據方法是否帶參、是否帶回值,可將方法分為四類:

   Ø 無參無回值方法

   Ø 無參帶回傳值方法

   Ø 帶參無回值方法

##   Ø 帶參帶回傳值方法

   呼叫方法:

  1)單獨呼叫:沒有特定結果

  2)輸出呼叫:不夠好,將資料寫死,直接輸出的,不能對結果進行一下步的需求
  3)賦值呼叫


例:在上一個範例中,我們增加方法,最佳化排序過程

JAVA入門系統教學(五)基礎文法(3)問題:透過先前所學,我們來做一組較為複雜的程式需求如下


         1)輸入一組陣列2)對陣列進行輸出3)對陣列進行逆輸出4)可以篩選出最大與最小數並輸出5)增加資料的查詢功能6)利用方法最佳化程式過程

package example;


import java.util.Scanner;


public class Ex1 {	public static void main(String[] args) {		@SuppressWarnings("resource")	        Scanner sc = new Scanner(System.in);	        int[] score = new int[5];	        for(int i = 0 ; i<=score.length-1 ; i++) {	            System.out.println("请输入第"+(i+1)+"个数");	            int x = sc.nextInt();
                    score[i] = x;	        }	        System.out.print("您输入的数组为:");
                printArray(score);
                max(score, 0);
                min(score, 0);
                nx(score,0);
                printArray(score);
                where(score);	}		//遍历数组方法	public static void printArray(int[] score) {		for(int x = 0 ; x<=score.length-1 ; x++) {			if(x==0) {				System.out.print("[ "+score[x]);			}else if(x==score.length-1) {				System.out.print(" "+score[x]+" ]");		    }else {		    	System.out.print(" "+score[x]);		    }		}		System.out.println("");		System.out.println("------------------------");	}		//输出最大值方法	public static void max(int[] score, int max) {		max = score[0];		for(int y = 1 ; y<=score.length-1 ; y++) {			if (max<score[y]) {				max = score[y];			}		}	System.out.println("您输入的最大值为:"+max);	System.out.println("------------------------");	}		//输出最小值方法	public static void min(int[] score, int min) {		min = score[0];		for(int y = 1 ; y<=score.length-1 ; y++) {			if (min>score[y]) {				min = score[y];			}		}	System.out.println("您输入的最小值为:"+min);	System.out.println("------------------------");	}		//逆序方法	public static void nx(int[] score,int temp) {		for(int y = 0 ; y<=(score.length-1)/2 ; y++) {			temp = score[y];			score[y]=score[score.length-1-y];			score[score.length-1-y]=temp;		}		System.out.print("该数组的逆序为:");	}		//查找数据方法	public static void where(int[] score) {		@SuppressWarnings("resource")		Scanner sc = new Scanner(System.in);		System.out.print("请输入您要查找的数:    ");		int ex = sc.nextInt();		for(int y = 0 ; y<score.length ; y++) {			if(ex == score[y]) {				System.out.println("您输入的是第 "+(y+1)+" 个数");				break;			}else if(ex!=score[0] && ex!=score[1] && ex!=score[2] && ex!=score[3] && ex!=score[4]) {				System.out.println("没有您要找的数");				break;			}		}	}					}

JAVA入門系統教學(五)基礎文法(3)


JAVA入門系統教學(五)基礎文法(3)



##補充:方法之重載

JAVA入門系統教學(五)基礎文法(3)

      若同一類別包含了兩個或兩個以上方法名稱相同、方法參數的數量、順序或型別不同的方法,則稱為方法的重載,也可稱該方法被重載了。如下所示4 個方法名稱都為show ,但方法的參數有所不同,因此都屬於方法的重載:

################# ####如何區分呼叫的是哪個重載方法呢? ############      當呼叫被重載的方法時, Java 會根據參數的數量和型別來判斷應該呼叫哪個重載方法,參數完全符合的方法會被執行### ###############此時結果為:###

JAVA入門系統教學(五)基礎文法(3)

PS:判斷方法重載的依據

1、必須是在同一個類別中
2、方法名相同
3、方法參數的數量、順序或型別不同

4、與方法的修飾符或傳回值沒有關係

##END

#相關文章:

JAVA入門系統教學(三)基礎語法(1)

JAVA入門系統教學(四)基礎語法(2)#######

以上是JAVA入門系統教學(五)基礎文法(3)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn