二筐摘、300份Java零基礎(chǔ)教學(xué)筆記,真正的從零開始(關(guān)注持續(xù)更新)

Java快速入門(本文篇幅較長(zhǎng)船老,建議點(diǎn)喜歡后收藏后閱讀)
每天學(xué)會(huì)一個(gè)知識(shí)點(diǎn)咖熟,覺得不錯(cuò)的可以留言關(guān)注下,戳我主頁獲取Java資料(工具包柳畔,面試資料馍管,視頻教學(xué),包含社群解答)

  • Java 是什么?
  • Java 的特點(diǎn):
  • 面向?qū)ο?/li>
  • 平臺(tái)無關(guān)(跨平臺(tái)):
  • 簡(jiǎn)單
  • 安全
  • 體系結(jié)構(gòu) - 中性
  • 可移植
  • 健壯
  • 多線程
  • 解釋型
  • 高性能
  • 分布式
  • 動(dòng)態(tài)

Java安裝及環(huán)境設(shè)置:java的安裝及環(huán)境配置可以看第三篇

Java 基礎(chǔ)語法

- 對(duì)象- 對(duì)象有狀態(tài)和行為荸镊。例如:狗有狀態(tài)色咽斧,名字,品種以及行為 - 搖頭晃腦躬存,吠叫张惹,吃。對(duì)象是類的一個(gè)實(shí)例岭洲。
- 類- 類可以被定義為一個(gè)模板/藍(lán)本描述該行為/狀態(tài)及其支持對(duì)象類型宛逗。
- 方法 - 方法基本上是一個(gè)行為。一個(gè)類可以包含(擁有)多個(gè)方法盾剩。 將邏輯寫入方法雷激,數(shù)據(jù)操縱和所有的動(dòng)作都會(huì)被執(zhí)行。
- 實(shí)例變量 - 每個(gè)對(duì)象都有其獨(dú)特(唯一)的實(shí)例變量告私。對(duì)象的狀態(tài)是由分配給這些瞬間變量的值來創(chuàng)建屎暇。

第一個(gè)Java程序:

讓我們來看看,以下代碼將打印一個(gè)簡(jiǎn)單詞語 Hello World

public class MyFirstJavaProgram{

   /* This is my first java program.  
    * This will print 'Hello World' as the output
    */

    public static void main(String []args){
       System.out.println("Hello World"); // prints Hello World by manongjc.com
    }
} 

關(guān)于Java程序驻粟,記住以下幾點(diǎn)非常重要根悼。

  • 區(qū)分大小寫 - Java是大小寫敏感的,這意味著標(biāo)識(shí)Hello和hello在Java中有不同的含義。
  • 類名稱 - 對(duì)于所有的類名首字母應(yīng)該大寫挤巡。如果幾個(gè)單詞來形成一個(gè)類的名字剩彬,那么每個(gè)單詞的第一個(gè)字母應(yīng)該大寫。例如:class MyFirstJavaClass
  • 方法名稱 - 所有方法的名稱的開始字母應(yīng)該用小寫字母矿卑。如果幾個(gè)單詞來形成方法的名稱喉恋,那么每個(gè)單詞的第一個(gè)字母要大寫。例如:public void myMethodName()
  • 程序文件名 - 程序文件名應(yīng)當(dāng)和類名完全匹配母廷。保存文件時(shí)轻黑,應(yīng)該使用類名保存它(記住Java是區(qū)分大小寫),再追加 '.java' 到文件名稱的末尾.(如果文件名和類名不匹配程序?qū)o法編譯)徘意。例如:假設(shè)“MyFirstJavaProgram”是類名苔悦。那么這個(gè)文件應(yīng)當(dāng)被保存為 'MyFirstJavaProgram.java'
  • public static void main(String args[]) - java程序處理是從main()方法開始轩褐,這是每一個(gè)Java程序開始的必須部分.

Java 標(biāo)識(shí)符:

所有的Java組件都需要一個(gè)名字椎咧。用于類,變量和方法名稱叫做標(biāo)識(shí)符把介。
在Java中的標(biāo)識(shí)符有幾點(diǎn)要記住勤讽。它們?nèi)缦拢?/p>

  • 所有的標(biāo)識(shí)符應(yīng)該由字母(A至Z或a到z),貨幣字符($)或下劃線(_)組成拗踢。
  • 標(biāo)識(shí)符的第一個(gè)字符之后可以具有字符的任意組合脚牍。
  • 關(guān)鍵字不能被用作標(biāo)識(shí)符。
  • 標(biāo)識(shí)符最重要特點(diǎn)是區(qū)分大小寫的巢墅。
  • 合法標(biāo)識(shí)符的示例:age, $salary, _value, __1_value
  • 非法標(biāo)識(shí)符的示例:123abc, -salary

Java修飾符:

就像其它語言诸狭,它可以改變類,方法等君纫,通過使用修辭符驯遇。有兩大類的修辭符。

  • 訪問修飾符 : default, public , protected, private
  • 非訪問修飾符 : final, abstract, strictfp
    我們將會(huì)在下一節(jié)中研究/學(xué)習(xí)有關(guān)修飾符的更多細(xì)節(jié)蓄髓。

Java 變量:

我們會(huì)看到下面Java的變量類型:

  • 局部變量
  • 類變量(靜態(tài)變量)
  • 實(shí)例變量(非靜態(tài)變量)

Java 數(shù)組:

數(shù)組是存儲(chǔ)相同類型的多個(gè)變量的對(duì)象叉庐。然而數(shù)組本身就是在堆上的對(duì)象。我們將探討如何聲明会喝,構(gòu)建并初始化在即將到來的章節(jié)陡叠。

Java 枚舉:

枚舉是在Java 5.0中才開始進(jìn)行介紹。枚舉一個(gè)變量只限于幾個(gè)預(yù)定義值之一肢执。在此枚舉列表中的值稱為枚舉枉阵。

通過使用枚舉能夠減少代碼的錯(cuò)誤的數(shù)量。

因?yàn)樵で眩绻覀兛紤]了鮮榨果汁店的一個(gè)應(yīng)用實(shí)例將有可能限制玻璃尺寸為小兴溜,中,大。這將確保不會(huì)允許任何人訂制尺寸在小型昵慌,中型或大型之外的類型假夺。

例子:

class FreshJuice{

   enum FreshJuiceSize{ SMALL, MEDIUM, LARGE }
   FreshJuiceSize size;
}

public class FreshJuiceTest{

   public static void main(String args[]){
      FreshJuice juice = new FreshJuice();
      juice.size = FreshJuice. FreshJuiceSize.MEDIUM ;
      System.out.println("Size :" + juice.size);
   }
}

注:枚舉可以聲明為它們自己或在類中。方法斋攀,變量已卷,構(gòu)造函數(shù)可以也可以在枚舉內(nèi)定義。

Java 關(guān)鍵字:

下面列出了Java中的保留字(關(guān)鍵字)淳蔼。這些保留字不可以用作常量或變量或任何其它標(biāo)識(shí)符名稱侧蘸。

image.png

Java 注釋
Java支持單行和多行注釋非常類似于C和C++的注釋方式。 所有字符在注釋里面鹉梨,都是會(huì)被Java編譯器忽略讳癌。

public class MyFirstJavaProgram{

   /* This is my first java program.
    * This will print 'Hello World' as the output
    * This is an example of multi-line comments.
    */

    public static void main(String []args){
       // This is an example of single line comment
       /* This is also an example of single line comment. */
       System.out.println("Hello World"); 
    }
} 

Java數(shù)據(jù)類型

在Java中可用兩種數(shù)據(jù)類型:

  • 原始數(shù)據(jù)類型
  • 引用/對(duì)象數(shù)據(jù)類型

原始數(shù)據(jù)類型
Java語言支持八種原始數(shù)據(jù)類型。原始數(shù)據(jù)類型是由語言預(yù)定義且由關(guān)鍵字命名存皂。 現(xiàn)在讓我們來詳細(xì)看看八種原始數(shù)據(jù)類型晌坤。

  • byte
  • short
  • int
  • long
  • float
  • double
  • boolean
  • char

引用數(shù)據(jù)類型

  • 使用類定義的構(gòu)造創(chuàng)建引用變量。它們是用來訪問對(duì)象旦袋。這些變量被聲明為一個(gè)不能改變的特定類型骤菠。例如, Employee, Puppy 等。
  • 類對(duì)象疤孕,以及各種類型的數(shù)組變量商乎,都在參考數(shù)據(jù)類型。
  • 任何引用變量的缺省值是null祭阀。
  • 引用變量可以用于引用聲明類型或任何兼容類型的任何對(duì)象鹉戚。例如: Animal animal = new Animal("giraffe")

Java 字面值

字面值是一個(gè)源代碼表示的固定值。它們是直接用代碼來表示专控,無需任何計(jì)算抹凳。

字面值可以被分配給任何基本類型的變量。例如:

byte a = 68;
char a = 'A'

在Java中的字符串字面值規(guī)定踩官,就像它們?cè)诖蠖鄶?shù)其他語言的字符序列一樣却桶,使用一對(duì)雙引號(hào)包圍在它們之間。字符串的例子如下:

"Hello World"
"two\nlines"
"\"This is in quotes\""

java語言支持字符串以及一些特殊的轉(zhuǎn)義序列字符文字蔗牡。它們是:
image.png

Java訪問修飾符:

Java提供了一些訪問修飾符來設(shè)置類颖系,變量,方法和構(gòu)造函數(shù)的訪問級(jí)別辩越。這四個(gè)訪問級(jí)別分別是:

  • 可見到包嘁扼。不需要修飾這是默認(rèn)的。
  • 只可見到類(private)黔攒。
  • 可見到所有 (public).
  • 可見到包和所有子類(protected).

Java運(yùn)算符

Java提供了一套豐富的運(yùn)算符來操作變量趁啸。我們可以把所有的Java運(yùn)算符分成以下幾組:

  1. 算術(shù)運(yùn)算符

    假設(shè)A=10, B=20强缘,那么
    image.png

    2.關(guān)系運(yùn)算符
    image.png

    3.位運(yùn)算符:


    image.png

    4.邏輯運(yùn)算符:
    image.png

    5.賦值運(yùn)算符:
    image.png

    6.其它運(yùn)算符
    Java語言支持其他一些運(yùn)算符。

6.1 條件運(yùn)算符 ( ? : ):
條件運(yùn)算也被稱為三元運(yùn)算符不傅。這個(gè)操作符包括三個(gè)操作數(shù)旅掂,用于計(jì)算布爾表達(dá)式。 此運(yùn)算符的目標(biāo)是決定哪個(gè)值應(yīng)分配給變量访娶。運(yùn)算符可寫為:

variable x = (expression) ? value if true : value if false

6.2 instanceOf 運(yùn)算符:
此運(yùn)算符僅用于對(duì)象引用變量商虐。此運(yùn)算符檢查對(duì)象是否是特定類型(類類型或接口類型)。instanceOf運(yùn)算被寫為:

( Object reference variable ) instanceOf  (class/interface type)

Java運(yùn)算符的優(yōu)先級(jí):
image.png

while 循環(huán):

while循環(huán)是一種控制結(jié)構(gòu)崖疤,可以讓你重復(fù)執(zhí)行任務(wù)的若干次秘车。

while循環(huán)的語法是:

while(Boolean_expression)
{
   //Statements
}

do ... while循環(huán):
do... while 循環(huán)類似于 while 循環(huán),不同的是do ... while循環(huán)是保證至少執(zhí)行一次劫哼。

do ... while循環(huán)的語法是:

do
{
   //Statements
}while(Boolean_expression);

for 循環(huán):

for循環(huán)是一個(gè)循環(huán)控制結(jié)構(gòu)叮趴,可以有效地編寫需要執(zhí)行的特定次數(shù)的循環(huán)。

當(dāng)知道任務(wù)要多少次重復(fù)权烧,一個(gè)for循環(huán)是非常有用的眯亦。

for循環(huán)的語法是:

for(initialization; Boolean_expression; update) { //Statements }

改進(jìn)Java的for循環(huán):

從Java5中開始增強(qiáng)了for循環(huán)。這主要是用于數(shù)組豪嚎。

增強(qiáng)的for循環(huán)的語法是:

for(declaration : expression) { //Statements }

break關(guān)鍵字:
關(guān)鍵字break用于停止整個(gè)循環(huán)搔驼。Break關(guān)鍵字必須使用在任何循環(huán)或switch語句中谈火。

Break關(guān)鍵字將停止最內(nèi)層循環(huán)的執(zhí)行侈询,并開始執(zhí)行的下一行代碼塊之后的語句。

continue關(guān)鍵字:
continue關(guān)鍵字可以在任一環(huán)的控制結(jié)構(gòu)可以使用糯耍。它會(huì)導(dǎo)致循環(huán)立即跳轉(zhuǎn)到循環(huán)的下一次迭代扔字。

在for循環(huán)中,continue關(guān)鍵字使流程控制立即跳轉(zhuǎn)到update語句温技。
在while循環(huán)或do/while循環(huán)革为,流控制立即跳轉(zhuǎn)到布爾表達(dá)式。

if 語句:
if 語句包含一個(gè)布爾表達(dá)式后跟一個(gè)或多個(gè)語句舵鳞。

一個(gè)if語句的語法:

if(Boolean_expression)
{
   //Statements will execute if the Boolean expression is true
}

if...else 語句:
if語句可以跟著一個(gè)可選的else語句歹嘹,當(dāng)else執(zhí)行時(shí)漓穿,if 中布爾表達(dá)式是假的。

if...else 的語法是:

if(Boolean_expression 1){
   //Executes when the Boolean expression 1 is true
}else if(Boolean_expression 2){
   //Executes when the Boolean expression 2 is true
}else if(Boolean_expression 3){
   //Executes when the Boolean expression 3 is true
}else {
   //Executes when the one of the above condition is true.
}

嵌套 if...else 語句:
嵌套if-else語句始終是合法的。當(dāng)要 if , else if , else else語句時(shí)有幾點(diǎn)要牢記豆赏。

一個(gè) if 可以有零或一個(gè)else,它必須跟從 else if 之后吞滞。
一個(gè) if 可以零個(gè)或多個(gè) else if ,它們必須在 else 之前辱揭。
一旦一個(gè) else if 條件成功,其他剩余的 else if 或 else 將不會(huì)被測(cè)試背伴。
嵌套 if...else 的語法如下:

if(Boolean_expression 1){
   //Executes when the Boolean expression 1 is true
   if(Boolean_expression 2){
      //Executes when the Boolean expression 2 is true
   }
}

switch 語句:
switch語句允許一個(gè)變量來反對(duì)值列表平等的進(jìn)行測(cè)試沸毁。每個(gè)值被稱為一個(gè)的情況(case)峰髓,該變量被接通檢查每種情況。

switch 的語法是:

switch(expression){
    case value :
       //Statements
       break; //optional
    case value :
       //Statements
       break; //optional
    //You can have any number of case statements.
    default : //Optional
       //Statements
}

Java 方法:

Java方法是組合在一起來執(zhí)行操作語句的集合息尺。當(dāng)調(diào)用System.out.println方法携兵,例如,系統(tǒng)實(shí)際上是在控制臺(tái)上顯示執(zhí)行的語句的消息搂誉。

在一般情況下眉孩,方法的語法如下:

modifier returnValueType methodName(list of parameters) { // Method body; }

方法定義包含一個(gè)方法頭和方法體。下面是一個(gè)方法的所有部分:

  • 修飾符: 修飾符勒葱,這是可選的浪汪,告訴編譯器如何調(diào)用該方法。這定義了該方法的訪問類型凛虽。
  • 返回類型: 方法可能會(huì)返回一個(gè)值死遭。returnValueType是方法返回的值的數(shù)據(jù)類型。有些方法執(zhí)行所需的操作不返回任何值凯旋。在這種情況下呀潭,returnValueType是關(guān)鍵字 void.
  • 方法名稱: 這是該方法的實(shí)際名稱。方法的名稱和參數(shù)表共同構(gòu)成方法簽名至非。
  • 參數(shù): 參數(shù)就像一個(gè)占位符钠署。當(dāng)調(diào)用一個(gè)方法,傳遞一個(gè)參數(shù)值荒椭。這個(gè)值被稱為實(shí)際參數(shù)或參數(shù)谐鼎。參數(shù)列表表示類型,順序和方法的參數(shù)的數(shù)量趣惠。參數(shù)是可選的;也就是說狸棍,一個(gè)方法可包含任何參數(shù)。
  • 方法體: 方法體包含了定義方法執(zhí)行語句的集合味悄。

Java類和對(duì)象:

  • 對(duì)象 - 對(duì)象有狀態(tài)和行為草戈。例如: 狗有狀態(tài)顏色,名字侍瑟,品種以及行為-擺尾唐片,叫聲,吃涨颜。對(duì)象是類的一個(gè)實(shí)例费韭。
  • 類- 類可以被定義為一個(gè)模板/藍(lán)本來描述行為/狀態(tài),其類型支持對(duì)象咐低。
    一個(gè)類的示例如下:
public class Dog{
   String breed;
   int age;
   String color;

   void barking(){
   }
   
   void hungry(){
   }
   
   void sleeping(){
   }
}

一個(gè)類可以包含任何下列變量類型揽思。

  • 局部變量 . 在方法,構(gòu)造函數(shù)或塊里面定義的變量稱為局部變量见擦。變量將被聲明在方法中并初始化钉汗,當(dāng)方法調(diào)用完成變量也將被銷毀羹令。
  • 實(shí)例變量 . 實(shí)例變量是在一個(gè)類里,在方法以外的變量损痰。這些變量在類加載時(shí)實(shí)例化福侈。實(shí)例變量可以在類內(nèi)部的任何方法,構(gòu)造函數(shù)或特定類的塊中訪問卢未。
  • 類變量 . 類變量是在一個(gè)類中聲明的變量肪凛,任何方法外,用static關(guān)鍵字辽社。
  • 異常處理:
    一種捕獲異常方法就是使用try和catch關(guān)鍵字組合伟墙。 try/ catch塊將被置于可能產(chǎn)生異常的代碼。一個(gè)try/ catch塊中的代碼被稱為保護(hù)代碼滴铅,使用try/ catch語句的語法如下所示:
try
{
   //Protected code
}catch(ExceptionName e1)
{
   //Catch block
}

多個(gè)catch塊:

一個(gè)try塊可以跟隨多個(gè)catch塊戳葵。多個(gè)catch塊的語法如下所示:

try
{
   //Protected code
}catch(ExceptionType1 e1)
{
   //Catch block
}catch(ExceptionType2 e2)
{
   //Catch block
}catch(ExceptionType3 e3)
{
   //Catch block
}

throws/throw 關(guān)鍵字:

如果一個(gè)方法不處理檢查異常,該方法必須使用關(guān)鍵字throws聲明它汉匙。 throws關(guān)鍵字出現(xiàn)在方法簽名的結(jié)束位置拱烁。

可以拋出一個(gè)異常,用throw關(guān)鍵字在一個(gè)新實(shí)例化或一個(gè)剛剛捕獲的異常噩翠。 試著去了解 throws 和 throw 關(guān)鍵字的不同戏自。

finally 關(guān)鍵字
finally關(guān)鍵字用于創(chuàng)建一個(gè)代碼塊在try塊后面。 finally塊中的代碼始終執(zhí)行伤锚,無論是否發(fā)生異常擅笔。

使用finally塊,可以運(yùn)行要執(zhí)行见芹,無論是在受保護(hù)的代碼會(huì)不會(huì)發(fā)生發(fā)生異常都會(huì)被執(zhí)行剂娄,可以放一些清理工作之類的語句(代碼)。

finally塊必須出現(xiàn)在catch塊的結(jié)束位置玄呛,它的語法如下:

try
{
   //Protected code
}catch(ExceptionType1 e1)
{
   //Catch block
}catch(ExceptionType2 e2)
{
   //Catch block
}catch(ExceptionType3 e3)
{
   //Catch block
}finally
{
   //The finally block always executes.
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市和二,隨后出現(xiàn)的幾起案子徘铝,更是在濱河造成了極大的恐慌,老刑警劉巖惯吕,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惕它,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡废登,警方通過查閱死者的電腦和手機(jī)淹魄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來堡距,“玉大人甲锡,你說我怎么就攤上這事兆蕉。” “怎么了缤沦?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵虎韵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我缸废,道長(zhǎng)包蓝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任企量,我火速辦了婚禮测萎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘届巩。我一直安慰自己绳泉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布姆泻。 她就那樣靜靜地躺著零酪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拇勃。 梳的紋絲不亂的頭發(fā)上四苇,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音方咆,去河邊找鬼月腋。 笑死,一個(gè)胖子當(dāng)著我的面吹牛瓣赂,可吹牛的內(nèi)容都是我干的榆骚。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼煌集,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼妓肢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起苫纤,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤碉钠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后卷拘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喊废,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年栗弟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了污筷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡乍赫,死狀恐怖瓣蛀,靈堂內(nèi)的尸體忽然破棺而出陆蟆,到底是詐尸還是另有隱情,我是刑警寧澤揪惦,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布遍搞,位于F島的核電站,受9級(jí)特大地震影響器腋,放射性物質(zhì)發(fā)生泄漏溪猿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一纫塌、第九天 我趴在偏房一處隱蔽的房頂上張望诊县。 院中可真熱鬧,春花似錦措左、人聲如沸依痊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胸嘁。三九已至,卻和暖如春凉逛,著一層夾襖步出監(jiān)牢的瞬間性宏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國打工状飞, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留毫胜,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓诬辈,卻偏偏與公主長(zhǎng)得像酵使,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子焙糟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容