循環結構
- 循環結構特點(必須分清條件和操作)
a) 循環條件(循環的次數,要求等)
b) 循環操作(循環的結果,輸出的數據等)
c) 都有4個必不可少的部分。 - 循環語句(重複做同一件事)
a) 循環語句
i. do-while(不知道循環次數)
ii. while(不知道循環次數)
iii. for(知道循環次數)
b) (while循環)(條件在前面用,先判斷再執行,不符合條件一次都不會執行)
i. While循環語法;
ii. 定義變量(又稱循環變量,不可少)
iii. 在定義的變量前加while(把循環條件寫在括號裏)變量後面加花括號(花括號裏寫循環操作)
iv. 在花括號裏寫上a++爲活循環
c) While字符對比循環
i. 定義變量爲字符變量
ii. While後面加上變量比較(變量比較寫在括號裏,且用輸入的字符與字符變量對比)
iii. 輸出對比合格的情況或對比不合格的情況
d) do-while(先執行在判斷,最少執行一次)
i. 語法;do{ 執行的的操作 }whlie( 循環的條件 );
ii. do 寫在前面後面加花括號,花括號裏寫循環操作
iii. 在do的循環操作後寫while(循環條件);(必須加上分號)
e) For循環語句(循環次數固定,比while跟簡潔,先判斷執行)
i. 語法
ii. For(定義變量並賦值;判斷條件;變量更新的變量)
iii. 執行順序;定義變量並賦值——判斷條件——執行操作——變量更新的變量——判斷條件(循環到條件不符合要求)
iv. For括號裏面的元素可以拆出來,但分號不能少,i條件也不能少(或者什麼也不寫),否則爲死循環
v. For循環高級(多個循環條件) - For(定義變量並賦值(可以爲多個,但定義的類型只能有一個);判斷條件;變量更新的變量(可以爲多個))
- 多重循環
a) While,do-while,for都可以進行多次循環
b) 要分請層次關係 - 變量作用域(管理的範圍)
a) 提高作用域(在外級中定義變量,不賦值){循環操作內容}
第五章;跳轉語句
Break語句 - Break語句,在循環中則退出循環,不執行後面的循環語句,還會執行下面的程序語句但,在switch中跳出選擇。
- Break在位置哪裏就跳出那個循環或switch語句
- 語法
- Boolean類型;定義了Boolean類型後通過對比可以選擇是否執行語句
Boolean (變量名)=(true/false);
For ( ;;){
If(條件){
(Boolean變量名)=false(改變定義的Boolean變量值)
當if條件滿足時退出循環語句,否則繼續執行循環
}
}
Continue 語句
-
Continue語句(只能用於循環語句中,跳過循環操作中的剩餘語句,(只跳過本次循環),當條件再次滿足經過continue時再次使用)
-
continue位置在哪就跳出那個循環(後面如果還有循環(或其他語句)語句的話則還會執行後面的循環語句)
-
語法
return語句 -
跳出一個方法(回到方法的開始的地方)
數組 -
數組(數組有棧和堆得劃分)
-
數組開始爲空,必須賦值
-
數組的基本要素
a) 標識符(數組的名稱等同於變量名)
b) 數組元素(等同於變量值,有若干個元素)
c) 元素下標(每一個元素只有一個下標,從0開始;下標=長度-1)
d) 元素類型數組裏的元素只能是同一類型
e) 長度;數組裏一共能存放的元素的數量(固定的,聲明多少爲多少;)
f) -
寫法;數組的標識符(數組的名稱)【(數組元素的下標)】
-
語法順序
a) 聲明數組(給數組分類)(不聲明數組的長度)
i.
ii. 聲明變量的語法
-
寫在數組類型的後面
-
寫在數組名的後面
b) 分配空間(給數組一個空間,聲明元素的個數)
i. 只有在給數組分配空間是才能聲明長度,其餘情況下不能聲明
ii. 語法;數組名稱=new 數據類型【數據的大小】
iii. 每一個空間裏都有一個默認值且不一樣(int類型爲0,string類型爲null(空),默認值根據數據的類型進行改變)
c) 賦值(給元素賦值,每個元素都要賦值,下標從0開始)
i. 賦值方法 -
一邊聲明數組名一邊賦值(不能聲明數組的長度,元素少,且知道元素的情況下使用)
-
一邊聲明數組名和數組類型一邊賦值(不能聲明數組的長度,元素少,且知道元素的情況下使用)
-
使用循環進行賦值
-
數組的長度;數組名length(可用於循環中來改變循環的條件)即
d) 處理數據
i. For高級(增強型for,foreach)使用在知道元素的數或在數組中有數的情況下
ii. 語法
int;代表數組的類型 score;for循環的變量名 scores;數組的名稱
iii. :後面代表一個數組或集合
iv.
6. 聲明數組與分配空間一起書寫
-
聲明數組與賦值一起寫必須寫在同一句中,不能換行
-
數組與內存
a) 棧和堆(人爲的定義劃分區域)
i. 定義的數組名放在棧中(定義的變量與變量值都放在棧中)
ii. 數組的值放在堆中 -
數組語法書寫
-
數組排序
a) 冒泡排序(冒泡就是每一輪比出來的最大值稱之爲冒泡,依次出來)(可用Arrays.sort(數組名))
i. 順序;每次比較相鄰的倆個數,符合條件進行對換
ii. 規律;比較輪數爲數組的長度-1,比較的次數爲長度-1-輪數
iii. 語法
-
插入數值
a) 定義數組的長度時留出空間
b) 尋找位置
c) 進行移位 -
字符串的比較方法
二維數組 -
Arrays sort升序排序(不同於冒泡排序,字符也可以進行排序)
-
數組排序的語法書寫
-
使用arrays對數組進行排序(arrays .sort(數組名稱))
a) Arrays爲一個類
b) Sort爲方法(功能塊,可以對數組進行升序排序) -
Arrays常用的方法
a) Boolean equals ( 數組一,數組二)比較數組是否相等(數組的長度,類型,數組的元素的值都相同時才相等,返回結果爲布爾類型)
i. 語法書寫
b) Sort(數組名)(對這個數組進行升序排序)
i. 語法書寫(降序把數組中的數字反向輸出)
c) String toString(數組名)(把數組裏的數字當成字符來輸出)
i. 語法書寫(輸出的結果爲一個字符串,數組裏的數字被大括號包裹,用逗號隔開)
d) Void fill (數組名,想要賦予的值)(把要賦予的值都賦值個這個數組,數組裏的值都爲同一個數)
i. 語法書寫(數組裏的值都爲賦予的新值)
e) Copyof (數組名,數組的長度)(把數組複製到另一個長度的數組中)
i. 語法書寫(複製的結果也爲一個數組,需要定義一個新的數組,長度大於複製的數組時其餘爲數組的初始值,長度小於複製的數組時多的數給消除)
f) int binarySearch(數組名,數組裏有的數)(查找在這個數組中的這個數的下標是多少,必須在排好序的情況下進行查找,如果沒有排好序那麼返回的是一個負值)
i. 語法書寫(需要用一個變量來接受,返回的值是下標的值)
- 一維數組;帶中括號的爲一維數組(常用爲一維數組和二維數組)
- 二維數組;帶兩中括號(以此類推,括號越多,維數越大)
a) 定義;存放數組的數組稱之爲二維數組(即數組套數組)
b) 寫法
c) 語法
i. int scores [ ][ ]=new int [5][50];
- scores 爲二維數組的數組名 、int爲二維數組的數組類型、[5]中的數字5爲二維數組的長度、[50]爲二維數組裏每一個空間能存的數組長度,二維數組在一維數組的外層(在二維數組的每一個空間(長度爲5)中在放一個數組(長度爲5))
- 定義二維數組的長度的時候必須定義二維數組的長度,一維數組的的長度可不寫(即int scores [ ][ ]=new int [5][ ])
d) 二維數組中的數的寫法
i. 外層的數組爲;數組名[下標(下標=長度-1)]
ii. 裏層的數組爲;外層數組名[外層數組的下標(下標=外層數組長度-1)][裏層數組的下標(下標=裏層數組長度-1)]
e) 賦值;int [ ] [ ] score =new int [ ][ ]{{899,90},{890,09,90}}或者 int [ ] [ ] sorec =[ ] [ ] { {78,90} ,{90,87} }