中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是JAVA結構化編程

發布時間:2021-09-02 13:48:16 來源:億速云 閱讀:157 作者:chen 欄目:開發技術

本篇內容主要講解“什么是JAVA結構化編程”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“什么是JAVA結構化編程”吧!

目錄
  • 1.什么是結構化編程

  • 2.為什么要使用結構化編程?

  • 3.三大結構

    • A. 循環結構

      • 一行代碼:

    • B. 分支結構

      • C.重復結構

      • 4.函數(在JAVA中叫方法)

        1.什么是結構化編程

        編程中只使用三大結構

        不能使用goto語句

        1972年美國科學家,發表論文證明所有的程序流程,只需要三大結構完成。

        2.為什么要使用結構化編程?

        把代碼分成一個一個的代碼塊

        極大的提高了代碼的可 讀性

        3.三大結構

        A. 循環結構

        • 單線程(一個執行序列)

        • 代碼總是執行上一行,再執行下一行

        • 在順序結構中,要提防不小心產生的空語句

        //空語句實例:
        public class BanchTest {
            public static void main(String[] args) {
                int i;
                for(i=0;i<5;i++);//這里的分號產生了空語句
                {   
                System.out.print(i);
                }
            }
        }
        //運行結果為:
        //5
        //正確例子:
        public class BanchTest {
            public static void main(String[] args) {
                int i;
                for(i=0;i<5;i++)//注意這里沒分號
                {
                    System.out.print(i);
                }
            }
        }
        //運行結果
        //01234
        一行代碼:
        • 在JAVA中分號是行的分隔符。

        • 在J S語言中分號、回車都是行的分隔符

        • 在VB語言中,回車是分隔符

        注釋:只要回車是分隔符、都需要右續行符

        B. 分支結構

        • 單分支結構(if)

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                test1();
            }
            private static void test1() {
                int age = 19;
                if(age>=18) {//注意這里的判斷題的大括號不要省略,除非執行體和判別式在同一行
                    System.out.println("成年");
                }
            }
        }
        • 雙分支結構(if...else..)

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                test1();
            }
            private static void test1() {
                int age = 1;
                if(age>=18) {//符合判別表達式執行體
                    System.out.println("成年");
                }else {//不復合判別表達式執行體
                    System.out.println("未成年");
                }
            }
        }
        • 多分支結構

        a.多選一的結構(多個分支結構、只有一個被執行)

        使用else if 比單分支滿足條件的做法,有更高的效率,所有的分支,同時只會執行一個

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                test1();
            }
            private static void test1() {
                int age = 37;
                if(age<6) {
                    System.out.println("幼兒");
                }
                else if(age<18) {
                    System.out.println("少年");
                }
                else if(age<60) {
                    System.out.println("成年");
                }
                else {
                    System.out.println("老年人");
                }
            }
        }

        b.多選多的結構 (多個分支結構、有多個被同時執行)(switch)

        • 格式:switch(key) 其中key支持的類型有:

        1. int類型

        2.可以自動升級為int的類型(byte、short、char、Integer)

        3. enum(枚舉類型)

        4.在JDK8之后還支持string類型

        • 在沒有break時會全部被執行

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                test1();
            }
            private static void test1() {
                int key=1;
                switch(key) {
                case 1:
                    //這個條件下執行的部分
                    System.out.println("成績優秀");
                case 2:
                    System.out.println("成績良好");
                case 3:
                    System.out.println("成績一般");
                default:
                    //default等同于else,在switch中用default
                    System.out.println("成績不良");
                }
            }

        /*運行結果為:
        成績優秀
        成績良好
        成績一般
        成績不良*/

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                test1();
            }
            private static void test1() {
                int key=2;
                switch(key) {
                case 1:
                    //這個條件下執行的部分
                    System.out.println("成績優秀");
                case 2:
                    System.out.println("成績良好");
                case 3:
                    System.out.println("成績一般");
                default:
                    //default等同于else,在switch中用default
                    System.out.println("成績不良");
                }
            }
        }

        /*key值不同值下的運行結果:
        成績良好
        成績一般
        成績不良
        */

        • 在break之后,選中哪個就執行哪個(有多選一的效果)

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                test1();
            }
            private static void test1() {
                int key=1;
                switch(key) {
                case 1:
                    //這個條件下執行的部分
                    System.out.println("成績優秀");
                    break;//關閉
                case 2:
                    System.out.println("成績良好");
                    break;
                case 3:
                    System.out.println("成績一般");
                    break;
                default:
                    //default等同于else,在switch中用default
                    System.out.println("成績不良");
                }
            }
        }
        • 跑穿(沒有加break時,可以進入多個分支),只要以上條件都滿足時,我都執行

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                test1();
            }
            private static void test1() {
                int key=2;
                switch(key) {
                case 1:
                    //這個條件下執行的部分
                    System.out.println("成績優秀");
                case 2:
                    System.out.println("成績良好");
                case 3:
                    System.out.println("成績一般");
                default:
                    //default等同于else,在switch中用default
                    System.out.println("成績不良");
                    System.out.println("繼續加油");//滿足上面的四個條件,不管key的值是多少,此代碼都執行。
                }
            }
        }

        注釋:設計跑穿就是為了支持多對多的關系。

        C.重復結構

        • do while(until)

        • 先執行循環,再判別。

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                test1();
            }
            private static void test1() {
            int i = 0;
            int count=5;
                    do {
                        System.out.println(i);
                        i++;//循環變量自加
                    }
                    while(i<count);
            }
        }
        • while

        • 先判別,再執行循環

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                test1();
            }
            private static void test1() {
            int i = 0;
            int count=5;
                    while(i<count) {
                        System.out.println(i);
                        i++;//循環變量自加
                    }
            }
        }

        注釋:while循環要比do..while循環好多了,因為while循環的可讀性要比后者好太多。

        • for

        • (continue )跳出本次循環

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                test1();
            }
            private static void test1() {
            int count=5;
            for (int i = 0; i < count; i++) {
                if(i==3)continue;//跳出本次循環,跳到右邊距離最近的}的左邊
                System.out.print(i);
            }     
            }
        }
        /*運行結果
        0124
        */
        • (break)跳出本層循環

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                test1();
            }
            private static void test1() {
            int count=5;
            for (int i = 0; i < count; i++) {
                if(i==3) break;//跳出本次循環,跳到右邊距離最近的}的右邊
                System.out.print(i);
            }     
            }
        }
        /*運行結果
        012
        */
        • (return) 跳出函數

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                test1();
            }
            private static void test1() {
            int count=5;
            for (int i = 0; i < count; i++) {
                if(i==3) return;//跳出本函數
                System.out.print(i);
            }     
            }
        }
        /*運行結果
        012
        */
        • forEach(遍歷集合)

        • for循環和while循環的區別:

        • for循環。定長循環,依靠固定循環次數作為結束條件。

        • while循環。標志性循環,依靠標志來結束循環(文件是否讀到最后一行,用戶的輸入是否結束)。

        4.函數(在JAVA中叫方法)

        面向對象的語言叫方法

        面向過程的語言叫函數

        在JAVA中沒有函數這么一說,只有方法一說。實際上方法就是函數,函數就是方法,只是在不同的語言不同的稱呼而已。有class聲明的就是類。類就是對一類事物的聲明,在JAVA中函數就是方法,就是后面帶有()的。類只是聲明,對象才是真實存在的可以干活的東西,所有的方法(也就是函數)都需要用對象去調用(不包括靜態的static)

        • 什么是函數(函數,子程序,過程)

        函數是一段可以復用的子程序。

        函數(function):有返回值(在C語言中void表示沒有返回值)

        過程(procedure):無返回值

        • 為什么要使用函數

        代碼的復用,提高了效率

        • 什么時候寫一個函數

        • 復用

        在寫某個代碼時,發現這個代碼似曾相識(寫過)

        • 分割邏輯

        不應該超過50行

        一個方法最好只能有一個功能(單一功能原則)

        功能簡單更加利于復用

        • 函數的定義

          • 函數定義的區域:類體以內,方法以外。

          • 一模一樣(同名同參)的函數只能調用一次

          • 方法定義有7個組成要素:

        public static void main (String[] args) throws Exception {
        
        }

        1.權限修飾符 public

        2.static/final/abatract

        3.返回類型 void

        4.方法(函數)名稱 main

        5.形式參數列表 (String[] args)

        6.異常列表 throws Exception

        7.{ } 方法體

        注釋:3 4 5 是必須的

        //兩個例子
        void test1 (){}
        abstaract void test1();//抽象方法
        • 函數如何返回返回值

          • 只要函數聲明一個不是void返回類型,所有分支必然需要一個返回值。

          • 返回值通過return語句進行返回的,而且數據類型必須和方法聲明的返回類型匹配。

        • 函數 的調用

          • 如何調用一個方法

        1.可以多次調用

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                new BanchTest().test1();
        }
                void test1 (){
                    test2();
                    test2();
                    test2();
                } 
                void test2() {
                    System.out.println("JAVA使我快樂");
                }
            }

        2.至少在現在的時候方法(函數)的實參(調用的時候叫實參)和形參(定義的時候叫形參)必須一致

        package com.kfm.leiyawen.Test0831;
        public class BanchTest {
            public static void main(String[] args) {
                new BanchTest().test1();
        }
                void test1 (){
                    test2(1);//括號里面的是實參
                    test2(2);
                    test2(3);
                } 
                void test2(int order) {//函數定義時叫形參
                    System.out.println("JAVA使我快樂"+order);
                }
            }

        運行結果
        /*
        JAVA使我快樂1
        JAVA使我快樂2
        JAVA使我快樂3
        */

        • 函數可以直接或間接的調用自己

        遞歸

        到此,相信大家對“什么是JAVA結構化編程”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

        向AI問一下細節

        免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

        AI

        阿鲁科尔沁旗| 彭阳县| 樟树市| 镇康县| 乌审旗| 嘉兴市| 涡阳县| 泗阳县| 垣曲县| 靖西县| 鄂伦春自治旗| 黑龙江省| 唐山市| 祁阳县| 河间市| 望谟县| 呼玛县| 恩施市| 那曲县| 永春县| 盐边县| 富蕴县| 四平市| 筠连县| 永福县| 静海县| 南京市| 杭锦后旗| 通河县| 卢龙县| 尚志市| 手游| 高淳县| 乌什县| 铜梁县| 娄底市| 常州市| 西林县| 桐城市| 谢通门县| 小金县|