javafor執行順序
1. java中for語句的執行順序
for語句的格式:
for(<初始化>; <條件表達式>; <增量>) 語句;
執行順序如下:
初始化->條件表達式->語句->增量->條件表示式->語句-增量->...->條件表達式。
在執行的時候,初始化語句只執行一次,後續按照條件表達式進行判斷,如果符合條件,則執行[語句],然後執行增量。再根據條件表示式進行判斷,重復上面過程。
2. for循環執行順序
這道題的難點是:&&的短路功能,當第一個表達式的值為false的時候,則不再計算第二個表達式。
所以for(i = 0; i < 6; i++ && k++)循環的執行順序:
當i=0的時候,第一次進入for循環,for語句執行到i = 0; i < 6;結束,並不執行i++ && k++,當第一次循環結束後i=0,k=0。
進行第二次循環for語句執行 i < 6; i++ && k++。並先執行i++ && k++。這個時候i=0,為false,所以就不執行右邊即k++。由此第二次循環後i=1,由於k++沒有執行,所以k還是=0。
進入第三次循環,i=1。&&必須要通過計算右邊的表達式才能得出結果。所以開始執行k++。所以第三次循環 時候 i=2,k=1 。以此類推,一直循環到i=6條件不成立停止循環。
(2)javafor執行順序擴展閱讀:
基本的優先順序需要記住:
指針最優,單目運算優於雙目運算。如正負號。
先算術運算,後移位運算,最後位運算,邏輯運算最後計算。請特別注意:1 << 3 + 2 && 7等價於 (1 << (3 + 2))&&7。
Java中&&和&都是表示與的邏輯運算符,都表示邏輯運輸符and,當兩邊的表達式都為true的時候,整個運算結果才為true,否則為false。
&可以用作位運算符,當&兩邊的表達式不是Boolean類型的時候,&表示按位操作。
3. Java語言中for循環結構的基本語法和執行順序是
1、for循環編程語言中的語句之一,用於循環執行。for語句比while語句和do-while都要靈活,是一種功能更大、更常用的循環語句,它的一般基本語法格式為:
for(表達式1;表達式2;表達式3)
{
//循環體
}
其中,表示式都可以省略,但是分號不可省略。
2、for循環的執行順序如下:
例如:
for(i=1;i<=10;i++)
{
語句;
}
示例中先給i賦初值1, 判斷i是否小於等於10, 若是則執行語句, 之後值增 加1。再重新判斷, 直到條件為假, 即i>10時, 結束循環。
4. java中的for循環嵌套語句怎麼執行啊 比如嵌套4個
就一層一層執行唄。
這個最好是debug一下自己看
但是通常項目開發裡面都盡量保持在三個以下,不然就說明你的邏輯設計的不合理
看你設定的條件是循環幾次唄。
我們就用for1,for2區分一下
for1(int i=0;i<5;i++){這里的循環執行5次,後跳出
for2(int j=0;j<5;j++){
我是for2循環體
}
這里for2運行的時候循環體執行5次,但是for1每次執行的時候都會讓for2再執行一次,也就是說跳出for1的時候循環體一共執行了5x5=25次
}
其實看簡單點,for2是for1的循環體,for2要執行5次,for2每執行一次,她的循環體就要執行5次
你只要明白一個for的循環體是怎麼運轉的就可以了,嵌套語句沒什麼特殊的,只不過它的循環體又是個for而已。
5. java for循環的執行順序和幾種常用寫法
1:遍歷數組的傳統方式
/* 建立一個數組 */
int[] integers = {1, 2, 3, 4};
/* 開始遍歷 */
for (int j = 0; j<integers.length; j++){
int i = integers[j];
System.out.println(i);
}
2:遍歷Collection對象的傳統方式
/* 建立一個Collection */
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
/* 開始遍歷 */
for (Iterator itr = stringList.iterator(); itr.hasNext();) {
Object str = itr.next();
System.out.println(str);
}
3:遍歷數組的簡單方式
/* 建立一個數組 */
int[] integers = {1, 2, 3, 4};
/* 開始遍歷 */
for (int i : integers) {
System.out.println(i);/* 依次輸出「1」、「2」、「3」、「4」 */
}
4:遍歷數組的簡單方式的等價代碼
/* 建立一個數組 */
int[] integers = {1, 2, 3, 4};
/* 開始遍歷 */
for (int 變數名甲 = 0; 變數名甲<integers.length; 變數名甲++) {
System.out.println(integers[變數名甲]);/* 依次輸出「1」、「2」、「3」、「4」 */
}
5:遍歷Collection的簡單方式
/* 建立一個Collection */
String[] strings = {"A", "B", "C", "D"};
Collection list = java.util.Arrays.asList(strings);
/* 開始遍歷 */
for (Object str : list) {
System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */
}
6:遍歷Collection的簡單方式的等價代碼
/* 建立一個Collection */
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
/* 開始遍歷 */
for (Iterator 變數名乙 = list.iterator(); 變數名乙.hasNext();) {
Object str = 變數名乙.next();
System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */
}
7:禁止重新賦值
int[] integers = {1, 2, 3, 4};
for (final int i : integers) {
i = i / 2; /* 編譯時出錯 */
}
8:允許修改狀態
Random[] randoms = new Random[]{new Random(1), new Random(2), new Random(3)};
for (final Random r : randoms) {
r.setSeed(4);/* 將所有Random對象設成使用相同的種子 */
System.out.println(r.nextLong());/* 種子相同,第一個結果也相同 */
}
9:使用和要被遍歷的數組中的元素相同類型的循環變數
int[] integers = {1, 2, 3, 4};
for (int i : integers) {
System.out.println(i);/* 依次輸出「1」、「2」、「3」、「4」 */
}
10:使用和要被遍歷的Collection中的元素相同類型的循環變數
Collection< String> strings = new ArrayList< String>();
strings.add("A");
strings.add("B");
strings.add("C");
strings.add("D");
for (String str : integers) {
System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */
}
11:使用要被遍歷的對象中的元素的上級類型的循環變數
String[] strings = {"A", "B", "C", "D"};
Collection< String> list = java.util.Arrays.asList(strings);
for (Object str : list) {
System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */
}
12:使用能和要被遍歷的對象中的元素的類型自動轉換的類型的循環變數
int[] integers = {1, 2, 3, 4};
for (Integer i : integers) {
System.out.println(i);/* 依次輸出「1」、「2」、「3」、「4」 */
}