欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

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
返回資訊列表
国产激情久久久| 久久综合久色欧美综合狠狠| 婷婷五月丁香五月天| 色综合激情图区| 五月婷婷性爱网| 婷婷五月噜噜| 色婷婷狠狠18yy| 五月欧美色播| 开心五月网 | 亚洲日本三级片| 丁香 婷婷 激情 综合 五月| 99热每日| 少妇搡BBBB搡BBB搡毛茸茸| 久久99性爱| 色五月大香蕉婷婷| 欧美黄色一级| 99热思思| 亚洲色99| 五月天婷婷网站888| 综合99久久| 国产精品第一国产精品| 超碰97人人操| 亚洲情色一区| 在线观看欧美| 婷婷综合激情| 五月丁香另类图片| 婷婷五月天va| 再次出发二| 婷婷六月综合基地| 欧美在线视频9| 日韩丰满少妇无码内射 | 中文久久婷婷| 丁香五月 激情文学| 久草五月丁香婷婷综合| 婷婷少妇激情| 色五月首页| 亚洲色五月| 九九色综合| 五月婷婷婷婷婷婷艺术| 久久性刺激| 天天影院色| 婷婷五月天天| 碰碰碰91| 欧美婷婷综合| 伊人激情综合| 成人va在线播放| 日本va欧美va精品发布视频| 国产真实乱对白精彩| 99久久玖玖| 狼人狠狠操| AV免费在线网站| 日韩色色视频| 欧美槡BBBB槡BBB少妇| 综合AV在线| 久久性爱视频这里只有精品| 婷婷五月天激情电影| 另类图片五月天婷婷| 久草九九| 人色五月天婷婷| 热的五码久久精品| www99精品在线观看| 综合色五月亭亭| 婷婷五月综合视频| 色五月天综合| www,99热| 丁香五月久久| 精品九九久久| 成人精品视频99在线观看免费| 中文字幕性爱丰满| 俺去也五月天| 丁香桃色综合网| 中文久久婷婷| 99色视频在线| 婷婷月综合| 665566 无码| 搡BBBB搡BBB搡18| 黄网网站在线播放| 伊人久久激情图区五月| 婷婷丁香五月亚洲综合网在线视频观看| 夜夜躁婷婷AV| 五月丁香六月婷婷综合| 激情五月天影院| 久re热视频| 96精品久久久久久久久| 夜夜爽77777妓女免费下载| 丁香五月花| 久久人妻超碰一区| 人妻内射麻豆视频| 伊人婷婷大香蕉| 波多婷婷久久| 丁香女人五月天| 九九青草热| 色噜噜97视频在线观看| 激情婷婷久久| 欧洲激情五月天| 人妻尝试久久久久久久久久久久| 99久久婷婷五月综合| 久久色五月| 99久久99九九99九九九| 国产精品国产VA片国产| 色色五月丁香婷婷| 91在线视频观看午夜福利| 综合精品啪啪| 亚洲综合新99视频| 亚洲日日日| 操九色| 五月天.com| 91操人视频| 中国无码av| 五月丁香六月激情在线| 夜夜爽天天干| 5五月综合网亚洲| 五月婷婷婷自由综合| 2020夜夜操天天爽| 天天日夜夜| 丁香六月天色婷婷| 久久人妻少妇嫩草AV| 五月丁香六月婷| 91色情播放| 开心五月丁香婷婷| 夜夜撸日日骑| 激情综合五月| 性爱网五月婷婷| 久久婷婷综合五月天| 99干视频| 色婷婷丁香五月天| 久久总和99| RenRenSe在线视频网站| 天天天天天天操| 亚洲人成播放网站| 激情五月丁香色婷婷| 婷婷网五月天| 国产AV一区二区三区最新精品| 日本久久天堂| 丁香五月婷婷天堂大香蕉| 五月天婷婷在线观看精品男人| 色亚洲视频| 婷婷色九月| 婷婷酒色网| 国产精品视频免费看| www.五月激情红色| 少妇AB又爽又紧无码网站| 97色色色色色色色| 婷婷激情五月综合| 日本激情91| 色碰干| 伊人色综在线| 日韩中出视频| 色婷婷狠狠干芒果TV| 色婷婷丁香五月| 久9久9热久热| 国产肥白大熟妇BBBB视频| 操B五月天| 五月丁香婷婷激情视频| 欧美在线视频9| 亚洲综合字幕色色| 亚洲天堂爱爱| 丁香五月激情啪啪啪| 这里只有精品视频222| 五月丁香六月婷婷综合网缴情| 色婷婷五月网| 欧美日韩国产成人在线| 五月丁香色婷婷婷基地| 国产精品久久久久久久久久| 色色婷婷综合网| 26uuu欧美日韩| 丁香五月天天| 色色色热| 97干在线视频| 99热成人| 久久总和99| 成人性爱精品视频| 婷香五月激情视频| 色婷婷影院| 26uuu成人网| 91|九色|动漫| 五月天婷婷爱丁香中文字幕| 中文在线成人| 少妇AB又爽又紧无码网站| 色综合视频在线| 男人視頻站| 狠狠香蕉| 天天久综合| 婷婷五月亚洲综合| 91精选国| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 91夫妻网站九色| 激情熟女网| 久热伊人| 狠狠干综合网| 激情深爱五月天| 激情婷婷网| 五月 激情视频| 五月色情婷婷开心五月天| 9久热| 激情丁香五月AV| 欧美精品99| 婷婷 久综合| 婷婷五月天开心网| 亚洲视频伍月婷婷| 久久99热只有精品| 亚洲乱啪| 国产亚洲精品AAAAAAA片| 电影爱拉战争免费观看| 99热狠狠操| www.婷婷.com| 人妻精品一区二区三区| 性爱电影科技贸易有限公司| 久久9热| av九九| 开心五月深爱婷婷| 人妻久久婷婷| 91热久| 久草狼人| 丁香五月激情欧欧美| 内射爽无广熟女亚洲| 婷婷五月丁香六月天亚洲综合| 《蜘蛛女》梁铮1995| 无码人妻电影| 97超级操操| 色婷网| 色爱终和网| 五月丁香色综合| 任你艹| 夜夜爱伊人| 色婷婷在线播放| 色婷久久| 丁香五月成人婷婷| 五月婷婷人人人操| 久久caop| 玖玖在线视频| 激情深爱综合网| 色色色99| 一级黄色操B| 俺去也五月天婷婷| www激情com| 伊人婷婷五月天| 国产真实乱了老女人视频| 九九热99精品| 国产一级片| 亚洲五月情| 丁香激情网| 国产精品色一哟哟| 影音先锋一区二区三区| 天天爽免费视频| 亚洲综合干| AV九九| 三级毛片7979| 狼人狠狠操| 9 1大香蕉| 性爱综合网| www.zbzhongsen.com| 综合五月丁香六月婷婷| 超碰93在线观看| 丁香六月婷婷综合在线| 五月婷AV| 亚洲射激情| 2025中文在线视频字幕免费观看| 大香蕉久艹| 天天综合精品| 婷婷综合色色| 天天日天天操心| 五月在线婷色| 五月婷丁香花| 亚洲色图81p| 九九久久五月天| 少妇被下春药玩弄A片| 天天视频亚洲| 伊人丁香花综合影院| 99re熱| 九久久九精品视频| 婷婷五月在线| 97韩国久久电影院| 大香蕉丁香| 丁香六月婷婷综合欧美| 精品久久婷婷| 9999久久久久| 久久久er热| 日本一级一级一级一级| 天天爱天天做天天爽| 婷婷五月天色| 婷婷激情五月综合丁香社| 热日韩欧美| 99精品22| 午夜成人综合| 99狠狠色| 人妻操逼| 亚洲乱码日产精品BD| 五月六月丁香婷婷在线观看| 九月丁香| hd五月婷婷在线| 999热这里只有美国精品| 996热| 久热超碰| 91狠狠综合久久| 久久久久久激情| 丁香五月-激情综合| 可以看的av| 青草青草视频2免费观看| 一本婷婷丁香久久| 久久人妻在线| www综合久久| 五月丁香成年黄色| 丁香88AV五月婷婷| www九九热| 激情五月婷婷在线观看| 人人草人人舔| 日韩无码专区| 色色亚洲| 碰99在线| 九九九九九九热| 九九热123| 99欧美热| 色综合香蕉| 97色婷婷在线观看| 色噜噜婷婷| 亚洲蜜桃精久久久久久久久久久久| 激情丁香婷婷六月天| 亚洲性爱电影| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 开心网五月色婷婷| 九九九九毛片| 97操碰在线97| 五月伊人视频在线看| 日日日天天干| 亚洲成人AV高清字幕| 久久婷婷色综合| 五月天激情综合10p| 色九九九九| 激情综合五月天| 国产第99页| 色噜噜,噜噜色| 婷婷97狠狠成人网站| 久99久在线观看| 九九99九九99偷拍视频免费看| 五月丁香啪啪啪综合网| 国产成人AV在线| 秋霞电影一级黄| WWW·天天操·视频?| 五月丁香色五月| 五月婷婷开心综合| 91九色国产| 最近中文字幕大全免费版在线 | 亚洲欧洲中文日韩久久AV乱码| 五月综合视频| 亚洲中文AV网站| 久久久久亚洲AV无码网影音先锋| 色v综合网| 激情五月婷婷免费视频| 停停五月丁香| 婷婷丁香六月天| 日本欧美成人片AAAA| 伦乱人妻| 日韩欧美一区二区三区四区| 天天操五月天| 最新午夜理论片| 五月婷婷激情综合视频| 97色在线视频| 亚洲AV日韩AV永久无码网站| 亚洲小说五月婷婷| 思思热再线视频| 亚洲亚洲人成综合网络| 天天干天天干天天干天天干天天干天天 | 色婷青青| 91九色大屁股| 六月婷婷激情小说网| 婷婷五月免费视频| www五月婷婷| 日本色综合| 99超超碰| 婷婷五月丁香综合激情| 久久99看免费| 五月丁香六月婷婷成人电影| 久久性刺激| 日韩欧美成人片| 五月婷婷啪啪| 婷婷九月丁香天堂丁香天堂| 婷婷婷久久久| 任你艹| 亚洲综合色色色| 激情com| 天天综合五月天| 国产做爰视频免费播放| 狠狠搞五月天| 日本精品99| 国产婷婷五月| 99热99热不卡| 99精品成人无码A片观看金桔| 激情文学久久| 99WWW免费视频| 99在线er热| 九月婷婷丁香| 青青草免费公开视频| 婷婷激情性爱| 五月天开心婷婷激情网站| 激情内射人妻1区2区3区| 综合激情五月丁香| 婷婷中文无码| 国产婷婷综合在线免费视频| 久久综合五月天| 天天日日| 天天色激情| 成人做爰黄A片免费看直播室男男 久草热8精品视频在线观看 | 九九视频在线观看| 六月婷婷八月丁香| 婷婷色影音天| 另类亚洲电影| 99激情| 日本激情ⅩXX免费视频| AV在线不卡网站| 久久这里只有精品8| 色五月天综合网| 在线中文字幕视频| 丁香五月久久| 伊人婷婷青青cao| 五月天久久婷婷| 热99.com婷婷| 综合久久8| 久久机热/这里只有精品| 另类激情五月天。| 久久五月情| 婷婷五月六| AA片在线观看视频在线播放| 激情五月婷婷五月丁香五月开心五月| 激情网婷婷婷| 亚洲综合九九| 五月丁香在线国产 | 九热视频| 五月Huangsewang| 五月婷婷丁香狠狠撸久久| 婷婷五月天丁香综合网| 六月丁香基地| 成人婷婷色综合| 五月婷婷中文| 激情婷婷五月天。| 久久一级免费黄色片| 无码髙清| 日韩欧美一道四区中文字幕| 色啪久| 婷婷性爱网| 人人射人人高潮| 99在线看片| 欧美在线干| 色色色色色色色色色色色色色五月天 | 69激情小说| 色五月激情综合网| 99狠狠色| 婷婷色啪| 色99在线看| www,婷婷,com| 中文字幕,综合,91| 久久久久网站| 97人人草| 激婷网| 九九热re99re6在线精品| 五月丁香婷婷啪啪网| 99热在线极品极品| 操操操Av| 久久这里只有精品16| 一根材五月婷成人| 麻豆123区| 996热re视频精品视频| www:99热视频| 九九九午夜视频| 色久99| 天天日天天操天天干| 麻豆精品| 第四色在线观看| 香蕉AV777XXX色综合一区| 超级黄色片| 亚洲精品性色| 天天网站天天爽| 成人精品一区二区三区四区五区| 欧洲色| 思思热视频| 九九热在线99| 欧美色五月| 女人天堂AV| 高清无码网址| 欧美电影在线观看| 午夜在线成人网站免费观看| 九热视频免费观看| 操日视频| 亚洲VA欧美VA| 射久久丁香五月| 日本本土色网第一区| 中文久久久人妻| 十月丁香婷婷| 97婷婷五月天| 国产免费AV网站| 婷婷综合中文字幕| 九九色图| www,26uuu,c0m,色情| 操操操操操操婷婷五月天| 超碰99成人在线| 婷婷九月色| 五月婷婷激情中文字幕| 色欲五月婷婷| 人人色性网| 99九九综合久久九九| 超91热| 久热婷婷| 99精在线| 五月婷婷激情性爱| 日韩AAAAA| 婷婷丁香五月六月激情| 国产婷婷综合| 爆乳熟妇一区二区三区爆乳照片| 色色亚洲视频| 精品人妻伦一二三区久久| 丁香婷婷激情网站| 婷婷伊人网| 六月婷婷私欲| 久久99久久99精品免视看婷婷| 欧美精品XXXXBBBB| 久久综合99| 人人摸人人| 99热99热不卡| 成人丁香婷婷五月天| 无码一区二区日韩| 婷婷六月丁香开心深深爱| 色狠狠色综合久久久绯色AⅤ影视| 另类视频在线| 丁香五月天激情综合| 中文字幕,综合,91| 天天色亚洲| 色婷婷五月天不卡| 久久九九蜜| 久久网思思| 97碰碰久久| 大香蕉伊在| 色丁香五月婷婷婷| 无码髙清| 亚洲免费电影2| 婷婷色综合| 中文在线成人| 任我鲁这里有精品视频| 99精品在线观看视频| 婷婷五月丁香色综合| 亚洲久艹| 操人精品| 丁香五月激情啪啪| AV人人操| 国产成人AV在线| www色综合| 青柠影视免费高清电视剧| 丁香五月手机在线| 激情五月天小说网| 日本成人内射| 99热精品9| 狠狠色综合网| 免费亚洲成人电影AV| 婷婷五月天成人影片| av狠狠操| 这里只有精品视频视频在线观看| 激情五月丁香激情综合网 | 婷婷五月天欧美| 欧美色综合天天久久综合精品| 欧美久久九九| 操一操插一插| 欧美A级成人婬片免费看理论| 五月天激情图片网| 久久久这里有精品| 天天射色五月天| 五月丁香激情婷婷综合| 色9999日韩国产| 亚洲超碰在线| 色色无码| 91狠狠色色丁香婷婷综合久久| 97精品欧美91久久久久久久| 色色色婷婷五月| 五月婷婷,狠狠操| 五月花在线观看视频| 国产,欧美,学生妹,视频| 蜜乳.comcom| 久热九九| 99亚洲天堂| 99婷婷| 色婷婷激情五月天| 久久久久亚洲AV成人无码电影| 狠狠操狠狠操| 99色看这里只有精品| 五月丁香综合| 丁香五月第九色| 夜夜穞天天穞狠狠穞AV美女按摩| 99久久久精品| 五月丁香激情综合久久| 亚洲啪啪网| 97视频久久| 337午夜福利| 无码 色| 日本91在线| 婷婷情色开心五月天99| 天色综合网| 99er国产| a久久| 激情网五月天| yazhochengrenavwang| 丁香婷婷六月激情文学| 怡红院视频| 丁香五月婷婷基地| 婷婷综合性爱网| 99热综合网| 婷婷综合激情五月综合| 91超碰人人操| 99久久婷婷五月| 9月色婷婷| av在线免费网站 | 这里只有国产精品在线| 婷婷五月综合免费在线| 色婷婷亚洲婷婷| 97超碰99热99| 开心婷婷五月天电影院| 91热久久| 性色综合网| 天天做天天爰天天爽天天无遮挡| 开心五月深爱五月婷| 九九这里是免费的视频5| 97人人妻人人艹| 丁香六月狠狠干| 内射激情在线| 日本一级特黄大片AAAAA级| 97色啪| 91艹人| 玖色色综合| 99色色视频| 婷婷丁香人妻天天| 丁香婷婷五月天色综合| 91性人人| 狠狠干五月| 亚洲网视屏| 丁香五月婷婷综合网| 色五月婷婷av| 新男人天堂人妻| 色九区| 天天做天天爱天天高潮| 精品综合五月| 九九99久久| CAOBIBI| 婷婷久久亚洲| www.久久久久久久久久.com| 五月天婷婷伊人 | 丁香五月天啪啪| 另类图片激情五月| 99热免费| 丁香综合日产精品久久| 伊人五月久久| 性做爰1一7伦| 亚洲婷婷开心五月| 九九热精品在线| 九九热精品| 色射影院| 色婷婷综合久久久久| 九九干视频| 97超级操操| 亚洲VA在线| 婷婷色情 | 伊人狠狠狠综合| 国产高潮A片羞羞视频涩涩| 激情色中文| 亭亭五月丁香五月天激情| 9月色婷婷| 婷婷五月丁香色情| 激情婷婷人妻| 99久久国产成人精品| 婷婷五月激情综合| 五月丁香另类图片| 五月天开心色情网| 日本久久婷婷| 五月婷婷熟女| 丁香六月婷婷综合激情欧美| 五月丁香大相交| 99色五月| 任我鲁这里有精品视频| 久操干| 五月刺激丁香月综合| 性爱激情综合网| 女人被躁到高潮嗷嗷叫小| 亚洲爆乳无码精品AAA片蜜桃| 色五月在线视频观看| 日本熟妇人妻在线| 婷婷综合成人五月天| eeuus五月婷| 99惹| 六月婷婷色五月| 亚洲欧美日韩VIP| 国产婷婷婷| 狠狠干总合| 亚洲视频丁香网va| 这里只有精品视频看看| 天天日夜夜爽。| 青青草原99热| 婷婷狠狠操| 亚州操人在线视频| 久草热在线视频| 九九热在线观看视频| 色五月大| 91欧美| a久久| 日本强伦片中文字幕免费看| 婷婷五月丁香成人网| 操人妻AV| 久久天堂女人| 九九色欲网| 五月丁欧美| 欧美熟女乱又伦| 欧美成人性爱网| 伊人婷婷综合| 99精品在线观看| 亚洲岛国电影| 久久天堂网| 久久久久久久久久久久久久人妻视频 | 思思热思在线精品视频| 97se视频在线| 激情久久 婷婷| 操逼毛片国语对白| 丁香六月婷婷综合激情欧美 | 99热精品网| caopeng97日韩| 丁香五月成人婷婷| 久久久精品人妻| 婷婷94s| 亚洲国产婷婷色五月| 亭亭五月天黑人2014| 色噜噜狠狠色综合成人网| 亚洲乱码日产精品BD| 成人电影一区| 五月婷婷丁香伦理网| 牛牛碰免费| 碰碰91| 97超碰,人人舔,人人操,人人摸| 热99在线| 视频一区二区在线| 9.1综合网| 久久久精品色| 夜精品无码A片一区二区蜜桃| 日本色色色| 综合 蜜月 婷婷| 四射综合网| 五月天色综合服务平台| 97碰久久| 色五月噜噜| www.久久| 色婷丁香| 襙比视频| 精品网站:999WWW| 婷婷综合久久综合| 日本猛少妇色XXXXX猛叫| 99re思思热久久| 天天操天天操| 色婷婷手机在线| 九九精品热播| AV在线二十六页| 亚洲精品无AMM毛片| 激情五月婷婷丁香| 久久大香蕉同僚| 久久一热| 五月激情网综合| 九九这里都是精品| 亚洲综合激情五月久久| 亚洲性色XXXXX| 五月天丁香啪啪综合| 99日本在线| 亚洲人人操| 婷婷五月天网| 风流少妇A片一区二区蜜桃| 91成人品| 天天操夜夜操| 色情综合网| 深爱激情丁香五月| 久久人妻在线| 天天射影院| 狠狠第四色| 婷婷五月天电影网| 99色在线视频观看| 婷婷色五月综合| 九九视频这里只有精品| 丁香六月色婷婷| 丁香五月人妻| www.91在线观看| 天天日天天舔| 日本操B片| 婷婷亚洲欧美丁香五月| 五月天大香蕉AV| 丁香五月综合| 91精品婷婷国产综合久久| 亚洲天堂久久| 免费无码毛片一区二区A片| 九九99香蕉在线视频播放| www.久久9| 99操视频| 色五月色图| 五月久熟女| 婷香五月激情视频| 中文字幕+乱码+中文字幕在线观看| 69五月天视频| 久久婷婷七月丁香| 天天爽天天做| 日韩成人电影AV| 亭亭丁香久久五月| 婷色影院| 五月婷视频在线| 日日噜噜夜夜狠狠久久丁香六月| 婷婷十月激情综合网| 亚洲美女网Va| 大香蕉久久久久| 九热视频| 亚洲AV成人精品网站在线播放| 97碰碰碰免费公开在线视频| 亚州在线中文字幕| 久久精品噜噜噜成人A∨色欲| 97久久综合网| 91日韩美女被插视频| 日韩欧美颜射| 97色伦另类图片小说视频 | 久色五月| 性生活久久朋友人妻| 精品久久99码| 可以直接看的AV| 色婷五月天| 99精品丰满| www九九| 2023天天日夜夜爽| 几激情五月婷婷色五月色天堂| 五月婷婷人妻| 五月丁香婷婷在线| 偷偷与邻居做爰完整视频| 艹色18p| 激情五月天视频| 亚洲成人乱码av网站| 久久久久人妻精品| 色综合久久久久| 91jiuseshunv| 丁香婷最新动态| 天天操狠狠操| 亚洲激情另类| 9色天堂| 牛牛澡牛牛爽| 激情文学 综合 色| 久久婷婷五月天激情新地址| 激情综合六月| 丁香婷婷五月| 中文在线视频久9| 婷婷成人网五月天| 天天插综合| 九九热精品| 人人看人人97| 激情的五月| 色爱综合网| 国产精品A成V人在线播放| 97五月婷| 婷婷五月综合啪| 99这里只有免费的精品| 亚洲欧美婷婷五月色综合| 涩五月婷婷| 色综合久久无码| 久热这里| 九九热99热| 欧美成人va| 五月丁香六月香综合激情| 综合激情啪啪| 国产激情AV| 干一干xxxx| 97操碰日本女人| 91精品久久久久久77777| 天天日日天天| 亚洲AV无码电影| 最近中文字幕大全免费版在线| 噜噜噜噜噜在线| 日韩精品一区二区亚洲AV观看| 久久97| 丁香六月婷婷久久综合| 激情五月色综合| 丁香5月啪啪| 婷婷久久国产视频| 97色干| 精品久久99码| 99在线69| 久久免费9| 综合久久综合久久| 精品牛仔裤超碰| 中文AV在线观看| 97操碰人人| 九月色婷婷综合| 亚州婷婷五月激情综合| 欧美三级视频下载| 99精品视频在线观看| 丁香五月天综合| 在线婷婷| 亚洲高清在线| 五月天婷婷色| 欧美人妻一区二区| 99无码视频| 人人摸人人干| 精品夜夜澡人妻无码AV| 亚洲精品又粗又大又爽A片 | 青青久在线视频免费观看| 日韩免费视频| 国产内射婷婷| 婷婷WWW久久| 久激情| 七七九色| 久久3p| 欧美日韩91| 99九九精品| 色综合色综合网| 2018国产大陆天天弄| 五月婷婷色| 超pen个人视频97| 五月婷A V在线| 涩丁香91| 操逼三区| 久久久思思热| 日日夜夜青青草| 99视频这里只有久久精品| 丁香六月婷婷色XXXXX| 精品久久久人妻| 99只有这里有精品在线视频| 色你久久| 五月天另类小说| 青草青草视频2免费观看| 亚洲无码影音| 天天综合91入口| 性爱网六月丁香| 无码人妻一区二区三区免费九色| 棕合影院色色| 先锋五月婷婷丁香草草| 天天影院色| 五月天天丁香婷婷在线中| 婷婷香蕉| 久噜久噜| 激情淫乱男女| 五月婷婷偷拍| 久久五月天精品视频| 免费无码毛片一区二区A片| 成人欧美Va| 六月婷婷日| 九九热九九| 啪啪五月婷婷| 激情亭亭五月| 极品色丁香| 亚洲色五月| 狠狠干综合| 91九色首页| 99re这里只有精品国产99| 激情内射人妻1区2区3区| 欧美在线干| 午夜婷婷| 中文字幕丰满孑伦无码专区| 深爱婷婷丁香五月激情| 26.uuu丁香五月婷婷| 激情丁香五月| 丁香五月婷婷俺也要去| www.婷婷,com| 日本操B视频| 在线不卡视频| 国产精品久久久久久久久久免费 | 丁香五月婷婷天激情| 久久视频这里99| 日韩 中文 欧美| 天天色天天操天天射| 亚洲成人乱码av网站| 99riAv1国产在线观看| 丁香激情五月| 99这里是99在线视频| 五月婷婷久久大片| 婷婷五月天综合久久| 五月天激情在线视频| 狠狠色噜噜色狠狠狠综合色 | 亚洲色情网站| 国产成人+综合亚洲+天堂| 少妇AB又爽又紧无码网站| 婷婷六月综合激情| 成人五月天在线观看| 国产高清视频91九九九久久久| 亚洲激情综合免费| 久久婷婷五月综合| 久久久潮喷-久久久九九-成人AV| 狠色色狠网| 久久作爱| 九九成人电影婷婷| 日韩成人中文字幕| 婷婷香五月综合激情| 婷婷激情九月| 91中文狠狠综合| 国产夫妻操逼内射视频| www天天色天天射| 欧美综合五月丁香五月天| 丁香五月婷婷在线| 婷婷丁香色五月亚洲| www天天色天天射| 丁香婷婷欧美综合| 丁香五月激情综合在线观看| www.色婷婷.com| 网色99| 五月天操逼网| 狠狠干在线| 天天综合网站| 五月丁香偷拍| 五月婷婷六月丁香在线| 噜噜五月天综合| 六月丁香社区| 九九综合网| 成功精品影院| 色狠狠999综合| 色狠狠色噜噜噜a天堂一区| se99高清无码| 人人插9| 97在线日韩| 欧美性色视频| 日本特黄aaaaa| 九久9精品| 伊人久久大香线蕉综合网站| 日日噜噜夜夜狠狠久久丁香五月| 亚洲丁香五月美女| 欧美精品999| 天天爽天天弄| 超碰日韩人妻在线| 噜噜噜噜噜色| 青青色com久久| 激情丁香五月| 丁香五月激情棕合| 九九热在线视频观看| 激情无码五月天| www.色婷婷.com| 精品人妻久久久| 成人精品视频99在线观看免费| 五月丁香久久综合色| 五月婷婷深深爱| 成人无码髙潮喷水A片| 婷婷丁香人妻| 97人碰人操| 99爱在线精品视频免费观看| 99热资源在线| 99在线小视频| 青青草日本亚洲| 国产成人亚洲综合亚洲| 天堂久久精品| 久久黄色免费视频| 日本三级99人妇网站| 五月婷婷五月天| 丁香六月婷婷激情综合| 成人精品视频99在线观看免费| 久草 天堂| 九九热最新| 天堂草在线看www| 五月丁香花激情综合网| 婷婷激情综合| 丁香婷婷五月综合色情| 婷婷丁香五另类网站| 国产91视频| 色婷婷综合网| 五月婷婷综合在线| 六月丁香五月婷婷| 丁香六月激情综合| 婷婷五月影院| 欧美三级巜人妻互换| 666555。COm毛片| 超碰婷婷五月| 丁香99| 激情婷婷网| 激情网综合| 亚洲成人另类| 中国操逼99| 任你爽精品免费视频6| 婷婷5月天av| 狠狠干综合网| 熟惀91九色在线| 六月丁香啪啪啪| www.lingjunshare.com| 97碰免费视频在线| 夜色热久| 人人摸人人干| AA丁香综合激情| 丁香婷五月天| 乱码操操| 六月婷婷日| 噼里啪啦在线观看免费完整版视频 | 九九人人自拍| 激情婷婷综合| 五月婷久久在线| 九九热10| 久久这里只有精品视频15| 99热伊人| 噜噜狠狠色综无码久久合欧美| 超碰啪啪网| 超碰在线看| 成人电影在线免费试看| 丁香五月综合在线观看| 色婷婷久久综合久色| 久久99激情| 欧美碰碰| 熟女强人妻一区二区三区四区无| 婷婷精品综合| 久久五月丁香综合17C| 久久激情网| 青996青| 天天躁日日躁狠狠躁日日躁2022年5月9日| 五月天婷婷基地| 色五月激情婷婷| 成人国产网站在线免费看| 丁香五月婷婷亚洲另类| 欧美情月伍月天| 丁香五月亚洲婷婷| 婷婷成人AV| www.久久| 丁香六月激情毛片| 金桔一区二区ab地址| 日韩人妻操逼视频| av网址在线| 亚洲V国产V欧美V久久久久久| 性欧美大战久久久久久久83| 欧美99热| 亚洲激情免费视频观看| 玖久精品视频9| 狠狠色狠狠鲁| 亚洲综合网激情五月天| 婷婷六月激情小说网| 网色99| www.婷婷五月| 丁香五月天网站| 五月色色色| 成人在线视频网| 大香蕉五月丁香| 91久久1118| 亚洲色综合| 任你草| 99免费热在线精品| 综合激情五月丁香| www.久久99| 超碰免费在线| 丁香婷婷激情综合五月激情| 99色热| 91操操| 婷婷丁香五月av| 久久五月天合网| 狠狠999| 青青草日本亚洲| 国产色五月| 五月婷婷激情综合网 | av人人操| 97碰操| 丁香五月停停基地| 97干在线观看视频| 91九色视频| 天堂久久大香蕉| 99激| 三级大香蕉网| 99国产这里只有精品| 五月婷婷天| 久99在线视频| 久热99| 五月婷婷与六月丁香图片激情| 噜噜吧天天爱| 这里只有精品96| 色五月丁香总合网| 激情六月丁香| 欧美毛卡| 婷婷色爱| 亚洲精品久久久久久久久久飞鱼 | 思思99热在线| 日韩av在线免费观看| 九色视频入口91| 国产一级婬片毛片| 五月激情在线| 丁香五月婷婷激情网| 丁香六月综合| 97啪啪| 丁香五月五月婷婷| AV网在线| 97干婷婷| 99综合视频在线| 日韩精品无码99| 久久丝袜婷婷| 日本不卡高字幕在线2019| 国产人人操| 五月天婷婷久久| 久噜久噜| 五月丁香啪综合| 亚洲妇女熟BBW| 美腿丝袜AV天堂网| 五月婷婷丁香啪啪| 五月天另类图片| 91热爆在线| 色综色网| 96丁香六月婷婷蜜桃综合久久| 五月婷激情影院| 草美女在线观看视频在线播放| 色五月婷婷五月丁香五月激情五月视频| 激情五月天视频| 久久五月婷天天干| 五月婷婷丁香| 亚洲第一成人AV| 9久精品视频| 天天爽日日爽夜夜爽| 青青草成人网| 4438全国最大视频成人网站在线观看 | 俺五月| 超碰色综合| 天天射天天插天天干| 91黄址| 婷婷六月五月天综合| 伊人久久婷婷| 大香蕉啪啪啪啪啪啪| 丁香五月婷婷动漫视频| 久久婷婷91| 色色色色色色色五月| 97丁香花五月天激情小说| 亚洲va综合va国产va中文| 婷婷五月久久| 久久久久久久综合狠狠综合| 极品人妻VideOssS人妻| 五月婷婷色欲| 九九色综合| 操逼六区| 亚洲欧美日韩另类| 综合五月草| 成人αV视频免费观看| 久久99免费视屏| 五月四色激情| 久久五月丁香| 久久九九色| 九九99九九精品免费| 97香蕉碰碰人妻国产欧美| 五月天深爱激情网| 婷婷亚洲天堂| 亚洲99综合| 天天天在线观看| 久久99精品久| 69激情小说| 极品少妇XXXX精品少妇偷拍| 996热| 丁香久久五月婷综合| 一本九九色| 久久机热这里只有精品| 精品亚洲国产成AV人片传媒| 99精品久久| 久久婷婷六月综合| 色婷婷久久综合久色综| 婷婷色综合| 一区二区三区四区牛| 久 久9 9 热 视 频| 五月婷婷丁香91| 99色色最新视频| 久久久国产精品黄毛片| 天天狠天天狠| av九九| 99久久a线观| 婷婷五月天激情网| 欧美欧盟性爱网| 九九热AV| 五月婷婷开心激情六月蜜桃| 99热99思午夜精品| AV性爱在线| 丁香五月综合在线观看| 亚洲综合久| 五月婷婷香蕉| 九九热av| 国产另类综合| 亚洲综合成人网| 久久久宗合视频88| 久久婷婷热| 久久 视频这里只有精总| 亚洲AV成人精品日韩在线播放| 99热免费| 亚洲成色综合网站免费观看|