搜尋
首頁Javajava教程JAVA入門系統教學(五)基礎文法(3)

基本語法(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
如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?Mar 17, 2025 pm 05:46 PM

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?Mar 17, 2025 pm 05:45 PM

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?Mar 17, 2025 pm 05:44 PM

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?Mar 17, 2025 pm 05:43 PM

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Mar 17, 2025 pm 05:35 PM

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

如何將Java的RMI(遠程方法調用)用於分佈式計算?如何將Java的RMI(遠程方法調用)用於分佈式計算?Mar 11, 2025 pm 05:53 PM

本文解釋了用於構建分佈式應用程序的Java的遠程方法調用(RMI)。 它詳細介紹了接口定義,實現,註冊表設置和客戶端調用,以解決網絡問題和安全性等挑戰。

如何使用Java的插座API進行網絡通信?如何使用Java的插座API進行網絡通信?Mar 11, 2025 pm 05:53 PM

本文詳細介紹了用於網絡通信的Java的套接字API,涵蓋了客戶服務器設置,數據處理和關鍵考慮因素,例如資源管理,錯誤處理和安全性。 它還探索了性能優化技術,我

如何在Java中創建自定義網絡協議?如何在Java中創建自定義網絡協議?Mar 11, 2025 pm 05:52 PM

本文詳細介紹了創建自定義Java網絡協議。 它涵蓋協議定義(數據結構,框架,錯誤處理,版本控制),實現(使用插座),數據序列化和最佳實踐(效率,安全性,維護

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能