日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java语言提供结构_java学习之语句结构

發(fā)布時間:2025/4/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java语言提供结构_java学习之语句结构 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在java語言當中存在4中語句結(jié)構(gòu),分別是:

1、順序結(jié)構(gòu)

2、判斷結(jié)構(gòu)

3、選擇結(jié)構(gòu)

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

一、順序結(jié)構(gòu):

所謂的順序結(jié)構(gòu),也就是當不指定其他三種語句結(jié)構(gòu)的情況下,語句是從上往下依次執(zhí)行的,只有碰到其他三種語句結(jié)構(gòu)的時候,才會做相應(yīng)判斷、選擇、循環(huán)。順序結(jié)構(gòu)是基礎(chǔ),是默認的執(zhí)行順序。

在順序結(jié)構(gòu)當中有一種比較特殊的形式就是:

int a = 9;

{

int x = 10;

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

}

System.out.println("x == "+x);//這個時候打印x是打印不出來的

這種語句結(jié)構(gòu)在java語言當中叫做局部代碼塊。局部代碼塊的特點就是在其中聲明的變量,在其所屬的大括號結(jié)束之后,就會被內(nèi)存釋放。當我們需要一個變量僅在我們用完之后立即釋放的時候,我們可以選擇用這種結(jié)構(gòu)表達式。一般用于節(jié)約內(nèi)存的使用,國外的大多數(shù)程序開發(fā)者都比較注重這一點。

二、判斷結(jié)構(gòu):

判斷結(jié)構(gòu)當中是以if為基礎(chǔ)的,if有三種具體形式:

1、單if結(jié)構(gòu),表達方式:

if(條件表達式,必須返回true 或者 是false){

需要執(zhí)行的語句

}

if之后的大括號,是表示該if語句控制的語句范圍。當if之后有且僅有一條語句時,這個時候大括號是可以省略的。

比如:

int a = 10;

if(a>1)

System.out.println("A 大于 1");

//當if后緊跟著一條語句時這個時候 大括號"{ }"是可以省略掉的。

這里的單if語句的意思就是說,當滿足判斷條件的時候,if控制體內(nèi)的語句將被執(zhí)行,否則被程序忽略不執(zhí)行。一種判斷,一種結(jié)果。

2、if....else....表達方式:

if(條件表達式,同樣必須返回true或者是false)

{

需要執(zhí)行的語句1;

}else{

需要執(zhí)行的語句2;

}

這種if表現(xiàn)形式的語句是說,當判斷條件滿足的時候,執(zhí)行語句1,當條件不滿足的時候?qū)?zhí)行語句2;此時表現(xiàn)的是一個判斷,一個結(jié)果。但是無論怎樣,都有且只有一條語句會被執(zhí)行。

3、if...else if... ... else ...表達方式:

if(判斷表達式1){

語句1;

}else if(判斷表達式2){

語句二;

}else if(判斷表達式3){

語句三;

}else if(判斷表示式4){

....

}else{

語句其他;

}

這種if的表現(xiàn)形式是說,當判斷表達式1對的時候,執(zhí)行語句1,當判斷表達式2對的時候,執(zhí)行語句2....當都不滿足時執(zhí)行最后一個else內(nèi)的語句其他;即:多種判斷,一種結(jié)果。

三、選擇結(jié)構(gòu):

在java選擇結(jié)構(gòu)中只有一個switch選擇結(jié)構(gòu),他的作用主要用于:當一個變量有多種值的時候,提供給我們一個選擇執(zhí)行的語句,進行操作。代碼示例:int a;

class SwichDemo {

public static void main(String[] args) {

int a = 1;

switch(a){

case 1:

System.out.println("A's value is :" + a);

break;

case 2:

System.out.println("A's value is :" + a);

break;

default:

System.out.println("No match value");

}

}

}

這里需要注意的一點就是break語句,break語句的作用是當條件滿足的時候,執(zhí)行完相對應(yīng)的語句之后,退出switch語句。假如此時不用break退出的話,那么程序會在執(zhí)行完對應(yīng)的語句之后繼續(xù)把其他的語句打印一遍,直到遇到break跳出switch語句。讓我們修改一下 上述的例子看下 :

class SwichDemo{

public static void main(String[] args) {

int a = 1;

switch(a){

case 1:

System.out.println("A's value is :" + a);

//break;

case 2:

System.out.println("A's value is :" + 2);

//break;

case 3:

System.out.println("A's value is :" + 3);

break;

default:

System.out.println("No match value");

}

}

}

那么此時程序?qū)敵?#xff1a;

,直到遇到break語句之后才會退出swtich,否則一直向下執(zhí)行,直至遇到“}”switch大括號,控制范圍表示符為止。

這里需要注意的一點是 case 語句之后只能跟int,short,byte,char類型的常量,在java后續(xù)更新版本當中,有的支持String.

小結(jié)之if 和 switch的區(qū)別:

1、結(jié)構(gòu)的書寫格式不一樣。

2、當處理單一變量,多種選擇的時候,這兩者是都可以的,都能夠完滿的完成任務(wù)。但是,swicth此時會比較清晰的呈現(xiàn),待判斷的變量,還有帶選擇的選項之間的關(guān)系,但是也有一個弱點就是,書寫起來要非常謹慎,因為switch書寫起來要比if復(fù)雜并且容易出錯。

3、switch要比if有局限性。用switch能完成的if都可以完成,用if能完成的switch不一定可以。

(待續(xù))

四、循環(huán)結(jié)構(gòu):

循環(huán)結(jié)構(gòu),是為了方便我們重復(fù)處理大量語句而存在的。

循環(huán)語句有三種:while循環(huán)、do...while循環(huán)、for循環(huán):

while循環(huán):while循環(huán)的特點是,先判斷條件真假,如果為假,那么不執(zhí)行循環(huán)體當中的語句;如果為真,就執(zhí)行循環(huán)體內(nèi)的語句。while循環(huán)可以執(zhí)行,也可以一次不執(zhí)行。

代碼示例:

int a = 10;

while(a>8)//概括號內(nèi)必須返回boolen值

{

System.out.println("a is "+a);

a--;//一般情況下需要做條件判斷的調(diào)整,讓循環(huán)停止下來。否則即為死循環(huán)。

}

do...while循環(huán):

do...while循環(huán)的特點是,先執(zhí)行一次,然后判斷條件是否滿足,如果滿足,繼續(xù)執(zhí)行,如果不滿足則退出循環(huán)。但是無論如何,循環(huán)體內(nèi)的語句,至少執(zhí)行一次。

代碼示例:

int a = 10;

do{

System.out.println("Do while 循環(huán)");

}while(a>11);

小結(jié):那么什么時候使用while循環(huán),什么時候使用do...while循環(huán)呢?(暫時沒有搞明白....待續(xù))。

for循環(huán)語句:

for(初始條件表達式;驗證條件表達式;循環(huán)次數(shù)控制表達式){}//循環(huán)體

代碼示例:

for(int i = 0 ; i<=10; i++){

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

}

這里需要注意的是for循環(huán)的具體執(zhí)行順序:

①首先初始化變量i,(注意這里初始化完i之后就不再用它了)

②然后判斷(i<=10)的真假,如果為真則

③System.out.println("Hello ?World!");

④執(zhí)行完這個語句之后然后執(zhí)行 i++;

⑤之后又開始計算 i<=10 的真假,如果為真

⑥System.out.println("Hello ?World!");

⑦然后執(zhí)行i++;

⑧當再循環(huán)后 i<=10 為假之后,退出循環(huán)體

總體的步驟也就是:初始化條件表達式,這個只初始化一次。之后的工作就集中在判斷條件是否滿足,如果滿足就執(zhí)行循環(huán)體,變量增加;只有當條件不滿足的時候,退出循環(huán)體。

for循環(huán)還有一個特點就是,內(nèi)部初始化的變量屬于局部作用域,局部作用域的意思是當退出循環(huán)體的時候,釋放該變量所占的內(nèi)存空間。在另一方面也就節(jié)省了內(nèi)存的開銷。

五、循環(huán)結(jié)構(gòu)的應(yīng)用場景:

1、累加思想:

現(xiàn)在有一個需求就是計算1....100這個數(shù)的和;

代碼:

int i = 1;

int sum;

while(i<=100){

sum += i;

i++;

}

累加器的思想:(待續(xù))

2、計數(shù)器思想:

現(xiàn)在有一個需求就是,打印出1...100中6的倍數(shù),以及倍數(shù)的個數(shù):

代碼:

int i = 1;

int count;

while(i<=100)

{

if(i%6 == 0){

System.out.println(i);

count++;

}

}

System.out.println("1到100當中共有6的倍數(shù)"+count+"個");

3、無限循環(huán):

while無限循環(huán):while(true);

for 無限循環(huán):for(;;);(需要說明的一點就是,for 初始化表達式默認就是真);

(未完待續(xù)....)

FOR循環(huán)練習:(大圈套小圈的思想:當程序重復(fù)做一件事,然而這件重復(fù)要做的事內(nèi)又存在需要重復(fù)做的事時,即這個時候就是大圈套小圈的思想。)

For 聯(lián)系一、

需求:在控制臺以"*"為單位打印如下字符:

******

******

******

******

思路:

1、首先要打印4個行,用for循環(huán)實現(xiàn)如下:

for(int i = 0; i<4;i++){

//這里用于打印四個行

}

2、在一個行內(nèi)又得重復(fù)打印6個"*",用for循環(huán)實現(xiàn)代碼如下:

for(int x = 0; x<6;x++){

//這里用于打印6個"*";

}

3、綜合起來講的話,也就是每打印一個行,都要在這個行內(nèi)重復(fù)打印"*"6次,綜合起來就是:

for(int i = 0; i<4;i++){

for(int x = 0; x < 6; x ++){

System.out.print("*");

}

}

4、在每行打印完之后,需要在行尾添加一個換行符:

for(int i = 0; i < 4; i++){

for(int x = 0; x < 6; x++){

System.out.print("*");

}

System.out.println();

}

完成。

For 聯(lián)系二:

需求:

在控制臺以"*"為單位打印如下字符圖形:

*******

******

*****

****

***

**

*

思路:

1、這個打印總共有七行,所以肯定要有一個:

for(int i = 0 ; i<7 ; i++)

{

}

2、打印七行之后,我們再來看下每行的特點。這里每行的特點就是,每行輸出的*是由7個逐個往下遞減,也就是第一個輸出是7個,第二個6個,第三個5個,逐個類推.....此時我們可以定義一個變量b來控制*號出現(xiàn)的次數(shù)。

int b = 7;

for(int x = 0; x

System.out.print("*");

}

b--;

3、因為這個需要循環(huán)執(zhí)行,所以需要有一個循環(huán)體包裹著才可以。那我們把第二步的循環(huán)體,放到第一步當中,看一下執(zhí)行結(jié)果:

for(int i = 0 ; i<7 ; i++)

{

int b = 7;

for(int x = 0; x

System.out.print("*");

}

b--;

}

結(jié)果如下:

,很不幸啊,結(jié)果是錯誤的!!!到底是什么地方錯了呢?讓我們仔細閱讀下程序代碼:

首先初始化變量,i=0;  之后比較i是否小于7,如果條件為真,那么執(zhí)行循環(huán)體內(nèi)的內(nèi)容:

現(xiàn)在讓我們來修正下程序:代碼如下:

class ForDemo{

public static void main(String[] args) {

int b = 7;

for(int i = 0; i<7 ; i++){

for(int x = 0; x< b; x++){

System.out.print("*");

}

System.out.println();

b--;

}

}

}

當然這里還有一種寫法,代碼:

class ForDemo{

public static void main(String[] args) {

for(int i = 7; i>0 ; i--){

//int b = 7;

for(int x = 0; x< i; x++){

System.out.print("*");

}

System.out.println();

//b--;

}

}

}

溫馨提示:在你寫任何代碼,將要運行的時候,花10秒時間去認真讀一下,代碼的執(zhí)行順序,看看他是否真的像你預(yù)想的那樣執(zhí)行的。實在不確定再去運行他.....

總結(jié)

以上是生活随笔為你收集整理的java语言提供结构_java学习之语句结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。