Java基礎(chǔ)語法_Day02

一、變量
  • 變量概述
  • 前面我們已經(jīng)學(xué)習(xí)了常量卷要,接下來我們要學(xué)習(xí)變量渣聚。在Java中變量的應(yīng)用比常量的應(yīng)用要多很多。所以變量也是尤為重要的知識點僧叉!
  • 什么是變量奕枝?變量是一個內(nèi)存中的小盒子(小容器),容器是什么瓶堕?生活中也有很多容器隘道,例如水杯是容器,用來裝載水;你家里的大衣柜是容器谭梗,用來裝載衣褲忘晤;飯盒是容器,用來裝載飯菜激捏。那么變量是裝載什么的呢设塔?答案是數(shù)據(jù)!
  • 結(jié)論:變量是內(nèi)存中裝載數(shù)據(jù)的小盒子远舅,你只能用它來存數(shù)據(jù)和取數(shù)據(jù)闰蛔。
  • 計算機存儲單元
  • 變量是內(nèi)存中的小容器,用來存儲數(shù)據(jù)图柏。那么計算機內(nèi)存是怎么存儲數(shù)據(jù)的呢序六?無論是內(nèi)存還是硬盤,計算機存儲設(shè)備的最小信息單元叫“位(bit)”蚤吹,我們又稱之為“比特位”难咕,通常用小寫的字母b表示。而計算機最小的存儲單元叫“字節(jié)(byte)”距辆,通常用大寫字母B表示余佃,字節(jié)是由連續(xù)的8個位組成。
  • 當(dāng)程序需要使用存儲空間時跨算,操作系統(tǒng)最小會分派給程序1個字節(jié)爆土,而不是1個位。你可能會說诸蚕,如果程序只需要1個位的空間步势,系統(tǒng)分派不能只分派1個位嗎?答案是不能背犯!這就像你只需要1支煙坏瘩,你到商店去買煙,商店分派的最小單元是1盒(20支)漠魏,他不可能賣給你1支煙倔矾。
  • 你可能會想,1個字節(jié)(8位)可以存儲很大的數(shù)值了柱锹,1位最大是9那么8位最大值為99999999哪自。你錯了,因為計算機是采用二進行存儲的禁熏,而不是我們生活中常用的十進制壤巷。所以1個字節(jié)存儲的最大數(shù)據(jù)是11111111的二進制數(shù)。
  • 除了字節(jié)外還有一些常用的存儲單位瞧毙,大家可能比較熟悉胧华,我們一起來看看:
    1B(字節(jié)) = 8bit
    1KB = 1024B
    1MB = 1024KB
    1GB = 1024MB
    1TB = 1024GB
    1PB = 1024TB


    2019-02-20_130759.png
  • 基本類型之4類8種
  • 大衣柜不能用來裝載水寄症,水杯也不能用來裝載衣褲。這說明不同的容器裝載不同的物品矩动。變量也是如此瘸爽,在創(chuàng)建變量時需要指定變量的數(shù)據(jù)類型,例如整型變量铅忿、浮點型變量等等。結(jié)論:變量必須要有明確的類型灵汪,什么類型的變量裝載什么類型的數(shù)據(jù)檀训。
  • 水杯是用來裝水的,那么水杯能裝多少水呢享言?一噸峻凫?我們知道水杯在創(chuàng)建時不只確定了要裝載的是水(數(shù)據(jù)類型),而且還確定了能裝多少水(數(shù)據(jù)類型的具體種類)览露。變量也是如此荧琼,需要指定變量能裝載什么類型的數(shù)據(jù),同時也要指定變量能裝載多大的數(shù)據(jù)差牛。
  • Java中基本類型一共4類命锄,把這4類展開后共8種基本類型。我們今后編寫程序時使用的是這8種基本類型而不是4類偏化,這8種基本類型指定了范圍脐恩。


    2019-02-20_131130.png
  • 常量與類型
  • 前面我們說過100是整數(shù)常量,但它是byte侦讨、short驶冒、int、long中的哪一種呢韵卤?下面我們來聊聊這一常量類型的問題骗污。
  • 整數(shù)常量可以根據(jù)所在范圍來確定類型,例如100在(-128)到(127)之間沈条,所以他是byte類型需忿;500在(-32768)到(32767)之間,所以它是short類型蜡歹;100000在(-2147483648)到(2147483648)之間贴谎,所以它是int類型。java中默認(rèn)的整數(shù)類型是int類型
  • 你可能會認(rèn)為12345678901在(-263)到(263-1)之間季稳,所以它是long類型擅这。注意了,這是錯誤的>笆蟆V亵帷痹扇!在Java中整數(shù)常量如果不在(-2147483648)到(2147483648)之間就必須添加“L”后綴(小寫的也可以,但建議使用大寫)溯香,在(-2147483648)到(2147483648)之間的也可以添加“L”后綴鲫构。也就是說12345678901不在-2147483648~2147483648之間,所以它在Java中是錯誤的常量玫坛,你必須這樣寫:12345678901L结笨,這才是正確的常量。所以添加了“L”后綴的整數(shù)常量都是long類型的湿镀,例如:100L炕吸、12345678901L都是long類型的常量。
  • 浮點類型的常量也可使用后綴勉痴,在Java中所有沒有后綴以及使用“D”后綴(小寫也可以赫模,但建議使用大寫)的小數(shù)都是double類型;float類型常量必須添加“F”后綴(小寫也可以蒸矛,但建議使用大寫)java中默認(rèn)的浮點類型是double類型
    ① 3.14沒有后綴瀑罗,所以它是double類型;
    ② 5.28D為double類型雏掠;
    ③ 1.26F為float類型斩祭。
  • 定義變量(創(chuàng)建變量)
  • 定義變量的語法格式:
    數(shù)據(jù)類型 變量名 = 數(shù)據(jù)值;
    int a = 100;
  • 其中int是數(shù)據(jù)類型乡话,指定了變量只能存儲整數(shù)停忿,而且指定了存儲范圍為-2147483648~2147483648。
  • 其中a表示變量名蚊伞,變量名是標(biāo)識符席赂,這說明只要是合法的標(biāo)識符都可以用來做變量名。在程序中可以通過變量名來操作變量(內(nèi)存中的小盒子)时迫。
  • 其中“=100”是給變量賦值颅停,即向a變量中寫入100(變量是個小盒子,現(xiàn)在小盒子中保存的是100)掠拳。注意癞揉,給變量賦的值一定要與類型符合,也就是說int類型只能存儲整數(shù)溺欧,而且必須是在-2147483648~2147483648范圍內(nèi)的整數(shù)喊熟。100滿足了這兩個條件,所以是正確的姐刁。
  • 練習(xí):
/*
變量定義格式:
數(shù)據(jù)類型  變量名  =  變量值;
*/
public class Variable {
  public static void main(String[] args) {
      int a = 10;
      double b = 3.14;
      char c = 'z';
      String s = "i love java";
  
      a = 20;
      System.out.println(a);
  }
}
  • 變量使用的注意事項
  • 我們使用變量的時候需要注意芥牌,要滿足變量的使用規(guī)則才可以使用的,我們來看看都有哪些注意事項聂使。
    變量使用的注意事項

① 變量定義后可以不賦值壁拉,使用時再賦值谬俄。不賦值不能使用。

public static void main(String[] args) {
int x;
x = 20; //為x賦值20
System.out.println(x);//讀取x變量中的值弃理,再打印
}

② 變量使用時有作用域的限制溃论。

public static void main(String[] args) {
int x = 20;
{
  int y = 20;
}
System.out.println(x);//讀取x變量中的值,再打印
System.out.println(y);//讀取y變量中的值失敗痘昌,失敗原因钥勋,找不到y(tǒng)變量,因為超出了y變量作用范圍辆苔,所以不能使用y變量
}

③ 變量不可以重復(fù)定義算灸。

public static void main(String[] args){
     int x = 10;
     double x = 5.5;//編譯失敗,變量重復(fù)定義
}
  • 數(shù)據(jù)類型轉(zhuǎn)換

不同類型的變量是否可以在一起運算呢姑子?答案是可以的,但要先進行類型轉(zhuǎn)換再運算测僵。下面我們來學(xué)習(xí)一下類型轉(zhuǎn)換街佑。

  • 其實,我們所學(xué)習(xí)的數(shù)據(jù)捍靠,它的表示方式是可以靈活多變的沐旨,比如把小數(shù)轉(zhuǎn)換成整數(shù)的操作
  • 轉(zhuǎn)換的過程中,數(shù)據(jù)遵循一個原則:
    范圍小的數(shù)據(jù)類型值(如byte)榨婆,可以直接轉(zhuǎn)換為范圍大的數(shù)據(jù)類型值(如int)磁携;
    范圍大的數(shù)據(jù)類型值(如int),不可以直接轉(zhuǎn)換為范圍小的數(shù)據(jù)類型值(如byte)
  • 那么良风,大家還記得每種類型表示數(shù)據(jù)的范圍嗎谊迄?忘記了不要緊,我來告訴大家烟央,將各種數(shù)據(jù)類型按照數(shù)據(jù)范圍從小到大依次列出:
    byte -> short -> int -> long -> float -> double
  • 關(guān)于數(shù)據(jù)類型轉(zhuǎn)換有兩種方式统诺,我們來學(xué)習(xí)一下:
    ① 自動類型轉(zhuǎn)換
    表示范圍小的數(shù)據(jù)類型轉(zhuǎn)換成范圍大的數(shù)據(jù)類型,這種方式稱為自動類型轉(zhuǎn)換
    自動類型轉(zhuǎn)換格式:
    范圍大的數(shù)據(jù)類型 變量 = 范圍小的數(shù)據(jù)類型值疑俭;
    如:
    double d = 1000;

    int i = 100;
    double d2 = i;
    ② 強制類型轉(zhuǎn)換
    表示范圍大的數(shù)據(jù)類型轉(zhuǎn)換成范圍小的數(shù)據(jù)類型粮呢,這種方式稱為強制類型轉(zhuǎn)換
    強制類型轉(zhuǎn)換格式:
    范圍小的數(shù)據(jù)類型 變量 = (范圍小的數(shù)據(jù)類型) 范圍大的數(shù)據(jù)類型值;
    如:
    int i = (int)6.718; //i的值為6

    double d = 3.14;
    int i2 = (int)d; //i2的值為3
二、運算符
  • 算術(shù)運算符

運算符是用來計算數(shù)據(jù)的符號钞艇。數(shù)據(jù)可以是常量啄寡,也可以是變量。被運算符操作的數(shù)我們稱為操作數(shù)哩照。
算術(shù)運算符最常見的操作就是將操作數(shù)參與數(shù)學(xué)計算挺物,具體使用看下圖:


2019-02-20_141722.png
  • 我們在使用算術(shù)運算符時,記得要注意下列事項:
    ① 加法運算符在連接字符串時要注意飘弧,只有直接與字符串相加才會轉(zhuǎn)成字符串姻乓。
    ② 除法“/”當(dāng)兩邊為整數(shù)時嵌溢,取整數(shù)部分,舍余數(shù)蹋岩。當(dāng)其中一邊為浮點型時赖草,按正常規(guī)則相除。
    ③ “%”為整除取余符號剪个,小數(shù)取余沒有意義秧骑。結(jié)果符號與被取余符號相同。
    ④ 整數(shù)做被除數(shù)扣囊,0不能做除數(shù)乎折,否則報錯。
  • 代碼演示
/*
* 算術(shù)運算符
*/
public class OperatorDemo1 {
  public static void main(String[] args) {
      /*
       * 常量使用算數(shù)運算符
       */
      System.out.println(10+20);
      
      /*
       * 變量使用算數(shù)運算符
       */
      int x = 10;
      int y = 20;
      //"+"作為加法運算使用
      int z = x + y; 
      //"+"作為連接字符串使用
      System.out.println("x="+x);
      System.out.println("y="+y);
      System.out.println("z="+z);
  }
}
  • 運行結(jié)果如下圖所示侵歇。


    2019-02-20_142243.png
  • 算數(shù)運算符++骂澄、--的使用

算數(shù)運算符在前面我們已經(jīng)學(xué)習(xí)過了,這里進行一些補充惕虑。

  • 在一般情況下坟冲,算數(shù)運算符不會改變參與計算的變量值。而是在原有變量值不變的情況下溃蔫,計算出新的值健提。但是有些操作符會改變參與計算的變量的值,比如++伟叛,--私痹。
  • 我們來看一段代碼:
int a = 3;
int b = 3;
a++;
b--;
System.out.println(a);
System.out.println(b);

上面代碼的輸出結(jié)果a值為4,b值為2统刮;
這說明a的原有值發(fā)生了改變紊遵,在原有值的基礎(chǔ)上自增1;b的原有值也發(fā)生了改變侥蒙,在原有值的基礎(chǔ)上自減1癞蚕;
① ++運算符,會在原有值的基礎(chǔ)上自增1辉哥;
② --運算符桦山,會在原有值的基礎(chǔ)上自減1。

  • 我們再看一段代碼:
int a = 3;
int b = 3;
++a;
--b;
System.out.println(a);
System.out.println(b);

上面代碼的輸出結(jié)果a值為4醋旦,b值為2恒水;
這說明++,--運算符單獨使用,不參與運算操作時饲齐,運算符前后位置導(dǎo)致的運算結(jié)果是一致的钉凌。

接下來,介紹下++捂人,--運算符參與運算操作時御雕,發(fā)生了怎樣的變化矢沿,我們來看一段代碼:

int a = 3;
int b;
b = a++ + 10;
System.out.println(a);
System.out.println(b);

上面代碼的輸出結(jié)果a值為4,b值為13酸纲;
這里我要強調(diào)一下了捣鲸,當(dāng)++,--運算符參與運算操作時闽坡,后置++栽惶,--的作用:

  • ++,--運算符后置時,先使用變量a原有值參與運算操作疾嗅,運算操作完成后外厂,變量a的值自增1或者自減1;

再介紹下++代承,--運算符前置時汁蝶,參與運算操作的變化,我們來看一段代碼:

int a = 3;
int b;
b = ++a + 10;
System.out.println(a);
System.out.println(b);

上面代碼的輸出結(jié)果a值為4论悴,b值為14掖棉;
這里我強調(diào)一下,當(dāng)++意荤,--運算符參與運算操作時啊片,前置++只锻,--的作用:

  • ++玖像,--運算符前置時,先將變量a的值自增1或者自減1齐饮,然后使用更新后的新值參與運算操作捐寥。
  • 賦值運算符

我們來學(xué)習(xí)一下賦值運算符,賦值運算符就是為變量賦值的符號祖驱,賦值運算符的使用看下圖:


2019-02-20_151244.png

注意:諸如+=這樣形式的賦值運算符握恳,會將結(jié)果自動強轉(zhuǎn)成等號左邊的數(shù)據(jù)類型。

  • 寫一個代碼捺僻,我們看一下賦值運算符的使用
/*
* 賦值運算符
* +=, -=, *=, /=, %= : 
* 上面的運算符作用:將等號左右兩邊計算乡洼,會將結(jié)果自動強轉(zhuǎn)成等號左邊的數(shù)據(jù)類型,再賦值給等號左邊的
* 注意:賦值運算符左邊必須是變量
*/
public class OperatorDemo2 {
  public static void main(String[] args) {
      byte x = 10;
      x += 20;// 相當(dāng)于 x = (byte)(x+20);
      System.out.println(x);
  }
}
  • 運行結(jié)果如下圖所示。


    2019-02-20_151628.png
  • 比較運算符

比較運算符匕坯,又叫關(guān)系運算符束昵,它是用來判斷兩個操作數(shù)的大小關(guān)系及是否相等關(guān)系的,結(jié)果是布爾值true或者false葛峻。


2019-02-20_151819.png
  • 這里需要注意一下:
    ①賦值運算符的 = 符號與比較運算符的 == 符號是有區(qū)別的锹雏,如下:
    ②賦值運算符的 = 符號,是用來將 = 符號右邊的值术奖,賦值給 = 符號左邊的變量礁遵;
    ③比較運算符的 == 符號轻绞,是用來判斷 == 符號 左右變量的值是否相等的。
  • 我們通過下面的一段代碼佣耐,我們演示一下這個注意事項:
int a = 3;
int b = 4;
System.out.println( a=b );
System.out.println( a==b );

上面代碼輸出的結(jié)果第一個值為4政勃,第二個值為false。

  • 邏輯運算符

邏輯運算符晰赞,它是用于布爾值進行運算的稼病,運算的最終結(jié)果為布爾值true或false。


2019-02-20_153241.png

看完圖后掖鱼,我們來看一下邏輯運算符的常規(guī)使用方式:

  • 邏輯運算符通常連接兩個其他表達式計算后的布爾值結(jié)果
  • 當(dāng)使用短路與或者短路或時然走,只要能判斷出結(jié)果則后邊的部分就不再判斷。
    我們通過代碼演示一下:
boolean b = 100>10;
boolean b2 = false;
System.out.println(b&&b2); // 打印結(jié)果為 false
System.out.println(b||b2); //打印結(jié)果為 true
System.out.println(!b2); //打印結(jié)果為 true
System.out.println(b && 100>10); //打印結(jié)果為 true戏挡,本行結(jié)果的計算方式稍后講解運算符優(yōu)先級時解答

好了芍瑞,我們來總結(jié)一下運算符的結(jié)果規(guī)律吧:
① 短路與&&:參與運算的兩邊數(shù)據(jù),有false褐墅,則運算結(jié)果為false拆檬;
② 短路或||:參與運算的兩邊數(shù)據(jù),有true妥凳,則運算結(jié)果為true竟贯;
③ 邏輯非! : 參與運算的數(shù)據(jù),原先是true則變成false逝钥,原先是false則變成true屑那。

  • 三元運算符

接下來我們要學(xué)習(xí)的三元運算符與之前的運算符不同。之前學(xué)習(xí)的均為一元或者二元運算符艘款。元即參與運算的數(shù)據(jù)持际。

  • 格式:
    (條件表達式)?表達式1:表達式2哗咆;
  • 表達式:通俗的說蜘欲,即通過使用運算符將操作數(shù)聯(lián)系起來的式子,例如:
    ① 3+2晌柬,使用算數(shù)運算符將操作數(shù)聯(lián)系起來姥份,這種情況,我們稱為算數(shù)表達式年碘。
    ② 3>2澈歉,使用比較運算符(也稱為條件運算符)將操作數(shù)聯(lián)系起來,這種情況盛泡,我們稱為條件表達式闷祥。
    ③ 其他表達式,不再一一舉例。
  • 三元運算符運算規(guī)則:
    先判斷條件表達式的值凯砍,若為true箱硕,運算結(jié)果為表達式1;若為false悟衩,運算結(jié)果為表達式2剧罩。

通過代碼演示,我們來學(xué)習(xí)下三元運算符的使用:
方式一:

  System.out.println( 3>2 ? “正確” : “錯誤” ); 
// 三元運算符運算后的結(jié)果為true座泳,運算結(jié)果為表達式1的值“正確”惠昔,然后將結(jié)果“正確”,在控制臺輸出打印

方式二:

  int a = 3;
  int b = 4;
  String result = (a==b) ? “相等” : “不相等”;  
//三元運算符運算后的結(jié)果為false挑势,運算結(jié)果為表達式2的值“不相等”镇防,然后將結(jié)果賦值給了變量result

方式三:

  int n = (3>2 && 4>6) ? 100 : 200;
  //三元運算符運算后的結(jié)果為false,運算結(jié)果為表達式2的值200,然后將結(jié)果200賦值給了變量n
  • 運算符優(yōu)先級

在學(xué)習(xí)運算符的過程中潮饱,我們發(fā)現(xiàn)来氧,當(dāng)多個運算符一起使用的時候,容易出現(xiàn)不清晰先后運算順序的問題香拉,那么啦扬,在這里,我們來學(xué)習(xí)下凫碌,運算符之間的運算優(yōu)先級扑毡。
下圖是每種運算符的優(yōu)先級,按照運算先后順序排序(優(yōu)先級相同的情況下盛险,按照從左到右的順序依次運算)


2019-02-20_162227.png
  • 優(yōu)先級順序看完了瞄摊,我們來通過代碼,加強一下:
int n = 3>4 ? 100 : 200;   

這行的代碼運算執(zhí)行順序我們來寫一下:
1.執(zhí)行 3>4操作枉层,得到布爾類型false的結(jié)果
2.通過結(jié)果false泉褐,將對應(yīng)的表達式2的結(jié)果200赐写,作為運算的最終結(jié)果
3.把200 賦值給變量n

  • 接下來鸟蜡,我們看一個比較復(fù)雜的代碼:
int a = 5;
int b = 3;
int c = 1;
int n2 = (a>b && b>c) ? (c++) : (++c);

這段代碼運算執(zhí)行順序我們也寫一下:
1.小括號優(yōu)先級高,我們先運算第一組小括號中的代碼
1.1. 比較運算符”>” 優(yōu)先級大于 邏輯運算符”&&”
① 先執(zhí)行 a>b,得到結(jié)果true挺邀;
② 再執(zhí)行 b>c,得到結(jié)果true揉忘;
③ 最后執(zhí)行 a>b的結(jié)果 && b>c的結(jié)果,即 true && true, 結(jié)果為true
2.三元運算符中的條件判斷結(jié)果為true端铛,返回表達式1的結(jié)果 c++
① 先將變量c的原有值賦值給變量n2泣矛,即n2值為1;
② 再將變量c的值自增1,更新為2禾蚕。

運算符我們學(xué)到這里就結(jié)束了您朽,我們可以運用運算符進行練習(xí)。

三、商場庫存清單案例
  • 案例介紹

現(xiàn)在我們來做一個復(fù)雜點的案例——商場庫存清單案例哗总,這個案例最終會在控制臺輸出如下結(jié)果:


2019-02-20_184037.png
  • 案例需求分析
  • 觀察清單后几颜,可將清單分解為三個部分(清單頂部、清單中部讯屈、清單底部)


    2019-02-20_184635.png
  • 1.清單頂部為固定的數(shù)據(jù)蛋哭,直接打印即可
  • 2.清單中部為商品,為變化的數(shù)據(jù)涮母,需要記錄商品信息后谆趾,打印
    經(jīng)過觀察,我們確定一項商品應(yīng)該有如下幾個屬性:
    品牌型號: 即商品名稱叛本,String型
    尺寸:物品大小沪蓬,double型
    價格:物品單價,double型
    配置:這一項為每種商品的配置信息来候,String型
    庫存數(shù):這一項為每種商品的庫存?zhèn)€數(shù)怜跑,int型
  • 3.清單底部包含了統(tǒng)計操作,需經(jīng)過計算后吠勘,打印
    我們發(fā)現(xiàn)兩個單獨的可變化量
    總庫存數(shù):所有商品總個數(shù)性芬,int型
    庫存商品總金額:所有商品金額,double型
  • 實現(xiàn)代碼步驟

一起分析完畢了剧防,我們開始完成案例代碼的編寫:

  • 創(chuàng)建Demo01庫存清單.java文件植锉,編寫main主方法
public class Demo01庫存清單 {
  public static void main(String[] args) {
  }
}
  • 記錄每種庫存商品信息
  //蘋果筆記本電腦
  String macBrand = "MacBookAir";
  double macSize = 13.3;
  double macPrice = 6988.88;
  int macCount = 5;

  //聯(lián)想Thinkpad筆記本電腦
  String thinkpadBrand = "ThinkpadT450";
  double thinkpadSize = 14.0;
  double thinkpadPrice = 5999.99;
  int thinkpadCount = 10;

  //華碩ASUS筆記本電腦
  String ASUSBrand = "ASUS-FL5800";
  double ASUSSize = 15.6;
  double ASUSPrice = 4999.50;
  int ASUSCount = 18;
  • 統(tǒng)計所有庫存商品數(shù)量與金額
//統(tǒng)計庫存總個數(shù)、庫存總金額
  int totalCount = macCount + thinkpadCount + ASUSCount;
  double totalMoney = (macCount * macPrice) + (thinkpadCount * thinkpadPrice) + (ASUSCount * ASUSPrice);
  • 打印庫存清單頂部信息
//列表頂部
System.out.println("------------------------------商城庫存清單-----------------------------");
System.out.println("品牌型號   尺寸  價格  庫存數(shù)");
  • 打印庫存清單中部信息
  //列表中部
  System.out.println(macBrand+"   "+macSize+" "+macPrice+"    "+macCount);
  System.out.println(thinkpadBrand+"  "+thinkpadSize+"    "+thinkpadPrice+"   "+thinkpadCount);
  System.out.println(ASUSBrand+"  "+ASUSSize+"    "+ASUSPrice+"   "ASUSCount);
  • 打印庫存清單底部信息
  //列表底部
  System.out.println("-----------------------------------------------------------------------");
  System.out.println("總庫存數(shù):"+totalCount); 
  System.out.println("庫存商品總金額:"+totalMoney);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末峭拘,一起剝皮案震驚了整個濱河市俊庇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鸡挠,老刑警劉巖辉饱,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拣展,居然都是意外死亡彭沼,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門备埃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姓惑,“玉大人,你說我怎么就攤上這事按脚∮诒校” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵辅搬,是天一觀的道長唯沮。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么介蛉? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任夯缺,我火速辦了婚禮,結(jié)果婚禮上甘耿,老公的妹妹穿的比我還像新娘踊兜。我一直安慰自己,他們只是感情好佳恬,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布捏境。 她就那樣靜靜地躺著,像睡著了一般毁葱。 火紅的嫁衣襯著肌膚如雪垫言。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天倾剿,我揣著相機與錄音筷频,去河邊找鬼。 笑死前痘,一個胖子當(dāng)著我的面吹牛凛捏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播芹缔,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼坯癣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了最欠?” 一聲冷哼從身側(cè)響起示罗,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芝硬,沒想到半個月后蚜点,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡拌阴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年绍绘,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片皮官。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡脯倒,死狀恐怖实辑,靈堂內(nèi)的尸體忽然破棺而出捺氢,到底是詐尸還是另有隱情,我是刑警寧澤剪撬,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布摄乒,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏馍佑。R本人自食惡果不足惜斋否,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拭荤。 院中可真熱鬧茵臭,春花似錦、人聲如沸舅世。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雏亚。三九已至缨硝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間罢低,已是汗流浹背查辩。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留网持,地道東北人宜岛。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像功舀,于是被迫代替她去往敵國和親谬返。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354