java循環(huán)結(jié)構(gòu)(for托慨、while葵孤、do-while)及練習(xí)

java基礎(chǔ)編程

java循環(huán)結(jié)構(gòu)

  • 在某些條件滿足的情況下担钮,反復(fù)執(zhí)行特定代碼的功能
  • 循環(huán)語(yǔ)句分類(lèi)
    • for循環(huán)
    • while循環(huán)
    • do-while循環(huán)
循環(huán)語(yǔ)句四個(gè)部分

for循環(huán)

/*
For循環(huán)結(jié)構(gòu)的使用
一、循環(huán)結(jié)構(gòu)的4個(gè)要素
① 初始化條件
② 循環(huán)條件  --->是boolean類(lèi)型
③ 循環(huán)體
④ 迭代條件

二尤仍、for循環(huán)的結(jié)構(gòu)

for(①;②;④){
    ③
}

執(zhí)行過(guò)程:① - ② - ③ - ④ - ② - ③ - ④ - ... - ②

*/
class ForTest {
    public static void main(String[] args) {

        /*
        System.out.println("Hello World!");
        System.out.println("Hello World!");
        System.out.println("Hello World!");
        System.out.println("Hello World!");
        System.out.println("Hello World!");
        */

        for(int i = 1;i <= 5;i++){//i:1,2,3,4,5
            System.out.println("Hello World!");
        }
        //i:在for循環(huán)內(nèi)有效箫津。出了for循環(huán)就失效了。
        //System.out.println(i); 
        
        //練習(xí):
        int num = 1;
        for(System.out.print('a');num <= 3;System.out.print('c'),num++){
            System.out.print('b');
        }
        //輸出結(jié)果:abcbcbc

        System.out.println();

        //例題:遍歷100以內(nèi)的偶數(shù),輸出所有偶數(shù)的和,輸出偶數(shù)的個(gè)數(shù)
        int sum = 0;//記錄所有偶數(shù)的和
        int count = 0;//記錄偶數(shù)的個(gè)數(shù)
        for(int i = 1;i <= 100;i++){
            
            if(i % 2 == 0){
                System.out.println(i);
                sum += i;
                count++;
            }
            //System.out.println("總和為:" + sum);
        }

        System.out.println("總和為:" + sum);
        System.out.println("個(gè)數(shù)為:" + count);

    }
}
  • 練習(xí)
/*
編寫(xiě)程序從1循環(huán)到150宰啦,并在每行打印一個(gè)值苏遥,
另外在每個(gè)3的倍數(shù)行上打印出“foo”,
在每個(gè)5的倍數(shù)行上打印“biz”,
在每個(gè)7的倍數(shù)行上打印輸出“baz”。

*/

class ForTest1 {
    public static void main(String[] args) {
        
        for(int i = 1;i <= 150;i++){
            
            System.out.print(i + "  ");

            if(i % 3 == 0){
                System.out.print("foo ");
            }

            if(i % 5 == 0){
                System.out.print("biz ");
            }

            if(i % 7 == 0){
                System.out.print("baz ");
            }

            //換行
            System.out.println();

        }

    }
}

for循環(huán)練習(xí)

/*
題目:輸入兩個(gè)正整數(shù)m和n赡模,求其最大公約數(shù)和最小公倍數(shù)田炭。
比如:12和20的最大公約數(shù)是4,最小公倍數(shù)是60漓柑。

說(shuō)明:break關(guān)鍵字的使用:一旦在循環(huán)中執(zhí)行到break教硫,就跳出循環(huán)

*/
import java.util.Scanner;
class ForTest1{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        System.out.println("請(qǐng)輸入m值");
        int m = scan.nextInt();
        System.out.println("請(qǐng)輸入n值");
        int n = scan.nextInt();
        int min = (m >= n) ? n : m;
        int max = (m >= n) ? m : n;
        for (int i = min; i <= min ; i--){
            if (m % i == 0 && n % i == 0){
                System.out.println("m和n的最大公約數(shù)為" + i);
                break;
            }
        }
        for (int t = max; t >= max; t++){
            if (t % m == 0 && t % n ==0){
                System.out.println("m和n的最小公倍數(shù)為" + t);
                break;
            }
        }
    }
}

while循環(huán)

/*
While 循環(huán)的使用

一叨吮、循環(huán)結(jié)構(gòu)的4個(gè)要素
① 初始化條件
② 循環(huán)條件  --->是boolean類(lèi)型
③ 循環(huán)體
④ 迭代條件

二、while循環(huán)的結(jié)構(gòu)

①
while(②){
    ③;
    ④;
}

執(zhí)行過(guò)程:① - ② - ③ - ④ - ② - ③ - ④ - ... - ②

說(shuō)明:
1.寫(xiě)while循環(huán)千萬(wàn)小心不要丟了迭代條件瞬矩。一旦丟了茶鉴,就可能導(dǎo)致死循環(huán)!
2.我們寫(xiě)程序景用,要避免出現(xiàn)死循環(huán)涵叮。
3.for循環(huán)和while循環(huán)是可以相互轉(zhuǎn)換的! 
  區(qū)別:for循環(huán)和while循環(huán)的初始化條件部分的作用范圍不同伞插。for的初始定義的變量只在循環(huán)內(nèi)部有效


算法:有限性围肥。

*/
class  WhileTest{
    public static void main(String[] args) {
        
        //遍歷100以內(nèi)的所有偶數(shù)
        int i = 1;
        while(i <= 100){
            
            if(i % 2 == 0){
                System.out.println(i);
            }
            
            i++;
        }
        //出了while循環(huán)以后,仍可以調(diào)用蜂怎。
        System.out.println(i);//101

    }
}

do-while循環(huán)

/*
do-while循環(huán)的使用

一穆刻、循環(huán)結(jié)構(gòu)的4個(gè)要素
① 初始化條件
② 循環(huán)條件  --->是boolean類(lèi)型
③ 循環(huán)體
④ 迭代條件

二、do-while循環(huán)結(jié)構(gòu):

①
do{
    ③;
    ④;

}while(②);

執(zhí)行過(guò)程:① - ③ - ④ - ② - ③ - ④ - ... - ②

說(shuō)明:
1.do-while循環(huán)至少會(huì)執(zhí)行一次循環(huán)體杠步!
2.開(kāi)發(fā)中氢伟,使用for和while更多一些。較少使用do-while

*/
class DoWhileTest {
    public static void main(String[] args) {
        
        //遍歷100以內(nèi)的偶數(shù),并計(jì)算所有偶數(shù)的和及偶數(shù)的個(gè)數(shù)
        int num = 1;
        int sum = 0;//記錄總和
        int count = 0;//記錄個(gè)數(shù)
        do{
            
            if(num % 2 == 0){
                System.out.println(num);
                sum += num;
                count++;
            }

            num++;

        }while(num <= 100);
        

        System.out.println("總和為:" + sum);
        System.out.println("個(gè)數(shù)為:" + count);

        //*************體會(huì)do-while至少執(zhí)行一次循環(huán)體***************
        int number1 = 10;
        while(number1 > 10){
            System.out.println("hello:while");
            number1--;
        }

        int number2 = 10;
        do{
            System.out.println("hello:do-while");
            number2--;
        }while(number2 > 10);

    }
}

練習(xí)

/*
題目:
從鍵盤(pán)讀入個(gè)數(shù)不確定的整數(shù)幽歼,并判斷讀入的正數(shù)和負(fù)數(shù)的個(gè)數(shù)朵锣,輸入為0時(shí)結(jié)束程序。

說(shuō)明:
1. 不在循環(huán)條件部分限制次數(shù)的結(jié)構(gòu):for(;;) 或 while(true)
2. 結(jié)束循環(huán)有幾種方式甸私?
     方式一:循環(huán)條件部分返回false
     方式二:在循環(huán)體中诚些,執(zhí)行break
*/

import java.util.Scanner;
class ForWhileTest  {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //int i = 1;
        int pnum = 0;
        int nnum = 0;
        //while (i > 0){
        //for(;;){ == //while(true){
        while (true){
            System.out.println("請(qǐng)輸入整數(shù):");
            int num = scan.nextInt();
            if (num > 0){
                pnum++;
            }else if (num < 0){
                nnum++;
            }else{
                break;
            }
        }
        System.out.println("正數(shù)有" + pnum + "個(gè),負(fù)數(shù)有" + nnum + "個(gè)");
    }
}

嵌套循環(huán)

/*
嵌套循環(huán)的使用
1.嵌套循環(huán):將一個(gè)循環(huán)結(jié)構(gòu)A聲明在另一個(gè)循環(huán)結(jié)構(gòu)B的循環(huán)體中,就構(gòu)成了嵌套循環(huán)

2.
外層循環(huán):循環(huán)結(jié)構(gòu)B
內(nèi)層循環(huán):循環(huán)結(jié)構(gòu)A

3. 說(shuō)明
① 內(nèi)層循環(huán)結(jié)構(gòu)遍歷一遍皇型,只相當(dāng)于外層循環(huán)循環(huán)體執(zhí)行了一次
② 假設(shè)外層循環(huán)需要執(zhí)行m次诬烹,內(nèi)層循環(huán)需要執(zhí)行n次。此時(shí)內(nèi)層循環(huán)的循環(huán)體一共執(zhí)行了m * n次

4. 技巧:
   外層循環(huán)控制行數(shù)弃鸦,內(nèi)層循環(huán)控制列數(shù)
*/
class ForForTest {
    public static void main(String[] args) {
        
        //******
        //System.out.println("******");
        for(int i = 1;i <= 6;i++){
            System.out.print('*');
        }

        System.out.println("\n");

        /*
        ******
        ******
        ******
        ******
        */
        for(int j = 1;j <= 4;j++ ){
            for(int i = 1;i <= 6;i++){
                System.out.print('*');
            }
            System.out.println();
        }

        /*          i(行號(hào))       j(*的個(gè)數(shù))
        *           1           1
        **          2           2
        ***         3           3
        ****        4           4
        *****       5           5
        */

        for(int i = 1;i <= 5;i++){//控制行數(shù)
            for(int j = 1;j <= i;j++){//控制列數(shù)
                System.out.print("*");
            
            }
            System.out.println();
        }
        
        /*          i(行號(hào))       j(*的個(gè)數(shù))   規(guī)律:i + j = 5 換句話說(shuō):j = 5 - i;
        ****        1           4
        ***         2           3
        **          3           2
        *           4           1
        */  

        for(int i = 1;i <= 4;i++){
            for(int j = 1;j <= 5 - i;j++){
                System.out.print("*");  
            }
            System.out.println();
        }

        /*
        *
        **
        ***
        ****
        *****
        ****
        ***
        **
        *
        */
        
        //略

/*

----* 
---* * 
--* * * 
-* * * * 
* * * * * 
 * * * * 
  * * * 
   * * 
    * 

*/

class Thinking {
    public static void main(String[] args) {
        for (int i= 1;i <= 5 ;i++ ){
            for (int j = 1;j <= 5 - i;j++ ){
                System.out.print(" ");
            }
            for (int k = 1; k <= i;k++ ){
                System.out.print("* ");
            }
            System.out.println();
        }
        for (int i= 1;i <= 4 ;i++ ){
            for (int j = 1;j <= i;j++ ){
                System.out.print(" ");
            }
            for (int k = 1; k <= 5 - i;k++ ){
                System.out.print("* ");
            }
            System.out.println();
        }
        
    }
}

練習(xí):乘法表

/*
嵌套循環(huán)的應(yīng)用1:

九九乘法表
1 * 1 = 1
2 * 1 = 2  2 * 2 = 4
绞吁。。唬格。
9 * 1 = 9 家破。。购岗。 9 * 9 = 81


*/
class NineNineTable {
    public static void main(String[] args) {
        
        for(int i = 1;i <= 9;i++){
            
            for(int j = 1;j <= i;j++){
                System.out.print(i + " * " + j + " = " + (i * j) + "  ");
            }

            System.out.println();
        }


    }
}

練習(xí):100以內(nèi)質(zhì)數(shù)輸出

/*
100以內(nèi)的所有質(zhì)數(shù)的輸出汰聋。
質(zhì)數(shù):素?cái)?shù),只能被1和它本身整除的自然數(shù)喊积。-->從2開(kāi)始烹困,到這個(gè)數(shù)-1結(jié)束為止,都不能被這個(gè)數(shù)本身整除注服。

最小的質(zhì)數(shù)是:2
*/
class PrimeNumberTest {
    public static void main(String[] args) {
        
        boolean isFlag = true;//標(biāo)識(shí)i是否被j除盡韭邓,一旦除盡措近,修改其值

        for(int i = 2;i <= 100;i++){//遍歷100以內(nèi)的自然數(shù)
            
        
            for(int j = 2;j < i;j++){//j:被i去除
                
                if(i % j == 0){ //i被j除盡
                    isFlag = false;
                }
                
            }
            //
            if(isFlag == true){
                System.out.println(i);
            }
            //重置isFlag
            isFlag = true;
        
        }
    }
}
  • 獲取時(shí)間
//獲取當(dāng)前時(shí)間距離1970-01-01 00:00:00 的毫秒數(shù)********重要
long start = System.currentTimeMillis();

代碼優(yōu)化

==不同的算法的效率差別很大,要注意算法的優(yōu)化==

/*
100000以內(nèi)的所有質(zhì)數(shù)的輸出女淑。實(shí)現(xiàn)方式一
質(zhì)數(shù):素?cái)?shù)瞭郑,只能被1和它本身整除的自然數(shù)。-->從2開(kāi)始鸭你,到這個(gè)數(shù)-1結(jié)束為止屈张,都不能被這個(gè)數(shù)本身整除。

對(duì)PrimeNumberTest.java文件中質(zhì)數(shù)輸出問(wèn)題的優(yōu)化
*/
class PrimeNumberTest1 {
    public static void main(String[] args) {
        
        boolean isFlag = true;//標(biāo)識(shí)i是否被j除盡袱巨,一旦除盡阁谆,修改其值
        int count = 0;//記錄質(zhì)數(shù)的個(gè)數(shù)

        //獲取當(dāng)前時(shí)間距離1970-01-01 00:00:00 的毫秒數(shù)********重要
        long start = System.currentTimeMillis();

        for(int i = 2;i <= 100000;i++){//遍歷100000以內(nèi)的自然數(shù)
            
            //優(yōu)化二:對(duì)本身是質(zhì)數(shù)的自然數(shù)是有效的。
            //for(int j = 2;j < i;j++){
            for(int j = 2;j <= Math.sqrt(i);j++){//j:被i去除愉老,根號(hào)i场绿,[2,48.5],[根號(hào)97,根號(hào)97]
                
                if(i % j == 0){ //i被j除盡
                    isFlag = false;
                    break;//優(yōu)化一:只對(duì)本身非質(zhì)數(shù)的自然數(shù)是有效的嫉入。
                }
                
            }
            //
            if(isFlag == true){
                //System.out.println(i);
                count++;
            }
            //重置isFlag
            isFlag = true;
        
        }

        //獲取當(dāng)前時(shí)間距離1970-01-01 00:00:00 的毫秒數(shù)
        long end = System.currentTimeMillis();
        System.out.println("質(zhì)數(shù)的個(gè)數(shù)為:" + count);
        System.out.println("所花費(fèi)的時(shí)間為:" + (end - start));//17110 - 優(yōu)化一:break:1546 - 優(yōu)化二:13

    }
}

特殊關(guān)鍵字的使用:break焰盗、continue

/*
break和continue關(guān)鍵字的使用
                使用范圍            循環(huán)中使用的作用(不同點(diǎn))       相同點(diǎn)
break:          switch-case         
                循環(huán)結(jié)構(gòu)中           結(jié)束當(dāng)前循環(huán)                  關(guān)鍵字后面不能聲明執(zhí)行語(yǔ)句   

continue:       循環(huán)結(jié)構(gòu)中           結(jié)束當(dāng)次循環(huán)                  關(guān)鍵字后面不能聲明執(zhí)行語(yǔ)句



*/
class BreakContinueTest {
    public static void main(String[] args) {

        for(int i = 1;i <= 10;i++){
        
            if(i % 4 == 0){
                break;//123
                //continue;//123567910
                //System.out.println("今晚迪麗熱巴要約我!V淞帧熬拒!");
            }
            System.out.print(i);
        }

        System.out.println("\n");
        //******************************
        
        label:for(int i = 1;i <= 4;i++){//加了標(biāo)簽,可以控制break結(jié)束指定標(biāo)簽的循環(huán)
        
            for(int j = 1;j <= 10;j++){
                
                if(j % 4 == 0){
                    //break;//默認(rèn)跳出包裹此關(guān)鍵字最近的一層循環(huán)垫竞。
                    //continue;

                    //break label;//結(jié)束指定標(biāo)識(shí)的一層循環(huán)結(jié)構(gòu)
                    continue label;//結(jié)束指定標(biāo)識(shí)的一層循環(huán)結(jié)構(gòu)當(dāng)次循環(huán)
                }//默認(rèn)結(jié)束最近一層的循環(huán)
                
                System.out.print(j);
            }
            
            System.out.println();
        }
    }
}
  • return::并非專(zhuān)門(mén)用于結(jié)束循環(huán)的澎粟,它功能是結(jié)束一個(gè)方法。 當(dāng)一個(gè)方法執(zhí)行到return語(yǔ)句時(shí)欢瞪,這個(gè)方法將被結(jié)束
  • return是結(jié)束整個(gè)方法活烙,不管return處于多少層循環(huán)內(nèi)

輸出質(zhì)數(shù)代碼的第三種循環(huán)變化

/*
100000以內(nèi)的所有質(zhì)數(shù)的輸出。實(shí)現(xiàn)方式二
質(zhì)數(shù):素?cái)?shù)引有,只能被1和它本身整除的自然數(shù)瓣颅。-->從2開(kāi)始倦逐,到這個(gè)數(shù)-1結(jié)束為止譬正,都不能被這個(gè)數(shù)本身整除。

對(duì)PrimeNumberTest.java文件中質(zhì)數(shù)輸出問(wèn)題的優(yōu)化
*/
class PrimeNumberTest2 {
    public static void main(String[] args) {
        
        
        int count = 0;//記錄質(zhì)數(shù)的個(gè)數(shù)

        //獲取當(dāng)前時(shí)間距離1970-01-01 00:00:00 的毫秒數(shù)
        long start = System.currentTimeMillis();

        label:for(int i = 2;i <= 100000;i++){//遍歷100000以內(nèi)的自然數(shù)
            
            for(int j = 2;j <= Math.sqrt(i);j++){//j:被i去除
                
                if(i % j == 0){ //i被j除盡
                    continue label;
                }
                
            }
            //能執(zhí)行到此步驟的檬姥,都是質(zhì)數(shù)
            count++;
        
        }

        //獲取當(dāng)前時(shí)間距離1970-01-01 00:00:00 的毫秒數(shù)
        long end = System.currentTimeMillis();
        System.out.println("質(zhì)數(shù)的個(gè)數(shù)為:" + count);
        System.out.println("所花費(fèi)的時(shí)間為:" + (end - start));//17110 - 優(yōu)化一:break:1546 - 優(yōu)化二:13

    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末曾我,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子健民,更是在濱河造成了極大的恐慌抒巢,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秉犹,死亡現(xiàn)場(chǎng)離奇詭異蛉谜,居然都是意外死亡稚晚,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)型诚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)客燕,“玉大人,你說(shuō)我怎么就攤上這事狰贯∫泊辏” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵涵紊,是天一觀的道長(zhǎng)傍妒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)摸柄,這世上最難降的妖魔是什么颤练? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮驱负,結(jié)果婚禮上昔案,老公的妹妹穿的比我還像新娘。我一直安慰自己电媳,他們只是感情好踏揣,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著匾乓,像睡著了一般捞稿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拼缝,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天娱局,我揣著相機(jī)與錄音,去河邊找鬼咧七。 笑死衰齐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的继阻。 我是一名探鬼主播耻涛,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼瘟檩!你這毒婦竟也來(lái)了抹缕?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤墨辛,失蹤者是張志新(化名)和其女友劉穎卓研,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奏赘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年寥闪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磨淌。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡橙垢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出伦糯,到底是詐尸還是另有隱情柜某,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布敛纲,位于F島的核電站喂击,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏淤翔。R本人自食惡果不足惜翰绊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望旁壮。 院中可真熱鬧监嗜,春花似錦、人聲如沸抡谐。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)麦撵。三九已至刽肠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間免胃,已是汗流浹背音五。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留羔沙,地道東北人躺涝。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像扼雏,于是被迫代替她去往敵國(guó)和親坚嗜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348