免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Java學(xué)習(xí)Day2:方法、數(shù)組與面向?qū)ο笕腴T實(shí)戰(zhàn)

Java學(xué)習(xí)Day2:方法、數(shù)組與面向?qū)ο笕腴T實(shí)戰(zhàn) 1. 第二天的學(xué)習(xí)規(guī)劃先把路線定清楚再動手敲代碼很多自學(xué)者卡在Java入門階段不是因為智商不夠而是因為第一天學(xué)完變量、數(shù)據(jù)類型和if/else之后第二天不知道往哪兒走。“JAVA學(xué)習(xí)Day2”這個階段正是承上啟下的關(guān)鍵節(jié)點(diǎn)語法基礎(chǔ)剛有了點(diǎn)感覺離面向?qū)ο筮€差一步離寫出像樣的程序還差得遠(yuǎn)。如果第二天只是繼續(xù)刷語法題第三天大概率就會忘掉一半如果直接去啃Spring、MySQL這種框架和生態(tài)的東西那純粹是自己給自己挖坑。我的建議是Day2應(yīng)該集中火力搞定三塊方法、數(shù)組、面向?qū)ο笕腴T。這三塊是Java語法向后端開發(fā)過渡的地基。方法解決的是“代碼怎么組織”數(shù)組解決的是“多數(shù)據(jù)怎么存”面向?qū)ο蠼鉀Q的是“真實(shí)業(yè)務(wù)怎么抽象”。熱搜詞里反復(fù)出現(xiàn)的“java基礎(chǔ)”、“java入門”、“java數(shù)據(jù)類型”其實(shí)本質(zhì)都在這個范圍內(nèi)打轉(zhuǎn)。你去看任何一套java基礎(chǔ)面試題前二十道里有一半以上都在問“方法重載”、“數(shù)組內(nèi)存”、“封裝繼承多態(tài)”這就是Day2必須吃透的方向。這里要先破除一個誤區(qū)Day2并不需要面面俱到。網(wǎng)上那些“Java學(xué)習(xí)路線圖超全超詳細(xì)”動不動就列幾十個模塊從基礎(chǔ)語法到框架到微服務(wù)一條龍看著熱血沸騰真正執(zhí)行起來完全不是那么回事。第二天最合理的狀態(tài)是能獨(dú)立寫出包含自定義方法、數(shù)組遍歷和簡單對象操作的代碼能把“類、對象、構(gòu)造器、封裝”這四個詞講明白能手寫一遍冒泡排序并說出它的時間復(fù)雜度。做到這些Day2就算超額完成任務(wù)了。提示學(xué)習(xí)路線不是看一遍就完事的。把路線圖當(dāng)成地圖每天只走一小段。Day2走完“方法→數(shù)組→面向?qū)ο蟆S妙悺边@一小段比囫圇吞棗掃完整個地圖有價值得多。2. 方法與重載先理解棧幀和參數(shù)傳遞再寫代碼方法Method在Java里就是一段命名的代碼塊用來完成一個獨(dú)立功能。Day2學(xué)方法不是光知道怎么定義和調(diào)用就結(jié)束了而是要弄明白一個核心問題方法在被調(diào)用時Java虛擬機(jī)底層到底做了什么。2.1 方法的定義、調(diào)用和形參實(shí)參先看最基礎(chǔ)的寫法。定義一個方法的完整語法是修飾符 返回類型 方法名 參數(shù)列表 方法體。比如public static int add(int a, int b) { return a b; }這段代碼里的a和b叫形參在方法調(diào)用時傳入的3和5叫實(shí)參。形參是方法內(nèi)部使用的局部變量實(shí)參是調(diào)用方提供的數(shù)據(jù)。這個區(qū)分看著簡單但很多人在后面學(xué)框架的時候會栽跟頭——他們不理解為什么方法里改了參數(shù)的值外面的變量卻紋絲不動。方法調(diào)用時JVM會在棧內(nèi)存中為每個方法分配一塊空間叫棧幀。棧幀里放著形參、局部變量和方法返回地址。方法執(zhí)行完棧幀被彈出回收。所以方法內(nèi)的變量都是臨時的方法結(jié)束就沒了。這個機(jī)制解釋了為什么方法內(nèi)部能隨意使用局部變量也解釋了為什么需要返回值——方法對外界的輸出只能通過返回值傳遞。2.2 方法重載為什么編譯器知道該調(diào)用哪一個方法重載是Day2必須掌握的概念也是面試題“java基礎(chǔ)面試題”中的高頻點(diǎn)。重載的定義是在同一個類中多個方法有相同的方法名但參數(shù)列表不同參數(shù)類型、參數(shù)個數(shù)、參數(shù)順序不同與返回值無關(guān)。public static int add(int a, int b) { return a b; } public static double add(double a, double b) { return a b; } public static int add(int a, int b, int c) { return a b c; }這里有兩個add(int a, int b)和add(double a, double b)調(diào)用add(1.5, 2.5)時編譯器會根據(jù)實(shí)參類型自動選擇第二個方法。重載的意義在于降低使用者的記憶成本——同一個行為相加只是參數(shù)形態(tài)不同沒必要起三個方法名。我平時帶新人最常提醒的一點(diǎn)是重載只是同名不同參別把重載和重寫Override混在一起。重寫是子類對父類方法的重新實(shí)現(xiàn)發(fā)生在繼承關(guān)系中本質(zhì)是面向?qū)ο蠖鄳B(tài)的表現(xiàn)而重載是編譯期的行為編譯器在編譯階段就確定了到底調(diào)用哪個方法。這個區(qū)別在“java面試八股文”里幾乎必問Day2先留個印象學(xué)完繼承再回頭對比理解會更深。2.3 值傳遞和引用傳遞一個最容易混淆的核心概念Java中的參數(shù)傳遞只有一種——值傳遞。但很多人看完String、數(shù)組、對象就能說得模棱兩可。到底怎么回事基本類型int、double、boolean等作為參數(shù)時傳遞的是值的副本方法內(nèi)修改參數(shù)不會影響外面的變量。引用類型數(shù)組、對象作為參數(shù)時傳遞的是引用的副本也就是把對象的地址值復(fù)制一份傳給形參。方法內(nèi)通過形參去操作對象能夠改變對象的屬性因為形參和實(shí)參指向的是同一個堆內(nèi)存對象。public static void change(int num, int[] arr) { num 100; // 這個修改不影響外面 arr[0] 100; // 這個修改會影響外面的數(shù)組 }這段代碼里num是基本類型的副本改了就改了arr雖然傳的是副本但副本指向的地址和外面數(shù)組是同一個所以通過副本修改數(shù)組內(nèi)容外面能看到。這個概念是理解Java數(shù)據(jù)處理的核心也是“java怎么保證數(shù)據(jù)一致性”這類進(jìn)階問題的底層基礎(chǔ)。Day2不把這個想明白后面學(xué)集合、學(xué)事務(wù)、學(xué)并發(fā)每一步都會帶著隱患。2.4 Day2學(xué)不學(xué)遞歸我的建議是只做了解遞歸是方法調(diào)用自身的一種編程技巧比如計算n的階乘、遍歷樹形結(jié)構(gòu)。不少教程Day2就講遞歸但我個人的看法是第二天不要花太多時間在遞歸上能看懂入門案例就行。原因是遞歸非??简灣橄笏季S和調(diào)用棧的理解初學(xué)者很容易陷入“自己調(diào)用自己”的死循環(huán)出不來。與其在Day2消耗大量精力去畫遞歸調(diào)用圖不如先把線性結(jié)構(gòu)的方法調(diào)用弄清楚。等后面學(xué)完二叉樹、文件目錄遍歷等實(shí)際場景再回頭深入遞歸效果會好得多。實(shí)操建議寫一個用方法實(shí)現(xiàn)“成績等級判斷”的小程序輸入分?jǐn)?shù)輸出A/B/C/D/E等級。這個練習(xí)能把方法定義、if分支、返回值三條線串起來十分鐘寫完收益比啃三小時理論高。3. 數(shù)組與基礎(chǔ)算法內(nèi)存分布要先于語法掌握數(shù)組是Java中存儲同類型多個數(shù)據(jù)最基本的容器。Day2學(xué)數(shù)組重點(diǎn)不是聲明語法那個五分鐘就記住了而是理解它的內(nèi)存分配機(jī)制和操作邊界。熱搜詞“java容器”實(shí)際上包含了數(shù)組和集合兩大類數(shù)組是容器的起點(diǎn)集合ArrayList、HashMap等是后續(xù)的進(jìn)階內(nèi)容。Day2只要把數(shù)組吃透后面學(xué)集合就是降維打擊。3.1 數(shù)組的聲明、初始化和內(nèi)存分配數(shù)組有兩種聲明方式int[] arr;和int arr[];。這里必須養(yǎng)成習(xí)慣一律使用int[] arr這種寫法因為類型和變量名分得清楚更符合“這是一個int數(shù)組類型”的語義。int arr[]是C語言遺留下來的風(fēng)格Java里雖然兼容但可讀性差。數(shù)組的創(chuàng)建分兩步聲明在棧內(nèi)存定義引用變量和new分配在堆內(nèi)存開辟空間。以int[] arr new int[5];為例JVM會在堆內(nèi)存劃分一塊連續(xù)的空間分為5個int大小的格子每個格子默認(rèn)值為0。arr變量本身只是棧內(nèi)存中的一個引用存放的是堆內(nèi)存這塊空間的地址。數(shù)組一旦創(chuàng)建長度不可變。這個限制是新手踩坑的重災(zāi)區(qū)很多人想在數(shù)組里加一個元素發(fā)現(xiàn)越界然后開始懷疑人生。數(shù)組的長度固定特性決定了它適合“數(shù)量確定”的場景而動態(tài)增刪的場景應(yīng)該交給ArrayList。Day2灌入這個認(rèn)知后面學(xué)集合時自然理解為什么要有集合框架。3.2 數(shù)組的三種初始化方式數(shù)組初始化有三種寫法每種都有各自的適用場景int[] arr1 new int[5]; // 動態(tài)初始化先給長度后賦值 int[] arr2 new int[]{1, 2, 3, 4, 5}; // 靜態(tài)初始化完整寫法 int[] arr3 {1, 2, 3, 4, 5}; // 靜態(tài)初始化簡寫只能在聲明時用第一種適合先占位置后填充數(shù)據(jù)的場景比如從鍵盤讀取用戶輸入后存入數(shù)組第二種和第三種適合數(shù)據(jù)內(nèi)容已知的場景。這里有個細(xì)節(jié)new int[]{1,2,3}可以單獨(dú)作為匿名數(shù)組在方法調(diào)用中傳參但{1,2,3}簡寫不行它只能出現(xiàn)在聲明語句里。這個坑在寫代碼時經(jīng)常遇到記一下能少踩一次錯。數(shù)組遍歷是最基礎(chǔ)的操作兩種方式都要熟for (int i 0; i arr.length; i) { System.out.println(arr[i]); } for (int num : arr) { System.out.println(num); }第一種是普通for循環(huán)能拿到索引適合需要知道元素位置的場景第二種是增強(qiáng)forforeach適合只讀遍歷拿不到索引。很多初學(xué)者一上來就習(xí)慣用增強(qiáng)for等到需要找到“數(shù)組里第幾個元素滿足條件”時就傻眼了——增強(qiáng)for里沒有計數(shù)器位置信息。我的建議是剛開始寫數(shù)組遍歷老老實(shí)實(shí)用普通for循環(huán)把索引邏輯練熟增強(qiáng)for可以作為后邊的語法糖補(bǔ)充。注意訪問數(shù)組時索引從0開始最大有效索引是length-1。訪問arr[length]會拋出ArrayIndexOutOfBoundsException數(shù)組越界異常。這道題在“java基礎(chǔ)題目的網(wǎng)站”上出現(xiàn)的頻率極高屬于基礎(chǔ)中的基礎(chǔ)。3.3 手寫冒泡排序第一道必會的算法題熱搜詞里“冒泡排序java”高頻率出現(xiàn)不是沒有原因的——它是絕大多數(shù)Java初學(xué)者接觸的第一個算法也是面試時手寫算法題的入門門檻。Day2就把冒泡排序搞定后面學(xué)選擇排序、插入排序、二分查找會順暢很多。冒泡排序的核心思想重復(fù)地走訪要排序的元素列依次比較兩個相鄰元素如果順序錯誤就交換。每一輪下來最大的元素會像氣泡一樣“浮”到末尾。public static void bubbleSort(int[] arr) { int temp 0; for (int i 0; i arr.length - 1; i) { for (int j 0; j arr.length - 1 - i; j) { if (arr[j] arr[j 1]) { temp arr[j]; arr[j] arr[j 1]; arr[j 1] temp; } } } }這段代碼里外層循環(huán)控制總共需要比較多少輪n-1輪內(nèi)層循環(huán)控制每輪比較多少次n-1-i次因為每輪結(jié)束都有一個最大值被固定到末尾下一輪不需要再和它比較。兩個關(guān)鍵點(diǎn)為什么內(nèi)層條件是arr[j] arr[j 1]這是升序排列。如果改成就是降序。為什么每次比較都要考慮兩個相鄰元素的交換因為比較和交換是冒泡排序的基本動作。冒泡排序的時間復(fù)雜度是O(n2)空間復(fù)雜度是O(1)。在最壞情況數(shù)組完全逆序下每一輪都要執(zhí)行最多n-1次比較總共約n2/2次。在最好情況數(shù)組已經(jīng)有序下用優(yōu)化版加一個flag可以在第一輪結(jié)束時提前退出時間復(fù)雜度降為O(n)。優(yōu)化版的冒泡排序是面試加分項Day2能寫出來就很不錯了。手動跑一遍例子數(shù)組[5, 1, 4, 2, 8]第一輪結(jié)束后變成[1, 4, 2, 5, 8]最大元素8被交換到最后第二輪結(jié)束后變成[1, 2, 4, 5, 8]第三輪比較[1,2,4]已經(jīng)有序但程序還會跑完所有輪次不加flag的話。這就是為什么推薦加優(yōu)化flag的原因。3.4 數(shù)組的復(fù)制、排序API和main方法參數(shù)除了自己寫算法Java標(biāo)準(zhǔn)庫也提供了現(xiàn)成的數(shù)組工具類java.util.Arrays比如Arrays.sort(arr)對數(shù)組進(jìn)行升序排序底層是雙軸快速排序效率高于手寫冒泡、Arrays.toString(arr)輸出數(shù)組內(nèi)容、Arrays.copyOf(arr, len)復(fù)制數(shù)組。Day2可以用API做輔助但建議還是先把底層邏輯手寫一遍因為面試問“排序算法”往往是讓手寫而不是讓你答API名。main方法簽名public static void main(String[] args)其中的String[] args就是用來接收命令行參數(shù)的數(shù)組。很多初學(xué)者只把這個簽名當(dāng)作固定模板背下來其實(shí)它的作用可以在控制臺運(yùn)行時傳入?yún)?shù)java MyClass arg1 arg2 version在類中使用args[0]、args[1]即可取值。這個知識點(diǎn)在開發(fā)中不常用現(xiàn)代應(yīng)用大多用框架或配置中心但它是理解“程序和外部環(huán)境如何交互”的第一課Day2知道即可不用深入研究。4. 面向?qū)ο蟀焉钸壿嬘成涑纱a面向?qū)ο缶幊蘋OP是Java的核心也是“java基礎(chǔ)面試題”和“面向?qū)ο缶幊蘪ava”兩個熱門搜索詞背后的根本原因。Day2進(jìn)入面向?qū)ο蟛皇且竽懔⒖虒懗銎恋脑O(shè)計模式而是要把“類、對象、封裝、構(gòu)造器”這四個最基礎(chǔ)的概念刻進(jìn)腦子里。4.1 類與對象圖紙和實(shí)物的區(qū)別類的本質(zhì)是一張圖紙描述一類事物的屬性和行為。對象的本質(zhì)是根據(jù)圖紙創(chuàng)建的具體實(shí)例。用學(xué)生舉例Student類描述學(xué)生應(yīng)該有學(xué)號、姓名、成績這些屬性以及學(xué)習(xí)、考試這些方法而new Student(張三, 1001, 88)則創(chuàng)建了一個具體的張三對象。public class Student { String name; int id; int score; public void study() { System.out.println(name 正在學(xué)習(xí)); } }這里有個細(xì)節(jié)需要注意類中定義的屬性如果不加訪問修飾符默認(rèn)是包私有package-private同一包內(nèi)的類可以訪問。Day2階段先了解這個概念真正規(guī)范的做法是在屬性上加private通過公共方法暴露訪問入口——這就是封裝。創(chuàng)建對象的語法是new Student()執(zhí)行過程分兩步在堆內(nèi)存中開辟對象空間然后調(diào)用構(gòu)造器完成初始化。對象變量持有的并不是對象本身而是指向堆內(nèi)存空間的引用地址值。兩個對象變量指向同一個地址時通過任何一個變量修改對象屬性另一個變量讀取到的都是修改后的值。4.2 構(gòu)造器初始化對象的關(guān)鍵入口構(gòu)造器是創(chuàng)建對象時調(diào)用的特殊方法方法名必須與類名完全一致沒有返回值類型。它的作用是在對象創(chuàng)建時執(zhí)行必要的初始化邏輯比如給屬性賦初值。public class Student { private String name; // 無參構(gòu)造器 public Student() { name 未知; } // 帶參構(gòu)造器 public Student(String name) { this.name name; } }如果一個類沒有顯式定義任何構(gòu)造器編譯器會自動添加一個無參構(gòu)造器。只要你手動定義了任何一個構(gòu)造器無論有參無參默認(rèn)的無參構(gòu)造器就不會自動生成了。這個坑在以后寫代碼時經(jīng)常遇到你定義了一個帶參構(gòu)造器然后在別處用new ClassName()創(chuàng)建對象結(jié)果編譯報錯——因為沒有無參構(gòu)造器。這個細(xì)節(jié)要記住。4.3 封裝為什么要用private修飾屬性封裝是指將對象的屬性和實(shí)現(xiàn)細(xì)節(jié)隱藏起來對外只暴露必要的公共方法。簡單說外部不能直接操作對象的內(nèi)部數(shù)據(jù)必須通過方法進(jìn)行讀寫。這樣做的好處是可以在讀寫方法中加入校驗邏輯。public class Student { private int score; public int getScore() { return score; } public void setScore(int score) { if (score 0 || score 100) { System.out.println(成績必須在0到100之間); return; } this.score score; } }如果沒有封裝student.score 9999;這條語句就能直接把成績改成一個不合理值。有了setScore方法做范圍校驗就能攔住這種非法操作。現(xiàn)實(shí)中成績、工資、年齡等數(shù)據(jù)都有業(yè)務(wù)規(guī)則封裝就是把這些規(guī)則固化到代碼里的手段。這就是為什么java基礎(chǔ)面試題里總有“什么是封裝封裝有什么好處”的原因。4.4 this關(guān)鍵字和對象數(shù)組入門最常見的兩個卡點(diǎn)this在Java中代表當(dāng)前對象。在構(gòu)造器和方法中使用this.name name可以解決成員變量和參數(shù)重名的問題。這個邏輯在Day2不難理解但很多新手寫代碼時容易漏寫this導(dǎo)致賦值失敗。漏寫的結(jié)果很隱蔽參數(shù)name把自己賦給自己成員變量name還是默認(rèn)值null。排查半天才能發(fā)現(xiàn)。對象數(shù)組是數(shù)組和面向?qū)ο蟮慕Y(jié)合數(shù)組元素不是一個基本類型數(shù)值而是一個對象引用。創(chuàng)建對象數(shù)組時出問題的概率非常高Student[] students new Student[3]; students[0] new Student(張三, 1, 88);很多新手寫Student[] students new Student[3];之后立刻去訪問students[0].name結(jié)果拋NullPointerException。原因在于這句話只是創(chuàng)建了數(shù)組容器三個格子都是空的null必須逐個new出對象填進(jìn)去才能訪問屬性。這個陷阱幾乎每個人都會踩一次Day2踩了并搞清楚原理后面就再也不怕了。注意對象數(shù)組的元素初始值是null訪問null的任何屬性都會報空指針異常。先new對象賦值再訪問屬性這是正確處理順序。4.5 再談構(gòu)造器中的訪問權(quán)限和默認(rèn)值問題創(chuàng)建對象的時候JVM會先給所有成員變量分配默認(rèn)值——基本類型int默認(rèn)0、boolean默認(rèn)false引用類型默認(rèn)null。構(gòu)造器的作用是在這個基礎(chǔ)上做自定義初始化。很多時候你不需要把所有屬性都在構(gòu)造器里賦完可以留到setter方法里設(shè)置。但要注意已經(jīng)初始化過的引用類型屬性如果后續(xù)通過setter修改為null代碼會留下空指針隱患這個需要在寫業(yè)務(wù)邏輯時做好非空校驗。5. String與StringBuilder兩個高頻API練熟字符串問題不再發(fā)怵到了Day2你已經(jīng)能用方法、數(shù)組和類做不少事字符串處理是繞不開的。不管是寫日志、發(fā)HTTP請求還是做數(shù)據(jù)處理字符串都是最常見的操作對象。熱搜詞“java stringbuilder”的出現(xiàn)說明大家都在這個知識點(diǎn)上產(chǎn)生過困惑今天把String和StringBuilder一起理清楚。5.1 String的不可變性為什么s x很低效String對象一旦創(chuàng)建內(nèi)容就不會改變。String s hello; s s world;這段代碼并沒有修改原來的字符串對象而是創(chuàng)建了一個新的字符串對象“hello world”并把s的引用指向新對象。原來的“hello”對象仍然存在只是失去了引用等待被垃圾回收。這個設(shè)計是出于安全性和性能的考慮——字符串在很多場景下被當(dāng)作常量使用比如哈希表的key如果它可變哈希值就會變化數(shù)據(jù)就找不到位置了。但不可變性帶來的問題就是頻繁拼接字符串會不斷創(chuàng)建新對象消耗內(nèi)存和時間。在循環(huán)里拼接幾千次字符串性能就會明顯下降因為每次都創(chuàng)建新對象并拷貝字符數(shù)組。5.2 String常用方法這些是實(shí)際開發(fā)中使用率最高的String類的API幾十個Day2只需要掌握最高頻的一組length()返回字符串長度charAt(int index)獲取指定位置的字符substring(int beginIndex, int endIndex)截取子串indexOf(String str)查找子串第一次出現(xiàn)的位置找不到返回-1equals(String other)比較內(nèi)容是否相等split(String regex)按分隔符拆分成數(shù)組contains(CharSequence s)判斷是否包含子串replace(char oldChar, char newChar)替換字符特別注意字符串比較不能用因為比較的是引用地址不是內(nèi)容。abc abc有時候返回true常量池中的同一個對象但new String(abc).equals(abc)一定返回true。day2記牢“字符串比較一律用equals”后面就不會被坑??沾蚽ull的區(qū)別也要清楚是長度為0的字符串對象null表示引用為空。5.3 StringBuilder和StringBuffer拼接字符串的正確姿勢當(dāng)需要頻繁拼接字符串時應(yīng)該使用StringBuilder。它是一個可變的字符序列內(nèi)部維護(hù)一個字符數(shù)組拼接操作直接修改這個數(shù)組避免了反復(fù)創(chuàng)建新對象。StringBuilder sb new StringBuilder(); for (int i 0; i 10000; i) { sb.append(i); } String result sb.toString();StringBuilder的常用方法包括append()在末尾追加內(nèi)容insert(int offset, String str)在指定位置插入replace(int start, int end, String str)用新內(nèi)容替換指定范圍reverse()反轉(zhuǎn)字符串toString()轉(zhuǎn)換為不可變的String還有StringBuffer它和StringBuilder用法幾乎相同但StringBuffer的關(guān)鍵方法加了synchronized關(guān)鍵字是線程安全的。因此單線程環(huán)境下用StringBuilder速度更快多線程共享同一個字符串構(gòu)建器時才需要考慮StringBuffer。初學(xué)者Day2用StringBuilder就夠了但面試題可能會拿“StringBuilder和StringBuffer的區(qū)別”來考能說出“前者非線程安全但效率高后者線程安全但略慢”這個關(guān)鍵點(diǎn)就算合格。小技巧String str a b c;編譯器在編譯期會直接優(yōu)化為String str abc;并不會多次創(chuàng)建對象。但如果是循環(huán)內(nèi)動態(tài)拼接編譯器無法優(yōu)化此時必須用StringBuilder。5.4 字符串常量池理解new String(abc)和abc的區(qū)別Java為了節(jié)省內(nèi)存在方法區(qū)Java 7之后移到堆中設(shè)置了一個字符串常量池。直接用雙引號創(chuàng)建字符串時JVM會先在常量池中查找是否已存在內(nèi)容相同的字符串如果不存在則創(chuàng)建并放入常量池如果存在則直接復(fù)用池中的引用。所以String a abc; String b abc;中a和b指向同一個對象。而new String(abc)則不同它先在常量池中確保存在“abc”如果沒有則創(chuàng)建然后在堆內(nèi)存中創(chuàng)建一個新的字符串對象所以new String(abc) abc結(jié)果是false。要比較內(nèi)容還是用equals。這個知識點(diǎn)在“java面試八股文”中反復(fù)出現(xiàn)Day2只要記住結(jié)論、理解對象引用區(qū)別到后面學(xué)完JVM再看會更有收獲。6. Day2實(shí)戰(zhàn)把方法、數(shù)組和面向?qū)ο蟠饋韺懸粋€學(xué)生成績管理小工具理論說再多不落地就是零。第二天最值得做的練習(xí)就是寫一個結(jié)合方法、數(shù)組和面向?qū)ο蟮耐暾〕绦?。建議上午學(xué)完概念后下午花兩三個小時完成下面這個任務(wù)。這個任務(wù)的綜合設(shè)計能幫你在Day2把所有知識點(diǎn)融會貫通。6.1 案例需求設(shè)計設(shè)計一個“學(xué)生成績管理工具”控制臺程序功能要求定義一個Student類屬性包括姓名和成績私有化并生成getter/setter。在main方法或工具類中定義一個方法通過鍵盤輸入創(chuàng)建學(xué)生對象。定義一個方法接收Student數(shù)組作為參數(shù)打印所有學(xué)生信息。定義一個方法接收Student數(shù)組返回成績最高的學(xué)生對象。定義一個方法按成績從高到低對Student數(shù)組進(jìn)行冒泡排序。main方法中實(shí)現(xiàn)整體流程創(chuàng)建多個學(xué)生打印信息查找最高分排序后再打印。第一步定義Student類public class Student { private String name; private int score; public Student() { } public Student(String name, int score) { this.name name; this.score score; } public String getName() { return name; } public void setName(String name) { this.name name; } public int getScore() { return score; } public void setScore(int score) { this.score score; } Override public String toString() { return Student{name name , score score }; } }這里有兩個細(xì)節(jié)無參構(gòu)造器必須顯式寫出否則后面在main方法里直接用無參構(gòu)造器創(chuàng)建對象會編譯失敗toString()方法重寫后打印對象時輸出的才是內(nèi)容而不是引用地址不重寫的話輸出類似Student2f0e140b的亂碼。第二步寫業(yè)務(wù)邏輯類import java.util.Scanner; public class StudentManager { public static void main(String[] args) { Student[] students new Student[3]; Scanner scanner new Scanner(System.in); for (int i 0; i students.length; i) { System.out.print(請輸入第 (i 1) 個學(xué)生的姓名); String name scanner.nextLine(); System.out.print(請輸入第 (i 1) 個學(xué)生的成績); int score Integer.parseInt(scanner.nextLine()); students[i] new Student(name, score); } System.out.println(所有學(xué)生信息); printStudents(students); Student topStudent findTopStudent(students); System.out.println(最高分學(xué)生 topStudent.getName() 成績 topStudent.getScore()); System.out.println(按成績排序后); sortStudentsByScore(students); printStudents(students); scanner.close(); } }第三步補(bǔ)充工具方法。這些方法可以放在同一個類中也可以單獨(dú)寫一個StudentUtil工具類。Day2建議直接都放在StudentManager類中等學(xué)到static與非static的區(qū)別后再拆分。public static void printStudents(Student[] students) { if (students null || students.length 0) { System.out.println(學(xué)生列表為空); return; } for (Student stu : students) { System.out.println(stu); } } public static Student findTopStudent(Student[] students) { if (students null || students.length 0) { return null; } Student top students[0]; for (int i 1; i students.length; i) { if (students[i].getScore() top.getScore()) { top students[i]; } } return top; } public static void sortStudentsByScore(Student[] students) { for (int i 0; i students.length - 1; i) { for (int j 0; j students.length - 1 - i; j) { if (students[j].getScore() students[j 1].getScore()) { Student temp students[j]; students[j] students[j 1]; students[j 1] temp; } } } }注意這個排序是降序students[j].getScore() students[j 1].getScore()時交換把小的往后挪。分?jǐn)?shù)相等時不交換所以冒泡排序是穩(wěn)定的排序算法相等元素不會交換位置順序保持原狀。整個程序跑完你會發(fā)現(xiàn)自己已經(jīng)完成了Day2的四大目標(biāo)掌握方法定義和重載、熟練數(shù)組創(chuàng)建和遍歷、理解類與對象、會用String類處理輸入輸出。這個小工具是后面學(xué)習(xí)繼承、接口、集合、異常處理的最佳演練場地——后續(xù)完全可以給Student增加更多字段、把數(shù)組換成ArrayList、把控制臺輸入換成文件讀取一步一步升級。6.2 環(huán)境配置和編譯常見問題Day2最容易卡殼的幾個點(diǎn)學(xué)習(xí)Day2期間環(huán)境問題是攔路虎。很多問題看起來是代碼錯誤實(shí)際上是JDK配置問題。搜到最多的“java環(huán)境變量配置”相關(guān)搜索詞背后往往就是JAVA_HOME、PATH、CLASSPATH調(diào)不對或者版本不匹配。最常見的報錯信息是java: 警告: 源發(fā)行版 17 需要目標(biāo)發(fā)行版 17這個警告意味著你的代碼是用Java 17的語法級別編譯的但I(xiàn)DE或構(gòu)建工具中的目標(biāo)發(fā)行版配置與之不匹配。解決辦法有兩種在IDEA中打開“File → Project Structure → Project Settings → Project”把SDK和Language Level都設(shè)置成同一個版本或者在pom.xmlMaven項目中配置maven.compiler.source和maven.compiler.target為相同值。類名和文件名不一致會報“類不匹配”錯誤數(shù)組越界、空指針、Scanner資源未關(guān)閉也都是Day2高頻問題。這里羅列一下Day2實(shí)戰(zhàn)中最常見的幾個報錯及排查方向報錯信息原因排查方向ClassNotFoundException編譯后類文件丟失或包結(jié)構(gòu)錯誤檢查classpath是否包含編譯輸出目錄ArrayIndexOutOfBoundsException訪問數(shù)組索引超出0到length-1范圍檢查for循環(huán)起始和結(jié)束條件NullPointerException對象或數(shù)組元素為null就訪問成員打印變量確認(rèn)是否為nullcannot find symbol: Scanner沒有import java.util.Scanner補(bǔ)上import語句incompatible types類型不匹配比如返回值類型寫錯核對方法返回類型與return語句Intellij IDEA 編譯不生效構(gòu)建緩存或SDK版本不對清理緩存或重新配置Project SDK提示遇到編譯錯誤不要慌不要盯著代碼發(fā)呆。先看報錯信息和行號定位到具體那一行再依據(jù)上面的表格對照排查。自己排查出來的錯誤印象遠(yuǎn)比問別人深刻。6.3 Day2學(xué)完后該達(dá)到什么水平學(xué)完Day2你應(yīng)該能獨(dú)立完成這些事情正確寫出帶參數(shù)、帶返回值、帶重載的方法并講清楚方法的執(zhí)行流程創(chuàng)建數(shù)組并遍歷理解數(shù)組的內(nèi)存分布和長度固定特性手寫冒泡排序含優(yōu)化版并能說出每一輪交換的邏輯定義類、創(chuàng)建對象、使用構(gòu)造器、理解this、掌握封裝的基本寫法熟練使用String的常用方法和StringBuilder完成字符串拼接獨(dú)立完成“學(xué)生成績管理工具”這個小項目如果上面這些還達(dá)不到不需要焦慮再花一天時間鞏固就好。學(xué)習(xí)方法上沒有捷徑最好的路徑就是動手寫一個案例寫三遍也比看三遍教程有用。寫的過程里遇到報錯記下來等整個流程跑通了回顧那些報錯會特別有價值——它們就是你真正的學(xué)習(xí)收獲。6.4 擴(kuò)展思考Day2之后怎么往深處走Day2把這些基礎(chǔ)內(nèi)容敲扎實(shí)之后Day3就可以自然過渡到學(xué)習(xí)繼承extends、多態(tài)dynamic binding、抽象類和接口——這些是“面向?qū)ο缶幊蘪ava”的核心進(jìn)階題。到那時你會發(fā)現(xiàn)Day2學(xué)的方法重載、this用法、構(gòu)造器設(shè)計全部都是理解繼承和多態(tài)的墊腳石。建議接下來按這樣的節(jié)奏推進(jìn)Day3繼承、訪問修飾符、方法重寫、super關(guān)鍵字Day4抽象類與接口、多態(tài)應(yīng)用Day5異常處理、包裝類這個節(jié)奏不激進(jìn)也不拖沓正好能把面向?qū)ο蟮氖S嗖糠秩扛采w。另外Day2的實(shí)戰(zhàn)案例本身就是絕佳的擴(kuò)展素材Student類加字段模擬更復(fù)雜的業(yè)務(wù)、打印數(shù)組改用foreach、冒泡排序改造成工具類、把輸入輸出往里優(yōu)化這些都能作為Day3練習(xí)的前置。保持“邊學(xué)邊寫小工具”的節(jié)奏一個月后你完全可以看懂“java課程設(shè)計案例源碼”這類資源再往后能自己動手做課程設(shè)計了。從Day2開始每次學(xué)完一個知識點(diǎn)就問自己三個問題這個知識點(diǎn)解決了什么問題不用它的話會出現(xiàn)什么后果這個知識點(diǎn)和學(xué)過的哪些內(nèi)容有聯(lián)系這三個問題想清楚你的Java基礎(chǔ)就打牢了。后續(xù)不管學(xué)框架、刷面試題還是看源碼都能走得更穩(wěn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
狠狠色成人影片| 综合婷婷五月丁香在线观看| WWW.久久99| www.yw色| 色噜综| 激情综合网五月婷婷| 九九综舍久久| 日本韩国视频在线观看社区免费的9| 激情亚洲网| 亚洲一级色电影| 六月婷婷综合| 在线观看中文字幕亚洲| 丁香五月六月激情| 色欲久久久久久综合网综合网| 久久九色| 婷婷五月综合在线视频| 九九这里只有精品在线视频| 青青久久大香蕉| 色播播五月天| AV在线大香蕉| 这里只有精品视频免费在线观看| 丁香五月婷婷亚洲另类| 99re99热| 99久久99九九九99九他书对| 色婷婷五月天偷拍| www色五月| 色婷五月天亚洲| 婷婷五月天亚洲综合| 久久小说| 天天精品视频免费观看| 91精品婷婷国产综合久久| 天天干天天干天天干天天干天天干天天 | 婷婷六月丁香欧美视频在线| 欧洲高清免费久久| 亚洲综合新99视频| 久久超视频| 婷婷丁香18| 五月婷婷五月色| 五月婷婷激情69| 六月丁香综合| 大香蕉婷婷色| 色婷婷综合网站| 中文字幕黄色电影网址| 五月丁香成年黄色| av在线中文| 超碰京东热av男人的天堂| 婷婷激情四射| 日韩另类| 色狠狠色噜噜AV天堂五区| 九九99九九99偷拍视频免费看| 性生活视频98791| 天天操天天爽天天爱| 久久久激情视频| 99久热精品在线| 七月丁香婷婷 色色| 俺去也婷婷| 立川无码av| www.91在线观看| 婷婷玖玖丁香| 天天操婷婷| 夜夜爱伊人| 天天综合网~91| ady狠狠入| 色丁香五月婷婷综合久久| 亚洲免费综合一区| 色玖玖网| 在线中文亚洲| 夜夜爽天天| 久热这里只有精品6官网亚洲| 97精品自拍| 五月丁香久久综合色| 人妖色AV色综合| 色婷婷av综合网| 五月丁香综合久久夜夜| 六月丁香色色| 日本五月婷婷久久久六月丁香| 天天做天天爱| 婷婷五月在线观看| 激情丁香五月| 91日本在线| 99久.| 色色亚洲五月天| 色热久| 亚洲无AV在线中文字幕| 色五月五月天色婷婷色五月| 色婷婷在线视频久| 97五月天婷婷综合激情网| 亚洲AVDVD| 久久五月天色婷婷| 伊人久久五月天| 大香蕉久久久| 六月丁香婷婷网| 夜夜操激情| 色婷久久| 丁香五月影| 激情丁香五月综合| 天天搽天天射| 色五月天丁香婷婷| 午夜天堂一区人妻| 淫视馆aV二区一区| 夜丁香综合| 夜夜撸日日操| 久热A片| 九九人人看| www.99久| 婷婷五月天综合在线 | 日日射天天射| 亚洲天堂爱爱| 99精品综合在线| 99热销国产这里有精品| 26uuu欧美亚洲日韩| 99热网址| 亚洲人成网站999久久久综合| 色天使色婷婷| 26uuu欧美日本| 狠狠综合久久| aV欲望人妻中文字幕| 久久性爱视频| 天天色99| 色噜噜狠狠狠狠色综合久欧美| 五月婷婷综合久久| www.狠狠艹| 99久久婷婷| 色六月 婷婷| 五月激情综合网| 看国产探花操逼三级片| 大香蕉AV在线| 99热精品在线播放| 九九99香蕉在线视频播放| 五月天婷婷基地| 天天色99| 国产va视频| 99精品视频在线观看| 色婷婷瘦婷婷日韩| 五月天婷婷视频| 色色操| 五月天天综合| 天天舔天天摸| 色色色天堂网| 五月天综合色| 秋霞少妇毛片| 五月婷婷av| 熟妇人妻中文字幕无码老熟妇| 99精品国产在热久久婷婷| 婷婷五六日| 激情五月婷婷五月| 天天摸.天天mo| 99久久五月婷婷| 黄急一级视频| 精品成人无码A片观看香草视频| www.丁香五月| 丁香五月综合高清在线| 久热超碰| 久久亚洲天堂| 伊人网碰碰| 五月色亭丁香| 第五色婷婷| 色亭亭影园| 亚洲色情免费网| 婷婷综合色色| 熟女色专区| 婷婷婷婷婷婷婷婷| 任你擦免费视频| 久热这里| 欧美六月| 日本欧美成人片AAAA| 丁香六月天婷婷在线| 五月婷婷丁香在线| 日本在线视频手机播放五月婷| 夜夜干 夜夜操| 国产成人av在线播放| 中文字幕AV网址| 色情婷婷。| AV操逼网| 天天操天天操| 99小视频在线观看| 日韩另类| 丁香五月婷婷亚洲综合精品在线| av一级棒av| 女人天堂av| 中字幕视频在线永久在线观看免费| 狠狠色噜噜狠狠色噜噜噜999| 4399成人黄A片| 99er这里只有精品| 久久综合最新网址| 97色女人在线| 久热这里有精品视频| 五月开心网| 另类小说五月天综合| 99热99热| 人人操操| 粉嫩AV久久一区二区三区| 99久久黄色顶级视频| 99热这里有精品| 婷婷色播综合五月| 亚洲狠狠婷婷| 性做久久久久久久免费看| www,婷婷五月天777me,com| 久久人妻熟女一区二区| xx人人xx| 五月丁香在线婷婷蜜桃| 九九色欲网| 五月婷婷综合激情| 夜丁香五月婷婷| 黄色一极大片| 天久综合91综合首页| 怡红院一二三| 激情五月婷婷欧美极品| 精品网站:999WWW| 久久丁香五月天| 天天综合图片| 99久久婷| 九热视频免费观看| 超碰在线国产| 99热只有| 天天日日爽| 婷婷九九色| 色婷久九| 狠狠操天天日| 91色吧网| www.综合久久.com| 亚洲狠狠终合停停终合| 五月天综合网| 五月天操逼网| 丁香五月婷老师| 五月丁香久久精品在线观看| 人人性久久| 精品久久久91久久影视网| 天天插天天插天天插天天插| 日日干日日s| 激情av在线| 天天日天天插| 色色色色色色色色综合网| 五月天中文字幕在线婷婷| 操逼三区| 91在线日本| 欧美日本日韩| 99精品视频在线观看| 狠狠做深爱婷婷久久综合一区| 狠狠色丁香久久久婷| 色色综合五月| 99久久综合狠狠综合久久| 五月天婷亚洲综合在线嫩草网| 天天肏在线视频| 天天日天天舔| 亚洲精品午夜国产va久久成人| 色激情五月| 亚洲99激情| 丁香婷婷五月六月久久| 国产熟女大叫受不了| 日本色色视频| 丁香久久激情俄| 精品国产AV色一区二区深夜久久| 九九99久久| 综合99综合久久久久久久| 国产色五月| 五月色无码| 99er6免费视频热播| 无码一级片| 在线综合亚洲欧美65| 丁香婷婷综合激情五月色| 五月婷婷激情综合| 亚洲激情在线| 五月天激情视频| 97久久人人操| 亚洲操B| 手机旧版看人妻1025| 色色射| 牛牛碰免费| 91热久| Av狠狠色丁香婷| 人妻内射一区二区在线视频| 青青草伊人婷婷| www.狠狠操| 婷婷精品视频| 激情性爱五月天网页| 天堂无码人妻精品AV一区| 亚洲综合成人网| 这里只有精品久久| 香蕉久久av一区二区三区| 激情五月综合| 久久99网| 亚洲av免费在线| 亚洲久热| 台湾佬天天日丁香婷婷五月天| 亚洲 在线 性爱 | www.操.com| 深爱五月亚洲| 天天干天天爽| 激情五月婷| 涩涩网五月天| 噜噜精品| 九九热这里| 五月天伊人| 欧美人与性动交CCOO| 国产熟妇乱子伦hd| www.99久久久久99| 淫视馆aV二区一区| 99性爱无码| 日韩在线婷婷五月天综合| 九九色热| 99色视频| 性爱激情小说AV五月丁香花| 激情的五月婷婷蜜桃| 青草久久五月婷伊人| 人妻操在线看| 五月婷婷av| 久99视频| 九九热在线99| 第四色婷婷最爱| 五月丁香六月婷婷久久| 五月婷婷开心网| 九八Av| 激情骚五月| 欧美日综合| 天天摸天天舔在线视频| 99综合久久| 色狠狠狠干| 五月婷导航| 婷婷色五月激情强奸四射| 婷婷欧美| BBWCUCKOLD精品熟妇 | 婷婷网五月| 伊人玖玖网| 天天做天天爱天天爽| 69天堂99| 99热国内| 综合久久综合| 色色五月天com| 天天玩夜夜操天天爽| 亚洲成人乱码av网站| 97干在线播放| 丁香激情综合| www.五月天婷婷.com| 丁香五月六月婷婷殴美综合| 中文字幕丰满孑伦无码专区| 日韩成人网址| 97碰| 大香蕉狠狠爱主页| 五月丁香在线视频观看| 六月综合婷婷开心伊人| 玖玖在线视频| www.激情五月天。com| 九色色| 九九黄色网| 婷婷六月久久| 91久久婷婷人人澡草| 丁香在线视频| 超碰91av| 九九精品自拍| 婷婷五月丁香香蕉| 激情五月婷婷丁香综合网| 操一操干一干| Av九九| 色吧五月婷婷| 另类亚洲电影| 曰日爽日日操| 亚洲超碰中文字幕| 色欲天天综合| 丁香八月综合激情| 亚美欧色影院| 色婷婷人人| 午夜丁香六月婷| 狠狠狠狠免费| 综合婷婷| 五月花成人网| 亚洲狠狠爱婷婷| 色之综合网| 婷婷激情六月| 免费的日逼视频| 亚洲国产99| 超碰碰碰碰| 亚洲愉拍99热成人精品| 色热久资源| 久久亚洲激情五码| 色婷婷91激情小说| 牛色色碰| 五月天综合图片| 最近中文字幕在线中文视频| 天天做天天爱天天日| 久久五月激情综合| 丁香婷婷六月天| 97人人操| 欧美婷婷六月丁香综合色连续高潮抽搐| 五月天开心激情综合网| 日韩美一级毛卡片| 9九色首页| 在线资源av-超碰中文在线-成人AV | 久久九九热38| 五月丁香啪啪| 婷婷综合另类小说| 在线看片h站| 激情五月天网页| 少妇搡BBBB搡BBB搡毛茸茸| 久一这里有精品国产| A片试看120分钟做受图片| 天天操九九插| 99热丁香五月| 91超碰人人操| 丁香五月综合在线视频| 久久九九中文字幕| 成人av免费观看| 久久这里只有精品16| 久久丁香综合香蕉| 97精品自拍| 色婷婷成人丁香| 无码少妇高潮喷水A片免费| 亚洲综合欧美色丁香婷婷888月图片| 79精品视频在线观看,| 欧美精品A片一区在线观看| 激情五月丁香五月| 操丝袜视频影院导航| 1769在线观看欧美国产| 丁香五月色| 五月丁香在线国产 | 69色色视频| 亚洲成人av在线观看| 天天谢天天操| 99热精品在线| 欧美六月婷婷| 天天天天天天操| 婷婷丁香五月精品| enecarbon-materials.com污K127封锁请涟系@wip1688 | 韩国真做片在线观看| α久久| 夜夜夜夜夜操| 五月激情综合深爱| 女人露出p毛视频www网站| 五月丁香综缴情性爱| 色99网| 思思久日精品视频| 亚洲婷婷丁香五月在线| 亚洲成人另类| 67194线路二在线观看| 99热这里都是精品| 五月天色影院| 五月天婷婷久久日| 婷婷香五月天| 丁香情色五月| 日韩中出视频| 亚洲一级色电影| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 色婷婷久久综合久色综| 九九aV| 婷婷99狠狠躁天天躁中| 丁香色影院| 亚洲中文字幕在线观看| 夜夜爱网站| 五月天婷婷社区| www,婷婷五月天777me,com| 亚州操操| 日韩在线视频中文字幕| 色播五月综合网| 无语停婷丁香网| 国产乱妇乱子在线播视频播放网站| 色欲五月婷婷| 人人摸人人澡人人| 激情综合网五月婷婷| 五月丁香狠狠地噜噜噜噜| 五月色综合网欧美网| 婷婷久久免费| 亚洲有码在线视频| 97超碰在线免费观看| 清色五月天| 99er国产| 人人舔人人色人人高潮| 国产婷婷五月中文字幕高清| 他改变了拜占庭| 色婷婷久久综合| 91|九色|动漫| 99在线精品观看99| 丁香五月婷婷狠狠色| 青青草原中文字幕| 美女五月激情| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 岛囯综合激情网| 久久精品99国产精品日本| 被强行糟蹋的女人A片| 五月婷婷色| 亚洲成人综合在线| 国产婷婷色综合AV蜜臀AV | 五月丁香啪啪综合| 99热这里只有精品中文字幕| 97人人干| 婷婷伊人综合| 婷婷久久内射| 思思99热这里只有精品| 99惹| 婷婷综合在线观看视频| 婷婷五月天社区| 久青操| 久久婷婷色| 69精品人人人人| 偷拍九九热| 丁香五月伊人| 婷婷激情图片| 91久热| 五月色网| 丁香色影院| www.久久爱.com| 天天色情站| 狠狠色无码| 五月丁香综合激情| 五月天综合视频| 丁香五月婷婷社区| 久热丁香| 婷婷欧美激情综合| 天天日天天操天天干| 狠狠干综合网| 人人爽天天爽| 亚洲天堂碰碰婷婷| 六月99天天婷婷激情综合| 99色看| 欧美婷婷综合| 五月天色小说| 五月色婷婷中文字幕| 激情爱爱网站超大免费| WWW五月天| 五月深爱激情网| 色五月婷婷在线| 日韩人妻白浆视频系列| 99久久久免费| 天天综合天综合| 欧美激情五月天| 9l久久久视频| 日本噜噜色网| 婷婷激情社区| 啪色综合| 天天热夜夜操| 99综合久久| 人人综合色| 青青草免费公开视频| 大天天伊人| 在线,国产,色,热视频| 五月天婷婷色色网| 婷婷综合国产| 丁香六月成人网| 久久超级碰碰| 91婷婷五月丁香碰| 天天干天天 亚洲| 激情五月天伊人av| 国产午夜成人免费看片无遮挡| 啪啪六月婷婷| 久久五月天综合| 亚洲日韩一页精品发布| 九九蜜臀精品| 六月婷婷色综合| www.婷婷.com| 天天日夜夜拍| 亚洲综合碰| 色五月av伊人| 欧美成人精品A片免费一区99| 另类激情五月| 丁香五月婷婷AV| 99视频极品在线香蕉| 天天激情视频| 疯狂做受XXXX高潮A片动画| 色综合久久99色| 五月天成人免费视频| 丰滿爆乳一区二区三区| 99精品久久久久久久婷婷久久 | 视频1区2区| 国产99久9在线| 99热久久这里只有精品2010| 五月天激情小说| AV成人在线播放| 色狠狠婷婷| 五月天婷婷色情| 五月丁香六月婷婷综合| 久久婷婷五| 亚洲久热无码| 超91在线视频| 伊人五月综合网| av最新在线| 色五月在线观看| 五月天综合网| 亚洲五月天婷婷综合| 亚洲国产精品二二三三区 | 婷婷久月| 婷婷五月天丁香| 色亭亭五月天丁香综合AV - 百度 - 百度| 成人短视频免费| 色亚洲激情| 日韩免费99| 啪啪黄页网| 丁香婷婷五月综合色情| 26uuu最新地址| 黄色高清无码| 九九热这里只有精品在线观看| 九九精品碰| 五月天 无码| 人人操97| 欧美在线视频99| 26UUU在线观看| 婷婷.com| 狠狠爱婷婷丁香| www.91操| 91无码色色| 久久性爰视频这里只有精品| 精品九九网| 伊人久久婷婷| 激情网站五月| 日韩精品一曲二曲三曲四曲五曲| 天天日,天天干,天天操| 91狠狠色丁香婷婷综合久久精品| 色五月婷婷在线| 玖玖资源站中文| 九九热99免费视频| 日本少妇裸体做爰高潮片| 六月婷婷狠狠做| 激情综合在线播放| 激情五月天影院| 色久激情在线| 97狠狠色| 操操熟女| 色播播五月天| 美国十月色婷婷在线观看| 黄网在线播放| 色婷大香蕉| 久久久18| www.狠狠| 无码AV大香线蕉伊人| 五月婷网| 久色五月| 亚洲激情 久久| 九九久久玖玖爱| www.久久爱| 婷婷丁香五月噜噜噜| 国产精品色婷婷久久久精品| 大香蕉AV电影在线| 五月婷六月| 五月天激情婷婷小说| 色情五月天丁香社区| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 99热99这里有免费的精品| 探花搜索结果 - 黄上黄| 五月婷婷综合网| 婷婷五月六月| 婷婷色情小说| 丁香女人五月天| 婷婷激情四射| 婷婷五月天堂| 婷婷六月天亚州| 亚洲国产精品成人免费一区久久久在线观看AAAA| 丁香五月玖玖| 少妇性BBB搡BBB爽爽爽视頻| 国产精品VA在线| 久久有码| 婷激情五月天视频导航| 91成人视频| 日本久久极品| 亚洲a片免费观看| 99色视频| 99re在线播放| 激情五月婷婷五月| 丁香六月激情综合| 天天爱天天秀天天做| 婷婷色av| 天天干天天操天天爱| 久久五月天黄色五月天色网址| 国产精品99久久久久久猫咪| 国产成人AV在线播放| 五月丁香婷婷激情图片| 日日夜夜九九| 香蕉久操| 色综合网页| 精品欧美一区二区三区久久久| 五月婷婷六月色| 婷婷久久综合久| 开心四月婷婷在线色播播| 99久.| 丁香九月综合| 4438激情网| 免费啪啪亚州视频| 久久久久网站| 五月丁香婷婷在线| 操碰99| 亚洲va欧美| 九九激情综合| 好吊操这里只有精品| 日韩999| 久久精品色| 九九久久精品| 亚洲色欲欧美一区二区三区| 丁香婷五月天| 26uuu亚洲精品国产| 久久久久人妻中文| 99re6久热只有精品6在线直播| 婷婷丁香五月综合激情视频| 激情久久丁香| 五月天久久综合| WWW,五月| 欧美槡BBBB槡BBB少妇| 丁香五月天堂婷婷| 伊人激情综合| 久久久大香蕉| 婷婷激情小说网| 人色五月天婷婷| 成人 九九九九| 91精产品自偷自偷综合| 精品牛仔裤超碰| 激情综合五月激情17| 99rewww| 丁香五月综合在线观看| 五月婷婷激情综合| 天天射影院| 色吧婷婷五月亚洲| 激情图片婷婷| 一级片sese片.COM| 丁香婷婷十月| 婷婷五月色综合| 日韩人妻在线观看| 激情五月天电影| 国产一二区爆乳_1国产日韩一区二区三-成人AV| yw国产AV| 变态另类9| 久久网思思| 99爱精品| 日韩AV免费电影在线播放| 日韩小视频在线99| 丁香五月天天哦| 色五月丁香在线| 亚洲中文字幕AV| 97色吧| 色综合视频| 婷婷五月亚洲激情| 99综合网| 国产精品成人AV在线观看春天| 91婷婷五月丁香碰| 操逼视频网址| 99热99网| 婷婷综合在线| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | www.99情趣网| 成人综合网站| 日韩成人无码片| 日日夜夜狠狠婷婷色| 思思久久99热只有频精品66| 噜噜在线| 五月婷视频在线观看| 色愛综合网| 天天日天天爽| 日韩丁香涩| 99久久精彩视频。| 五月天色区| 丁香花大香蕉婷婷综合| 91丨九色丨43老版熟女| 婷婷五月天色播| 国产精品久久久久久妇女6080| 久久婷婷色色| 国产色色色色| 国产99久| 婷婷五月欧美综合| 色噜噜狠狠色综无码久久合欧美| 男人天堂AV在线一区二区| 艹| 六月丁香五月天| 9月色婷婷| 六月丁香影院| BlACKEDRAW视频一区二区| 丁香久色| 天天干天天日天天操| 91色五月| 色色色色色色色色色色色色色97| 国产人人操| 综合性视频99| 色欲一区二区三区精品A片| 五月天激情影院| 色丁香五月| 黄色aa观看aaguochan| 色婷婷色五月综合| 最近中文字幕大全免费版在线| 久久这里只有精彩| 天天干电影| 丁香六月激情毛片| 婷婷五月激情小说| 波多野结衣成人作品在线| 99热这里只是精品| 偷偷与邻居做爰完整视频| 色色啊| 婷婷爱五月| 五月丁了香蕉综合| 国产这里只有精品| 狠狠操天天操| 综合激情五月天| 婷婷五月免费观看| 疯狂做受XXXX高潮A片动画| 三区激情四射av| 强辱丰满人妻HD中文字幕| 天天操夜夜夜夜爽| 欧美精品在线观看| 久久性爱网站| 自拍视频在线观看9| 99视频在线精品免费观看2| 99热999| 激情五月天影院| 91色逼| 欧美五月婷婷| 色欲Av五月天| 亚洲综合99| 激情五月综合免费| 4399精品一区二区| 欧美婷婷综合| 97资源碰碰| 五月激情六月宗合| 丁香五月激情综合在线观看| 夜夜操加勒比| 五月天com| 丁香五月手机在线| 国产日韩欧美| 五月丁香婷婷久久| 久久婷婷大香蕉| 久久综合爱| 777久久综合视频| 婷婷六月香| 久久久这里有精品| 99天堂网| 成人午夜视频精品一区| 毛片毛片毛片毛片| 9999热在线免费观看| 99这里只有精品视频| 99惹精品视频| 玖玖五月丁香| 另类图片五月天| 亭亭五月天成人| 日本在线视频播放91| 天天做天天爱天天高潮| 午夜丁香五月天综合| 噜噜狠狠色综合久| 少妇熟女视频一区二区三区| 色五月丁香婷婷| 99久久综合网| 狠狠色噜噜色狠狠狠综合色| 成人丁香色| 婷婷丁香一月| 久久hd| 免费看欧美成人A片无码| 久久99热 这里有精品| www.yw色| 久久久宗合视频88| 超碰在线免费9| 婷婷丁香五月天小说| 九九综舍久久| 9视频在线成人网站| 伊人婷婷大香蕉| 99色 色| 亚洲性受XXXX五月丁香| 97超级免费无码| 99精品视频在线观看| 五月色色激情网| 国产精品久久在线观看技巧| 久久人五月| 精品欧美性爱超级爽| 中文字幕成人影视| 一级操逼内射在线视频| 99在线观看这里都是精品| 婷婷久久女人| 春色激情| 亚洲超碰在线| 亚洲天堂热| 思思国产99| 狠狠操天天操综合| 婷婷偷拍网| 综合激情专区| 五月天色欧美| 青柠影视免费高清电视剧 | 超碰人人91| 国产91资源在线| 亚洲午夜AV| 猫咪伊人久久| 五月天另类小说| 色综合综合色| 午夜精品777| 日本一级一级一级一级| 婷婷操久久| 人人操碰| 丁香九色不卡aaa| 中文字幕日本最新乱码视频| 欧美色五月| 激情婷婷丁香| 亚洲超碰在线| 97色婷| 99婷婷国产最新视频| 夜夜撸日日操| 五月天婷婷色| 狠狠高潮精品亚洲1| www,99热| 99热这里只有精品官网| 精品三区影院| 综合五月天天天天天五月| 色婷丨日丨天丨综合久久| 亚洲欧洲色色| 天天搞夜夜叫| 日日日日做夜夜夜夜无码| 九九热黄色| 久久这里都是精品免费| 人人爽人人射-美女久久久久久久久久-成人AV | 亚洲精99| www色婷婷久久综合久色 | 亚洲1区| 999婷婷综合| 婷婷丁香六月| 激情五月天在线视频| 天天狠狠夜夜狠狠2023| 国产毛片精品一区二区色欲黄A片| 99热亚洲精品| 婷婷丁香五月综合| 激情综合色婷婷啪啪六月天| 91人妻人人做人碰人人爽九色| 中文在线成人| 久热久| 色婷婷在线视频| 免费视频WWW在线观看网站| 丁香情色五月| 91在线97视频| 在线天堂9| 天天做天天要天天爱| 五月天天天综合| 久久99这里只有精品视频 | 亚洲精品又粗又大又爽A片| 91夫妻网站九色| 超级碰碰碰久久网站| 国产精品国产| 久久九九网| 五月综合777| 色综合天天天天做夜夜| 五月丁香啪啪| 狠狠插狠狠插| 亚洲V国产V欧美V久久久久久| 五月丁香婷婷狠狠操| 中文字幕综合| 久热99| 色性五月天| 天天射影院| 国产一区二区三区影院| 人人超碰99| 丁香九月久久| 精品51XX| 久草视频一,二三四| 五月丁香啪| 婷婷狠狠狠爱| 婷婷色婷婷| 色婷婷九月| 婷婷丁香宗合888| 日本人妻伦在线中文字幕| 久久天堂婷婷五月| 久久丁香| 色XX综合网| 色一情一乱一乱一区91Av| 热久久999| 99热老网站| 欧美猛片| 啪啪啪大香蕉| 亚州男人天堂婷婷五月| 色欲婷婷五月天| 色婷婷狠狠干芒果TV| 五月天婷婷爱| 美女久久婷婷| 丁香六月激情| 天天干狠狠艹| 亚洲五月天激情| 激情骚五月| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 五月丁香888| 色色激情网| 亚洲av另类在线观看| 91人碰| 欧美婷婷丁香五月| 另类激情五月| 久久人人添人人爽添人人片αV| 99视频在线精品| 99热99极品观看| 丁香色五月 97干| 先锋男人99资源| 久久怡红院| 色五月六月| 99久久99热| 色5月婷婷色| 日韩亚洲视频| 这里只有精品免费| 五月婷婷深深爱| WWW久| 热久视频| www.狠狠操| 丁香五月婷婷六月婷婷| 五月丁香色婷婷| 99精品视频在线观看| 九九aV| 五月婷婷之综合激情| 婷婷97色| 亚洲五月天综合| 五月婷婷丁香综合| 婷婷趴趴| 99综合| 97成人丁香| 色婷婷五月天综合网| 九九99九九99九九99视频网| 丁香社92视频| 天天爱夜夜爽| 狠狠干.com| 婷婷五月婷婷五月| 无码少妇高潮喷水A片免费| 99日本黄站| 噜噜操操| 婷婷月综合| 亚洲综合五月天| 婷婷激情啪啪| nvrentiantang av| 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 亚洲国产99| 男女99免费视频| 日本在线视频播放91| 97超碰在线免费观看| 另类小说色婷婷| 亚洲4区国产欧美| 伊人婷婷色| 9福利性视频欧美| 丁香五月婷婷大香蕉| 色播播婷婷| 丁香五月a| 综合九九久久| 五月天操逼网| 久久新地此| 日本一级黄色电影| 五月天婷婷六月激情网| 久久婷婷视频| 天天插天天日天天爽| 色.五月综合网| 人人看人人摸人人| 久久天堂婷婷五月| 久久与婷婷| 曰曰久久| 丁香五月婷婷色| 久久伊人日日夜夜| 一二线视频 另类| 五月婷婷亞洲中文| 丁香婷婷超碰 | 五月婷丁香| 五月丁香六月婷婷婷婷| 亚洲视频久久| 日熟女| 激情五月第四色| 国产精女同一区二区三区久| 国产色99| 超碰在线人人| 熟女少妇内射日韩亚洲| 丁香五月婷婷成人网| 69精品无码一区二区三区| 大香蕉久艹| 男人天堂伊人五月丁香| 五月丁香亭亭电影久久| 亚洲无码yw| 婷色五月| 九九九九热99超碰| 99久在线视频| 免费的日逼视频| 玖玖伊人网| 国产亚洲在线| 伊人成人宗合网| 色五月中文字幕| 99热自拍| 色五月天本日| 噜噜色天天开心| 婷婷五月丁香国产| 婷婷五月激情网| 婷婷五月天伦理| 婷婷99狠狠躁天天躁中文| 婷香五月激情视频| 久久少妇视频| 丁香五月综合激情久久潮喷| a免费在线| 久久久噜噜噜久久人妻| 色五月婷婷久久| 91嫩草久久| 丁香五月激情五月| 色色色无码| 久热这里只有精品3| 婷婷色网址| 天天干天天干天天干| 再綫Av免费視品| 婷婷激情四射五月天| 成人短视频在线| 天天操天天谢| 97综合在线| 九九九九这里只有精品| 极品五月天| 欧美操我| 全部老头和老太XXXXX| 日本色婷婷| 天天做天天干天天综合网| 久久图色4| 噼里啪啦完整版中文在线观看| 久久92| 99热这里只有精品中文字幕| 五月天婷婷色紫薇阁| 51XX午夜影福利| 久久99久久久| 九九色网专区| 五月天开心网| 婷婷激情九月| 婷婷五月天狠狠色| 色五月激情综合| 婷婷五月丁香六月伊人网| 色婷| 99国产精品久久久久久久久久久 | 国产精品日日躁夜夜躁| 狠色狠色综合久久| 久久99这里| 丁香六月啪啪| 九九干视频| 五月丁香六月婷婷综合| 丁香五月停停av| 色色99| 国内婷婷丁香社区在线播放| 欧美 日韩 成人在线| Av在线资源| 天天日色情| 成人中文网| 色欲婷婷夜夜| 热久久这里只有精品| 久99久视频| 五月天天视频| 无码区婷婷五月花开| 久久婷婷六月综合| 久久婷婷亚洲五月天| 丁香五月婷婷亚洲另类| 天色综合网站| 婷婷五月天激情四射五月天激情| 五月天婷婷基地| 欧美色五月| 久久多色| 五月婷婷综合激情网| 久热婷婷| 91久久久久久| 亚洲视频二区| 色情五月婷婷| 五月天激情综合首页| 91精品丝袜久久久久久| 99热r| 激情五月图| 丁香五月婷婷婷婷欧美综合| 天天色天天色天天色天天色天天色天天色| 五月天天丁香婷婷在线中| 免费AV黄在线播放| 激情网五夜婷婷| 欧美婷婷五月无砖| 五月天婷婷丁香视频| 婷婷五月天六月综合| 久久人人人人妻| 五月花婷婷| 超碰99热| 久久久精品99| 91丁香五月| 天天做天天爱天天搞| 99热九九这里只有精品10| 99在线爽| 色色丁香激情五月| 欧美婷婷综合| 激情久久丁香| 狠狠草狠狠草| 丰满少妇猛烈A片免费看观看| 久久婷婷五月综合色丁香花| 五月天啪啪网| 99久久www| 天天搽天天射| 天天综合五月| 久久这里有精品| 26uuu欧美日本| 色五月天堂| 九九热在线视频| 9色天堂| 色色五月婷婷久久| 欧美影院婷婷| 俺五月| 色五月天电影| 五月婷婷欧美| 色伦专区97中文字幕| txt五月激情四射网综合俺也来了| 天天操中文字幕| 99色这里| 天天爱夜夜爽| 久久久性爱视频| 极品人妻VIDEOSSS人妻| 国产操逼网站| 久热只有这里有精品| 五月 婷婷 成人| 免费AV在线| 无码激情AAAAA片-区区| 婷婷久久图片| AV色五月婷婷| 五月亚洲| 大香蕉人妻| 色婷婷综合在线| 亚洲中文字幕网| 这里只有精彩视| av中文在线| 亚洲成人免费在线| 五月丁香久久丝袜啪啪| 激情婷婷内射| 久久精品系列| 丁香六月婷| 久久精品系列| 婷婷五月天成人基地| 色综合久久久久| 久婷婷视平| 婷五月丁香俺| 五月丁香六月激情在线| 玖玖热视频| 欧洲区自拍| 99高级会所久久| 丁香五月影视| 人与禽A片啪啪| 色999亚洲人成色| 五月天综合| 99欧美精品99日本精品| 色五月婷婷av| www.夜夜操.com| 韩国中文字幕91| 91se在线视频| 色五月天综合网| 操B视频在线播放| 亚洲婷婷在线播放十月| 色欲AV导航| 国产又爽又猛又粗的视频A片| 日韩无码专区| 亚洲人成色A777777在线观看| 久久久国产精品黄毛片| 色色丁香| 伊人激情啪啪| 天天操五月天| 麻豆五月丁香婷婷| 熟女人妻一区二区三区免费看| 激情文学久久| 丁香婷婷色九月| 五月天婷婷激情六月久久 | 婷婷五月综合欧美在线播放| 九艹在线| WWW久| 久久爱婷婷| 五月丁香激情综合网官网| WWW夜夜| 亚洲另类电影| 五月婷婷六月丁香免费| 91超碰在线观看| 欧美婷婷九月| 狠狠草狠狠草| 草久私拍| 夜夜夜夜夜操| 骚逼视频一区2区| 亚洲国产精品综合色区| 狠狠ri| 伊人五月天婷婷| 免费观看全黄做爰的视频| 色色成人網| 国产欧美日韩综合精品一区二区| 欧美激情五月天| 亚洲免费看片| 99热激情| 26uuu视频欧美| 婷婷综合在线| 91干视频| 色综合久久久久| 四色综合网| 色九月婷婷| 79成人网| 综合久久激情久久|