筆記:
1.for結構:固定次數循環、應用率高
2.break:跳出循環
? continue:跳過循環體中剩余語句而進入下一次循環
3.三種循環結構的更佳適用情況:
? 1)while:"當..."
? 2)do...while:"直到..."
? ? ? ? ? ? ? 要素1與要素3相同時首選do...while
? 3)for:固定次數循環
4.嵌套循環:
? 1)循環中套循環,一般多行多列時使用,外層控制行,內層控制列
? 2)執行規則:外層循環走一次,內層循環走所有次
? 3)嵌套層次越少越好,能用一層就不用兩層,能用兩層就不用三層,
? ? 若需求必須通過三層以上的循環來解決,說明設計有問題(數據結構問題)
? 4)break只能跳出一層循環
5.程序=算法+數據結構
? 1)算法:解決問題的流程/步驟(順序、分支、循環)
? 2)數據結構:將數據按照某種特定的結構來保存 (數怎么存)
設計合理的/良好的數據結構會得到好的算法
6.數組:
? 1)相同數據類型元素的集合
? 2)是一種數據類型(引用類型)
? 3)數組的定義:
? ? ? int[] arr = new int[10];
? 4)數組的初始化:
? ? ? int[] arr = new int[4]; //0,0,0,0
? ? ? int[] arr = {1,4,5,9}; //1,4,5,9直接賦值
? ? ? int[] arr = new int[]{1,4,5,9}; //1,4,5,9
? ? ? int[] arr;
? ? ? arr = {1,4,5,9}; //編譯錯誤,此方式只能聲明同時初始化
? ? ? arr = new int[]{1,4,5,9}; //正確
? 5)數組的訪問:
? ? 5.1)通過(數組名.length)來獲取數組的長度
? ? ? int[] arr = new int[4];
? ? ? System.out.println(arr.length); //4
5.2)通過下標/索引來訪問數組中的元素
? ? 下標從0開始,最大到(數組的長度-1)
? int[] arr = new int[3];
? arr[0] = 100; //給arr中第1個元素賦值為100
? arr[1] = 200; //給arr中第2個元素賦值為200
? arr[2] = 300; //給arr中第3個元素賦值為300
? arr[3] = 400; //數組下標越界異常
? System.out.println(arr[arr.length-1]); //輸出arr中最后一個元素的值
? 6)數組的遍歷:
? int[] arr = new int[10];
? for(int i=0;i<arr.length;i++){//賦值
? ? arr[i] = 100;
? }
? for(int i=0;i<arr.length;i++){//順序輸出
? ? System.out.println(arr[i]);
? }
? for(int i=arr.length-1;i>=0;i--){//倒序輸出
? ? System.out.println(arr[i]);
? }
陌生知識點記錄:
? ? 程序是算法和數據結構的結合體,一句話,重新刷新了自我的認識。一直以為會了算法,就能夠掌握程序的精髓。卻忽視了數據結構的重要性。數據結構可用于能夠優化算法,提高程序運行的效率。
? ? 今日的知識中,給我煥然一新的知識點是數組的初始化。在對數組直接賦值的過程中(int arr = {1,3,5,7}),不能夠將語句拆分來書寫,必須在聲明的同時,直接賦值。
今日心情:
? ? 昨天期待的暴風雨并未如期而至,靜下來好好想想,也許這Java基礎本就不是狂風暴雨的節奏,而又何必強求。若是強求,也許還會破壞了其春雨般潤物細無聲的效果。放棄自己對學習的傲慢,在知識面前,低下頭來,向其致敬。用最開放的心胸去接受無盡的知識,大海不拒小溪,方能成其波瀾壯闊。