這一節我們學習for語句的用法的執行過程.
我們先看for語句的格式:
~~~
for(初始化表達式;循環條件表達式;循環后的操作表達式)
{
執行語句;(循環體)
}
~~~
再來說一下for循環語句的執行過程
運行順序:初始化表達式只讀一次,判斷循環條件為真就執行循環體,然后再執行循環后的操作表達式,接著繼續判斷循環條件,重復整個過程,直到條件不滿足為止
我們來看一個for語句的例子
~~~
class ForDemo
{
public static void main(String[] args)
{
for (int x = 1;x < 3;x++)
{
System.out.println("x="+x);
}
int y = 1;
for (System.out.print("a"); y<3 ; System.out.print("c"))
{
System.out.print("d");
y++;
}//adcdc
//for (int a=0,b=0;a<3 ;a++,b-- )//初始表達式和循環后的表達式都可以是多個表達式
//{
//}
}
}
~~~
我們來看一下結果

上面我們看了for語句的格式和執行過程,下面再來看一個實現累加的例子,
~~~
class ForTest
{
public static void main(String[] args)
{
/*
用for完成累加
*/
int sum = 0;//存儲累加的結果
for(int i=1;i<+10;i++)
{
sum = sum + i;
}
System.out.println("1到10這十個數的和是:"+sum);
}
}
~~~
結果:

從上面的例子和上一節while實現累加的例子我們可以看出這兩個語句都能實現相同的需求,那么它們之間有什么各自的特點呢?
通過學習我知道,
1.for和while可以互換
2.格式上的不同,在使用上有一點小區別,那就是如果需要通過變量來對循環進行控制,該變量只做為循環增強存在時,區別就體現出來了
for為循環而定義的變量在for循環執行完后在內在中釋放,這個是最大的區別之處.
我們看個例子
~~~
class For_While
{
public static void main(String[] args)
{
int x = 1;
while(x<5)
{
System.out.println("x="+x);
}
System.out.println("x===="+x);
for(int y=1;y<5;y++)
{
System.out.println("y="+y)
}
//System.out.println("y===="+y);//拋出異常,y的作用域
}
}
~~~
最后的注釋之處就是兩者之間的最大區別.
再來看一下兩個語句如何實現無限循環呢,其實很簡單.
~~~
while(true){}
for(;;){}//這個中間的默認為true
~~~
通過對這三種不同的循環語句的學習基本上對循環語句有了比較清楚的理解,那么我們說什么時候使用循環語句呢?
當對某些代碼執行多次時,使用
當對一個條件進行一次判斷時,可以使用if語句
當對一個條件進行多次判斷時,可以使用while語句
注意:
在使用循環時,一定要明確哪些語句需要參與循環,哪些不需要
循環通常情況下,需要定義條件,需要控制次數
這節就到這里吧.
- 前言
- 1.1 基本常識
- 1.2 Java語言概述
- 1.3 Java語言的環境搭建
- 1.4 Java程序開發之初體驗--Hello World
- 2.1 關鍵字
- 2.2 標識符
- 2.3 注釋
- 2.4 常量
- 2.5 進制掃盲
- 2.6 變量和數據類型(1)
- 2.7 變量和數據類型(2)
- 2.8 運算符
- 3.1 if語句
- 3.2 switch語句
- 3.3 while和do-while語句
- 3.4 for語句
- 3.5 for循環的嵌套
- 3.6 break語句與continue語句
- 4.1 函數的定義
- 4.2 定義函數的兩個明確
- 4.3 函數的內存加載過程
- 4.4 函數的重載
- 5.1 數組的定義
- 5.2 數組的內存分配及特點
- 5.3 數組操作中常見問題
- 5.4 數組常用操作(1)
- 5.5 數組常用操作(2)
- 5.6 二維數組
- 6.1 面向對象的概述
- 6.2 類與對象的關系
- 6.3 對象的內存體現
- 6.4 成員變量與局部變量
- 6.5 類類型參數與匿名對象
- 6.6 基本數據類型參數與引用數據類型參數的傳遞過程
- 6.7 封裝
- 7.1 構造函數概述與默認構造函數
- 7.2 構造函數與一般函數的區別
- 7.3 構造函數的重載
- 7.4 構造函數的內存加載
- 7.5 構造函數需要注意的幾個細節
- 7.6 this關鍵字的原理
- 7.7 this關鍵字的細節與應用
- 8.1 static關鍵字之特點
- 8.2 成員變量與靜態變量的區別
- 8.3 static關鍵字使用的注意細節
- 8.4 main函數的解析與細節
- 8.5 static關鍵字的使用場景
- 8.6 靜態的內存加載
- 8.7 靜態代碼塊
- 8.8 構造代碼塊
- 9.1 繼承
- 9.2 單繼承與多重繼承
- 9.3 子父類中成員變量特征體現