跟我學java編程—深入理解for語句的嵌套循環

2021-01-17 米粒教育

前面已經介紹了嵌套循環的概念,並通過示例介紹了while循環和do-while循環嵌套的情況。本節介紹for循環結構,for循環也可以嵌套。不僅如此,for循環還可以和其它的循環結構混合嵌套。

嵌套循環時,必須將被嵌套的循環語句完整地包含在外層循環的循環體內,下面給出一些循環嵌套的示例。

示例1:用「*」輸出一個菱形圖案,圖案如下:

在D盤Java目錄下,新建「ForSample1.java」文件。用記事本打開「ForSample1.java」文件,輸入以下代碼:

代碼結構分析

程序功能主要是演示for嵌套循環的使用方法。

程序分為兩部分循環,第一部分循環輸出菱形圖案的上邊四行,最外層循環控制輸出的行數,內層嵌套了兩個for循環,第一個嵌套循環輸出列印的空格數,第二個嵌套循環輸出列印的星號數;第二部分循環輸出菱形圖案的下邊三行,原理和第一部分循環相同。

編譯「ForSample1.java」文件,在命令行窗口輸入「javac ForSample1.java」並執行命令,編譯通過後,在命令行窗口輸入「java ForSample1」運行Java程序,命令行窗口顯示如下信息:

圖 8-15 示例1菱形圖案輸出結果

示例2:列印輸出100至200之間的全部素數。

提示:素數是指能被1和它本身整除的數。算法比較簡單,先將這個數被2除,如果能整除,且該數又不等於2,則該數不是素數。如果該數不能被2整除,再看是否能被3整除,並且該數不等於3,則該數不是素數,否則再判斷是否能被4整除,依次類推,該數隻要是能被小於其本身的某個數整除時,就不是素數。

在D盤Java目錄下,新建「ForSample2.java」文件。用記事本打開「ForSample2.java」文件,輸入以下代碼:

代碼結構分析

程序功能主要是演示for與while混合嵌套循環的使用方法。

程序外層循環控制輸出100至200之間的數,內層的while循環用於找尋從2到該數之間第一個能被整除的數,內層循環判斷條件為i%j != 0,其中i為當前要判斷是否是素數的數,j為從2開始循環遞增的數,如果i%j != 0,則說明i不能被j整除,j自增後程序繼續執行while循環,如果i%j == 0,則說明i能被j整除,程序跳出while循環,循環後面的if語句判斷i與j是否相等,如果相等,則說明i為素數,程序輸出i。

編譯「ForSample2.java」文件,在命令行窗口輸入「javac ForSample2.java」並執行命令,編譯通過後,在命令行窗口輸入「java ForSample2」運行Java程序,命令行窗口顯示如下信息:

■ 知識點撥

循環嵌套是指在一個循環語句中再定義一個循環語句的語法結構。while、do- while和for循環語句都可以進行嵌套,並且他們之間可以進行互相嵌套。最常見的是在for循環中嵌套for循環。

■ 思考與練習

(1)編寫一個程序,要求用for嵌套循環求100以內的奇數和。

(2)編寫一個程序,要求用for嵌套循環輸出九九乘法表。

相關焦點

  • 跟我學java編程—Java邏輯運算符
    語句中用括號把a> b括起來,用於提高a> b的優先級,先計算a> b,再取反。示例1:邏輯運算符在D盤Java目錄下,新建「LogicSample.java」文件。用記事本打開「LogicSample.java」文件,輸入以下代碼:代碼結構分析程序功能主要是演示邏輯運算符的用法。類似語句「bJudge = !
  • 零基礎學編程python第十課,for……in循環語句與while循環語句
    而計算機機器人,就可以通過【循環】,一遍又一遍不厭其煩的向客戶介紹產品,計算機又不怕累。現在,是不是感覺」循環」不一樣了。什麼計算機就特別擅長做重複性工作呢? 並且是」擅長、速度快、不怕累」。究其原理, 就是因為代碼中的【循環語句】,讓計算機能夠重複、自動地執行命令。Python江湖裡,提供了兩種循環語句, for…in循環語句與while循環語句。
  • Java小白入門教程(6)——循環語句
    語句 7、循環嵌套 8、作業 一、循環結構1.1 概念 條件滿足,某些代碼會被反覆多次的執行。 循環條件默認是true--->成立2、表達式3:本來是跟在循環體後面執行的。
  • 數控編程實例循環銑沉孔,條件語句結合G02走圓
    上一篇我們講解了條件語句用於循環開槽的編程,只用了G01直線命令,基本了解了條件語句的應用。下面我們開始深化應用,用圓弧指令結合條件語句來加工那些尺寸較大的沉孔。這類孔尺寸大,不能通過鑽孔的方式完成,我們需要採用銑削的方式通過多刀進給來完成加工。下面我會通過實例給大家分析講解。
  • 跟我學java編程—認識java的整數類型
    整型變量可按如下方式聲明:在一條語句中,可以聲明多個同一類型的整型變量,每個變量之間用英文逗號分隔:整型變量可按如下方式初始化:在初始化變量或為變量賦值時,常常會用到一些數值,這些值通常稱為常量。Java語言中整型常量有三種不同的表示形式:十進位、八進位和十六進位。
  • excel編程系列基礎:常用語句之循環語句的邏輯理解
    今天是第三篇VBA實戰入門教程,我們將給大家帶來VBA中最常見語句之一,循環語句。典型的循環語句有4種,分別是Do While…Loop循環、Do…Loop Until循環、For…Next循環、For Each x In y … Next循環。查看循環邏輯圖可以更快理解循環語句。學習更多技巧,請收藏關注部落窩教育excel圖文教程。
  • java第三章循環結構和random知識點總結
    for循環格式:for (初始化語句;條件判斷語句;條件控制語句) {循環體語句;}格式解釋:初始化語句: 用於表示循環開啟時的起始狀態,簡單說就是循環開始的時候什麼樣條件判斷語句:用於表示循環反覆執行的條件,簡單說就是判斷循環是否能一直執行下去循環體語句: 用於表示循環反覆執行的內容,簡單說就是循環反覆執行的事情
  • 跟我學java編程—認識java語言的字符類型
    用記事本打開「CharSample.java」文件,輸入以下代碼:編譯「CharSample.java」文件,在命令行窗口輸入「javac CharSample.java」並執行命令,編譯通過後,在命令行窗口輸入「java CharSample」運行Java程序,命令行窗口顯示如下信息:
  • VBA中重複操作的神器,Do……Loop循環語句,你值得擁有它
    有興趣的小夥伴可以持續關注我,或者在專欄進行查看學習,願與君攜手共進!在上一個章節中我們已經學習集合的循環和數字的循環,那麼有時候我們並不知道我們要具體循環的次數,這個時候For—Next循環就無能為力啦!其實我們還有一種循環可以勝任這個,他就是我們本文要說的Do----Loop循環,這個循環其實在我們其他的程式語言中均有應用。一起來了解一下他。
  • 少兒編程Python第4課-for循環語句(質數判斷)
    我們要實現一個每隔1秒中在屏幕上列印一次「hello, world」;並持續列印一個小時的程序,我們肯定不能夠直接把`print('hello, world')`這句代碼寫3600遍,如果真的要這樣做,那麼編程的工作就太無聊乏味了。因此,我們還需要了解一下循環結構,有了循環結構我們就可以輕鬆的控制某件事或者某些事重複、重複、再重複的去執行。
  • 一起學JAVA——數組和函數
    方法(函數)是java的最小代碼重用單位,方法(函數)是為了重用代碼。方法不能嵌套方法,不能在一個方法內部定義另外一個方法。可以在一個方法內部調用另外一個方法。遍歷數組由於數組可以通過索引獲取每一個元素,又可以通過length獲取長度,那麼我們就可以定義循環來遍歷數組中的每一個元素了。
  • 學習java的優勢是什麼?學習難度怎麼樣
    學習java成為了現在比較熱門的話題。Java是一種可以撰寫跨平臺應用軟體的面向對象的程序設計語言。  他容易學而且很好用,如果你學習過C++語言,你會覺得C++和Java很像,因為Java中許多基本語句的語法和C++一樣,像常用的循環語句,控制語句等和C++幾乎一樣,其實Java和C++是兩種完全不同的語言,Java只需理解一些基本的概念,就可以用它編寫出適合於各種情況的應用程式。同時截止到2018年8月,java領先其它語言幾乎4.5%。為世界第一程式語言。
  • 跟我學java編程—深入理解面向對象的繼承思想
    為了理解繼承思想,下面看一個案例。某出版機構準備要通過微信小程序實現產品在微信媒體的推廣和銷售,出版機構的產品包括圖書、音頻、視頻,圖書又分為紙書和電子書。現在需要設計產品類,該類能夠存儲出版社所有產品的屬性(如名稱、價格、作者、摘要等產品信息),並能輸出產品的屬性。
  • 學編程的娃,到底有啥優勢?計算機專業媽媽來深掰下
    感覺是時候和大家再深入聊一聊這個話題了。畢竟現在編程跟其他課外興趣班不一樣。早幾年,還只能說是個熱門競賽項目,但2020年底,教育部官網正式對全國政協委員提出的「關於穩步推送編程教育納入我國基礎教學體系,著力培養數位化人才」的提案做出明確回應,稱編程在未來可能成為中小學必修課。從競賽到必修,可見少兒編程的火熱勢不可擋。那麼,學編程,孩子究竟能獲得什麼?
  • 跟我學java編程—面向對象編程多態概念的理解
    例1:在父類的基礎上增加新的行為在『深入了解面向對象的繼承思想』一節中,給出了一個案例,案例內容及案例代碼參見『深入了解面向對象的繼承思想』一節。■ 知識點撥多態是面向對象編程的一大特徵,利用多態特徵編程,可以讓應用程式具有良好的擴展性。通過子類對父類方法的重寫和類方法的重載,可以在不改變原有代碼的情況下擴展程序的功能。
  • 跟我學java編程—理解Java語言的抽象與對象
    面向對象編程思想的一個基本方法就是抽象。抽象是從眾多的同類事物中抽取出具有共同特徵的過程及方法。如果以面向對象的編程思想來看前面例子的話,水果可以稱之為類,而蘋果、香蕉、葡萄可以稱之為類的實例或對象。類是抽象出來的事物,現實生活中並不存在,例如水果,水果是人們賦予具有蘋果、香蕉、葡萄等共同特點的名稱,不單指某一事物;對象是指具體的實物或概念,例如蘋果、香蕉、葡萄等對象是實物,而一項政策可能就是一個概念性的對象了,在現實生活中,萬事萬物皆對象,面向對象編程就是模擬現實生活中的一個個對象來編程的。
  • 開發崗位這麼多,為什麼選Java?你學Java了嗎-開課吧
    TIOBE程式語言指數排行榜,Java仍然排名前三位。TIOBE編程排行榜根據全球工程師、課程和搜尋引擎數量為指數得出,在一定程度上反映了程式語言的發展趨勢。其他程式語言與Java相比,Java語法相對簡單,並且是很多計算機語言的基礎。提到C++語言,很多人發現在使用過程中最容易出現的錯誤就是內存管理,而java有自動垃圾回收器,不用擔心內存。
  • 跟我學java編程—Java類的類型轉換和動態綁定
    例如下面的代碼:語句「EBook ebook = (EBook) paper」在運行時,會拋出一個運行異常ClassCastException,表示類轉換異常。家用電器類提供support()方法,表示家用電器已通電,但通電後,電視、電腦、冰箱有不同的表現形式,可以用重寫父類support()方法的技術來解決這個問題,這就是java 的多態和動態綁定。
  • Python while循環語句的使用
    本篇介紹Python循環語句的使用,文中主要討論while循環語句,使用while循環語句可以解決程序中需要重複執行的操作,本文講解的每個案例中都配有流程圖和代碼說明。通過本篇的學習,可以達成如下目標。
  • 提升java編程性能優化知識 程式設計師必看這幾點
    對於學習java的學子也是如此,那麼java程式設計師如何提高編程性能呢,有哪些小知識或者技巧呢,怎麼樣才能在編程性能優化方面有所提升呢?  1.儘量在合適的場合使用單例  使用單例可以減輕加載的負擔,縮短加載的時間,提高加載的效率,但並不是所有地方都適用於單例,簡單來說,單例主要適用於以下三個方面: