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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java基础学习笔记三 Java基础语法

發(fā)布時(shí)間:2023/12/20 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java基础学习笔记三 Java基础语法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Scanner

Scanner屬于引用數(shù)據(jù)類型,先了解下引用數(shù)據(jù)類型。

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

與定義基本數(shù)據(jù)類型變量不同,引用數(shù)據(jù)類型的變量定義及賦值有一個(gè)相對(duì)固定的步驟或格式。

數(shù)據(jù)類型 變量名 = new 數(shù)據(jù)類型();

每種引用數(shù)據(jù)類型都有其功能,我們可以調(diào)用該類型實(shí)例使用其功能。

變量名.方法名();

Scanner類

Scanner類可以完成用戶鍵盤錄入,獲取到錄入的數(shù)據(jù)。

Scanner使用步驟:

導(dǎo)包:?import java.util.Scanner;?

創(chuàng)建對(duì)象實(shí)例:Scanner sc = new Scanner(System.in);?

調(diào)用方法:

int i = sc.nextInt(); 用來(lái)接收控制臺(tái)錄入的數(shù)字String s = sc.next(); 用來(lái)接收控制臺(tái)錄入的字符串

了解完Scanner類,我們編寫(xiě)代碼來(lái)使用下它:ScannerDemo01.java

import java.util.Scanner; public class ScannerDemo01 {public static void main(String[] args) {//創(chuàng)建Scanner引用類型的變量Scanner sc = new Scanner(System.in);//獲取數(shù)字System.out.println("請(qǐng)輸入一個(gè)數(shù)字");int n = sc.nextInt();System.out.println("n的值為" + n);//獲取字符串String str = sc.next();System.out.println("str的值為" + str);} }

運(yùn)行結(jié)果如下圖所示:

?

?隨機(jī)數(shù)類Random

用來(lái)產(chǎn)生隨機(jī)數(shù)的類Random,它也屬于引用數(shù)據(jù)類型。

這個(gè)Random類,它可以產(chǎn)生多種數(shù)據(jù)類型的隨機(jī)數(shù),在這里主要介紹生成整數(shù)與小數(shù)的方式。

方法簡(jiǎn)介

public int nextInt(int maxValue) 產(chǎn)生[0,maxValue)范圍的隨機(jī)整數(shù),包含0,不包含maxValue;public double nextDouble() 產(chǎn)生[0,1)范圍的隨機(jī)小數(shù),包含0.0,不包含1.0

?Random使用方式:

import導(dǎo)包:?java.util.Random ?

創(chuàng)建實(shí)例格式?:Random 變量名 = new Random();?

接下來(lái),通過(guò)一段代碼,學(xué)習(xí)下Random類的使用,RandomDemo.java

import java.util.Random; public class RandomDemo {public static void main(String[] args) {// 創(chuàng)建Random類的實(shí)例Random r = new Random();// 得到0-100范圍內(nèi)的隨機(jī)整數(shù),將產(chǎn)生的隨機(jī)整數(shù)賦值給i變量int i = r.nextInt(100);//得到0.0-1.0范圍內(nèi)的隨機(jī)小數(shù),將產(chǎn)生的隨機(jī)小數(shù)賦值給d變量double d = r.nextDouble();System.out.println(i);System.out.println(d);} }

運(yùn)行結(jié)果如下圖所示:

?

流程控制語(yǔ)句

選擇結(jié)構(gòu)if

?if語(yǔ)句

if語(yǔ)句是指如果滿足某種條件,就進(jìn)行某種處理。

Java中,if語(yǔ)句的具體語(yǔ)法格式如下:

if (條件語(yǔ)句){執(zhí)行語(yǔ)句;……}

上述格式中,判斷條件是一個(gè)布爾值,當(dāng)判斷條件為true時(shí),{}中的執(zhí)行語(yǔ)句才會(huì)執(zhí)行。

接下來(lái)通過(guò)一段代碼,學(xué)習(xí)一下if語(yǔ)句的具體用法,IfDemo01.java?

//定義了一個(gè)變量x,其初始值為5。在if語(yǔ)句的判斷條件中判斷x的值是否小于10,很明顯條件成立,{}中的語(yǔ)句會(huì)被執(zhí)行,變量x的值將進(jìn)行自增。從運(yùn)行結(jié)果可以看出,x的值已由原來(lái)的5變成了6。
public
class IfDemo01 {public static void main(String[] args) {int x = 5;if (x < 10) {x++;}System.out.println("x=" + x);//x=6} }

if…else語(yǔ)句

if…else語(yǔ)句是指如果滿足某種條件,就進(jìn)行某種處理,否則就進(jìn)行另一種處理。if…else語(yǔ)句具體語(yǔ)法格式如下:

if (判斷條件){執(zhí)行語(yǔ)句1…… }else{執(zhí)行語(yǔ)句2…… }

上述格式中,判斷條件是一個(gè)布爾值。當(dāng)判斷條件為true時(shí),if后面{}中的執(zhí)行語(yǔ)句1會(huì)執(zhí)行。當(dāng)判斷條件為false時(shí),else后面{}中的執(zhí)行語(yǔ)句2會(huì)執(zhí)行。

接下來(lái)通過(guò)一段代碼,來(lái)實(shí)現(xiàn)判斷奇偶數(shù)的程序,IfDemo02.java

public class IfDemo02 {public static void main(String[] args) {int num = 19;if (num % 2 == 0) {// 判斷條件成立,num被2整除System.out.println("num是一個(gè)偶數(shù)");} else {System.out.println("num是一個(gè)奇數(shù)");}} } //num是一個(gè)奇數(shù)

上述代碼中,變量num的值為19,模以2的結(jié)果為1,不等于0,判斷條件不成立。因此會(huì)執(zhí)行else后面{}中的語(yǔ)句,打印“num是一個(gè)奇數(shù)”。

if…else ifelse語(yǔ)句

if…else if…else語(yǔ)句用于對(duì)多個(gè)條件進(jìn)行判斷,進(jìn)行多種不同的處理。if…else if…else語(yǔ)句具體語(yǔ)法格式如下:

if (判斷條件1) {執(zhí)行語(yǔ)句1 } else if (判斷條件2) {執(zhí)行語(yǔ)句2 } ... else if (判斷條件n) {執(zhí)行語(yǔ)句n } else {執(zhí)行語(yǔ)句n+1 }

上述格式中,判斷條件是一個(gè)布爾值。當(dāng)判斷條件1true時(shí),if后面{}中的執(zhí)行語(yǔ)句1會(huì)執(zhí)行。當(dāng)判斷條件1false時(shí),會(huì)繼續(xù)執(zhí)行判斷條件2,如果為true則執(zhí)行語(yǔ)句2,以此類推,如果所有的判斷條件都為false,則意味著所有條件均未滿足,else后面{}中的執(zhí)行語(yǔ)句n+1會(huì)執(zhí)行。

接下來(lái)通過(guò)一段代碼,來(lái)實(shí)現(xiàn)對(duì)學(xué)生考試成績(jī)進(jìn)行等級(jí)劃分的程序,IfDemo03.java

public class IfDemo03 {public static void main(String[] args) {int grade = 75; // 定義學(xué)生成績(jī)if (grade > 80) {// 滿足條件 grade > 80System.out.println("該成績(jī)的等級(jí)為優(yōu)");} else if (grade > 70) {// 不滿足條件 grade > 80 ,但滿足條件 grade > 70System.out.println("該成績(jī)的等級(jí)為良");} else if (grade > 60) {// 不滿足條件 grade > 70 ,但滿足條件 grade > 60System.out.println("該成績(jī)的等級(jí)為中");} else {// 不滿足條件 grade > 60System.out.println("該成績(jī)的等級(jí)為差");}} } //該成績(jī)的等級(jí)為良

上述代碼中,定義了學(xué)生成績(jī)grade75。它不滿足第一個(gè)判斷條件grade>80,會(huì)執(zhí)行第二個(gè)判斷條件grade>70,條件成立,因此會(huì)打印“該成績(jī)的等級(jí)為良”。

選擇結(jié)構(gòu)if語(yǔ)句與三元運(yùn)算轉(zhuǎn)換

三元運(yùn)算符,它和if-else語(yǔ)句類似,語(yǔ)法如下:

判斷條件 ? 表達(dá)式1 : 表達(dá)式2

三元運(yùn)算符會(huì)得到一個(gè)結(jié)果,通常用于對(duì)某個(gè)變量進(jìn)行賦值,當(dāng)判斷條件成立時(shí),運(yùn)算結(jié)果為表達(dá)式1的值,否則結(jié)果為表達(dá)式2的值。

例如求兩個(gè)數(shù)xy中的較大者,如果用if…else語(yǔ)句來(lái)實(shí)現(xiàn),具體代碼如下:

int x = 0; int y = 1; int max; if (x > y) {max = x; } else {max = y; }

可以替換為

int x=0; int y=1; int max = x > y ? x : y;

switch語(yǔ)句

根據(jù)一個(gè)整數(shù)表達(dá)式的值, switch 語(yǔ)句可從一系列代碼選出一段執(zhí)行。它的格式如下:

switch(整數(shù)選擇因子或者字符串或者枚舉) {case 整數(shù)值 1 : 語(yǔ)句; break;case 整數(shù)值 2 : 語(yǔ)句; break;case 整數(shù)值 3 : 語(yǔ)句; break;case 整數(shù)值 4 : 語(yǔ)句; break;case 整數(shù)值 5 : 語(yǔ)句; break;//..default:語(yǔ)句;92 }

switch 能將整數(shù)選擇因子的結(jié)果與每個(gè)整數(shù)值比較。若發(fā)現(xiàn)相符的,就執(zhí)行對(duì)應(yīng)的語(yǔ)句(簡(jiǎn)單或復(fù)合語(yǔ)句)。若沒(méi)有發(fā)現(xiàn)相符的,就執(zhí)行default 語(yǔ)句。 示例:VowelsAndConsonants.java

public class VowelsAndConsonants {public static void main(String[] args) {char c = (char) (Math.random() * 26 + 'a');System.out.print(c + ": ");switch (c) {case 'a':case 'e':case 'i':case 'o':case 'u':System.out.println("vowel");break;case 'y':case 'w':System.out.println("Sometimes a vowel");break;default:System.out.println("consonant");}} }

switch語(yǔ)句接受的數(shù)據(jù)類型

switch語(yǔ)句中的表達(dá)式的數(shù)據(jù)類型,是有要求的

  • JDK1.0 - 1.4 數(shù)據(jù)類型接受 byte short int char
  • JDK1.5 數(shù)據(jù)類型接受 byte short int char enum(枚舉)
  • JDK1.7 數(shù)據(jù)類型接受 byte short int char enum(枚舉), String

case穿透

在使用switch語(yǔ)句的過(guò)程中,如果多個(gè)case條件后面的執(zhí)行語(yǔ)句是一樣的,則該執(zhí)行語(yǔ)句只需書(shū)寫(xiě)一次即可,這是一種簡(jiǎn)寫(xiě)的方式。
例如,要判斷一周中的某一天是否為工作日,同樣使用數(shù)字1~7來(lái)表示星期一到星期天,當(dāng)輸入的數(shù)字為1、2、3、4、5時(shí)就視為工作日,否則就視為休息日。如下所示。SwitchDemo02.java

public class SwitchDemo02 {public static void main(String[] args) {int week = 2;switch (week) {case 1:case 2:case 3:case 4:case 5:// 當(dāng) week 滿足值 1、2、3、4、5 中任意一個(gè)時(shí),處理方式相同System.out.println("今天是工作日");break;case 6:case 7:// 當(dāng) week 滿足值 6、7 中任意一個(gè)時(shí),處理方式相同System.out.println("今天是休息日");break;}} }

上述代碼中,當(dāng)變量week值為12345中任意一個(gè)值時(shí),處理方式相同,都會(huì)打印“今天是工作日”。同理,當(dāng)變量week值為67中任意一個(gè)值時(shí),打印“今天是休息日”。

循環(huán)語(yǔ)句

while語(yǔ)句

while循環(huán)語(yǔ)句和選擇結(jié)構(gòu)if語(yǔ)句有些相似,都是根據(jù)條件判斷來(lái)決定是否執(zhí)行大括號(hào)內(nèi)的執(zhí)行語(yǔ)句。區(qū)別在于,while語(yǔ)句會(huì)反復(fù)地進(jìn)行條件判斷,只要條件成立,{}內(nèi)的執(zhí)行語(yǔ)句就會(huì)執(zhí)行,直到條件不成立,while循環(huán)結(jié)束。while循環(huán)語(yǔ)句的語(yǔ)法結(jié)構(gòu)如下:

while(循環(huán)條件){執(zhí)行語(yǔ)句……… }

在上面的語(yǔ)法結(jié)構(gòu)中,{}中的執(zhí)行語(yǔ)句被稱作循環(huán)體,循環(huán)體是否執(zhí)行取決于循環(huán)條件。當(dāng)循環(huán)條件為true時(shí),循環(huán)體就會(huì)執(zhí)行。循環(huán)體執(zhí)行完畢時(shí)會(huì)繼續(xù)判斷循環(huán)條件,如條件仍為true則會(huì)繼續(xù)執(zhí)行,直到循環(huán)條件為false時(shí),整個(gè)循環(huán)過(guò)程才會(huì)結(jié)束。

接下來(lái)通過(guò)一段代碼,來(lái)實(shí)現(xiàn)打印1~4之間的自然數(shù),WhileDemo.java

public class WhileDemo {public static void main(String[] args) {int x = 1; // 定義變量x,初始值為1while (x <= 4) { // 循環(huán)條件System.out.println("x = " + x); // 條件成立,打印x的值x++; // x進(jìn)行自增 }} }//x = 1 //x = 2 //x = 3 //x = 4

在上述代碼中,x初始值為1,在滿足循環(huán)條件x <=?4的情況下,循環(huán)體會(huì)重復(fù)執(zhí)行,打印x的值并讓x進(jìn)行自增。因此打印結(jié)果中x的值分別為123、4

值得注意的是,代碼x++用于在每次循環(huán)時(shí)改變變量x的值,從而達(dá)到最終改變循環(huán)條件的目的。如果沒(méi)有這行代碼,整個(gè)循環(huán)會(huì)進(jìn)入無(wú)限循環(huán)的狀態(tài),永遠(yuǎn)不會(huì)結(jié)束。

循環(huán)語(yǔ)句for

for循環(huán)語(yǔ)句是最常用的循環(huán)語(yǔ)句,一般用在循環(huán)次數(shù)已知的情況下。for循環(huán)語(yǔ)句的語(yǔ)法格式如下:

for(初始化表達(dá)式; 循環(huán)條件; 操作表達(dá)式){執(zhí)行語(yǔ)句……… }

在上面的語(yǔ)法結(jié)構(gòu)中,for關(guān)鍵字后面()中包括了三部分內(nèi)容:初始化表達(dá)式、循環(huán)條件和操作表達(dá)式,它們之間用“;”分隔,{}中的執(zhí)行語(yǔ)句為循環(huán)體。

接下來(lái)分別用①表示初始化表達(dá)式、②表示循環(huán)條件、③表示操作表達(dá)式、④表示循環(huán)體,通過(guò)序號(hào)來(lái)具體分析for循環(huán)的執(zhí)行流程。具體如下:

for(① ; ② ; ③){④ }
  • 第一步,執(zhí)行
  • 第二步,執(zhí)行②,如果判斷結(jié)果為true,執(zhí)行第三步,如果判斷結(jié)果為false,執(zhí)行第五步
  • 第三步,執(zhí)行
  • 第四步,執(zhí)行③,然后重復(fù)執(zhí)行第二步
  • 第五步,退出循環(huán)

接下來(lái)通過(guò)一個(gè)案例對(duì)自然數(shù)1~4進(jìn)行求和,如下所示。ForDemo01.java

public class ForDemo01 {public static void main(String[] args) {int sum = 0; // 定義變量sum,用于記住累加的和for (int i = 1; i <= 4; i++) { // i的值會(huì)在1~4之間變化sum += i; // 實(shí)現(xiàn)sum與i的累加 }System.out.println("sum = " + sum); // 打印累加的和 } }

上述代碼中,變量i的初始值為1,在判斷條件i<=4true的情況下,會(huì)執(zhí)行循環(huán)體sum+=i,執(zhí)行完畢后,會(huì)執(zhí)行操作表達(dá)式i++i的值變?yōu)?/span>2,然后繼續(xù)進(jìn)行條件判斷,開(kāi)始下一次循環(huán),直到i=5時(shí),條件i<=4false,結(jié)束循環(huán),執(zhí)行for循環(huán)后面的代碼,打印“sum=10”。

do…while語(yǔ)句

do…while循環(huán)語(yǔ)句和while循環(huán)語(yǔ)句功能類似,其語(yǔ)法結(jié)構(gòu)如下:

do {執(zhí)行語(yǔ)句……… } while(循環(huán)條件);

在上面的語(yǔ)法結(jié)構(gòu)中,關(guān)鍵字do后面{}中的執(zhí)行語(yǔ)句是循環(huán)體。do…while循環(huán)語(yǔ)句將循環(huán)條件放在了循環(huán)體的后面。這也就意味著,循環(huán)體會(huì)無(wú)條件執(zhí)行一次,然后再根據(jù)循環(huán)條件來(lái)決定是否繼續(xù)執(zhí)行。

接下來(lái)使用do…while循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)打印1~4之間的自然數(shù)DoWhileDemo.java。

public class DoWhileDemo {public static void main(String[] args) {int x = 1; // 定義變量x,初始值為1do {System.out.println("x = " + x); // 打印x的值x++; // 將x的值自增} while (x <= 4); // 循環(huán)條件 } }

do …while循環(huán)和while循環(huán)能實(shí)現(xiàn)同樣的功能。然而在程序運(yùn)行過(guò)程中,這兩種語(yǔ)句還是有差別的。如果循環(huán)條件在循環(huán)語(yǔ)句開(kāi)始時(shí)就不成立,那么while循環(huán)的循環(huán)體一次都不會(huì)執(zhí)行,而do…while循環(huán)的循環(huán)體還是會(huì)執(zhí)行一次。若將DoWhileDemo.java中的循環(huán)條件x<=4改為x < 1DoWhileDemo.java運(yùn)行結(jié)果會(huì)打印x=1,而WhileDemo.java運(yùn)行結(jié)果什么也不會(huì)打印。

無(wú)限循環(huán)

最簡(jiǎn)單無(wú)限循環(huán)格式:

while(true){}或for(;;){}

無(wú)限循環(huán)存在的原因是并不知道循環(huán)多少次,而是根據(jù)某些條件,來(lái)控制循環(huán)。

循環(huán)嵌套

嵌套循環(huán)是指在一個(gè)循環(huán)語(yǔ)句的循環(huán)體中再定義一個(gè)循環(huán)語(yǔ)句的語(yǔ)法結(jié)構(gòu)。while、do…whilefor循環(huán)語(yǔ)句都可以進(jìn)行嵌套,并且它們之間也可以互相嵌套,如最常見(jiàn)的在for循環(huán)中嵌套for循環(huán),格式如下:

for(初始化表達(dá)式; 循環(huán)條件; 操作表達(dá)式) {………for(初始化表達(dá)式; 循環(huán)條件; 操作表達(dá)式) {執(zhí)行語(yǔ)句………}……… }

接下來(lái)實(shí)現(xiàn)使用*”打印直角三角形,如下所示。ForForDemo.java

public class ForForDemo {public static void main(String[] args) {int i, j; // 定義兩個(gè)循環(huán)變量for (i = 1; i <= 9; i++) { // 外層循環(huán)for (j = 1; j <= i; j++) { // 內(nèi)層循環(huán)System.out.print("*"); // 打印* }System.out.print("\n"); // 換行 }} }

運(yùn)行結(jié)果如下所示:

在上述代碼中定義了兩層for循環(huán),分別為外層循環(huán)和內(nèi)層循環(huán),外層循環(huán)用于控制打印的行數(shù),內(nèi)層循環(huán)用于打印“*”,每一行的“*”個(gè)數(shù)逐行增加,最后輸出一個(gè)直角三角形。由于嵌套循環(huán)程序比較復(fù)雜,下面分步驟進(jìn)行詳細(xì)地講解,具體如下:

  • 第一步,在第3行代碼定義了兩個(gè)循環(huán)變量ij,其中i為外層循環(huán)變量,j為內(nèi)層循環(huán)變量。
  • 第二步,在第4行代碼將i初始化為1,條件i <= 9true,首次進(jìn)入外層循環(huán)的循環(huán)體。
  • 第三步,在第5行代碼將j初始化為1,由于此時(shí)i的值為1,條件j?<= itrue,首次進(jìn)入內(nèi)層循環(huán)的循環(huán)體,打印一個(gè)“*”。
  • 第四步,執(zhí)行第5行代碼中內(nèi)層循環(huán)的操作表達(dá)式j++,將j的值自增為2。
  • 第五步,執(zhí)行第5行代碼中的判斷條件j<=i,判斷結(jié)果為false,內(nèi)層循環(huán)結(jié)束。執(zhí)行后面的代碼,打印換行符。
  • 第六步,執(zhí)行第4行代碼中外層循環(huán)的操作表達(dá)式i++,將i的值自增為2。
  • 第七步,執(zhí)行第4行代碼中的判斷條件i<=9,判斷結(jié)果為true,進(jìn)入外層循環(huán)的循環(huán)體,繼續(xù)執(zhí)行內(nèi)層循環(huán)。
  • 第八步,由于i的值為2,內(nèi)層循環(huán)會(huì)執(zhí)行兩次,即在第2行打印兩個(gè)“*”。在內(nèi)層循環(huán)結(jié)束時(shí)會(huì)打印換行符。
  • 第九步,以此類推,在第3行會(huì)打印3個(gè)“*”,逐行遞增,直到i的值為10時(shí),外層循環(huán)的判斷條件i <= 9結(jié)果為false,外層循環(huán)結(jié)束,整個(gè)程序也就結(jié)束了。

跳轉(zhuǎn)語(yǔ)句(break、continue

跳轉(zhuǎn)語(yǔ)句用于實(shí)現(xiàn)循環(huán)執(zhí)行過(guò)程中程序流程的跳轉(zhuǎn),在Java中的跳轉(zhuǎn)語(yǔ)句有break語(yǔ)句和continue語(yǔ)句。接下來(lái)分別進(jìn)行詳細(xì)地講解。

break語(yǔ)句

switch條件語(yǔ)句和循環(huán)語(yǔ)句中都可以使用break語(yǔ)句。當(dāng)它出現(xiàn)在switch條件語(yǔ)句中時(shí),作用是終止某個(gè)case并跳出switch結(jié)構(gòu)。當(dāng)它出現(xiàn)在循環(huán)語(yǔ)句中,作用是跳出循環(huán)語(yǔ)句,執(zhí)行后面的代碼。

接下來(lái)通過(guò)下面一段代碼,實(shí)現(xiàn)將當(dāng)變量x的值為3時(shí),使用break語(yǔ)句跳出循環(huán),代碼如下所示。BreakDemo.java

public class BreakDemo {public static void main(String[] args) {int x = 1; // 定義變量x,初始值為1while (x <= 4) { // 循環(huán)條件System.out.println("x = " + x); // 條件成立,打印x的值if (x == 3) {break;}x++; // x進(jìn)行自增 }} }
在上述帶代碼中,通過(guò)while循環(huán)打印x的值,當(dāng)x的值為3時(shí)使用break語(yǔ)句跳出循環(huán)。因此打印結(jié)果中并沒(méi)有出現(xiàn)“x=4”。

標(biāo)記

當(dāng)break語(yǔ)句出現(xiàn)在嵌套循環(huán)中的內(nèi)層循環(huán)時(shí),它只能跳出內(nèi)層循環(huán),如果想使用break語(yǔ)句跳出外層循環(huán)則需要對(duì)外層循環(huán)添加標(biāo)記。接下來(lái)將ForForDemo.java稍作修改,控制程序只打印4行“*”,如下所示。BreakDemo02.java

public class BreakDemo02 {public static void main(String[] args) {int i, j; // 定義兩個(gè)循環(huán)變量AA: for (i = 1; i <= 9; i++) { // 外層循環(huán)for (j = 1; j <= i; j++) { // 內(nèi)層循環(huán)if (i > 4) { // 判斷i的值是否大于4break AA; // 跳出外層循環(huán) }System.out.print("*"); // 打印* }System.out.print("\n"); // 換行 }} }

BreakDemo02.javaForForDemo.java實(shí)現(xiàn)原理類似,只是在外層for循環(huán)前面增加了標(biāo)記“AA”。當(dāng)i>4時(shí),使用break AA;語(yǔ)句跳出外層循環(huán)。因此程序只打印了4行“*”。

continue語(yǔ)句

continue語(yǔ)句用在循環(huán)語(yǔ)句中,它的作用是終止本次循環(huán),執(zhí)行下一次循環(huán)。接下來(lái)通過(guò)一個(gè)練習(xí)對(duì)1~100之內(nèi)的奇數(shù)求和,ContinueDemo.java

public class ContinueDemo {public static void main(String[] args) {int sum = 0; // 定義變量sum,用于記住和for (int i = 1; i <= 100; i++) {if (i % 2 == 0) { // i是一個(gè)偶數(shù),不累加continue; // 結(jié)束本次循環(huán) }sum += i; // 實(shí)現(xiàn)sum和i的累加 }System.out.println("sum = " + sum);} } //sum = 2500

上述代碼中,使用for循環(huán)讓變量i的值在1~100之間循環(huán),在循環(huán)過(guò)程中,當(dāng)i的值為偶數(shù)時(shí),將執(zhí)行continue語(yǔ)句結(jié)束本次循環(huán),進(jìn)入下一次循環(huán)。當(dāng)i的值為奇數(shù)時(shí),sumi進(jìn)行累加,最終得到1~100之間所有奇數(shù)的和,打印“sum = 2500”。

在嵌套循環(huán)語(yǔ)句中,continue語(yǔ)句后面也可以通過(guò)使用標(biāo)記的方式結(jié)束本次外層循環(huán),用法與break語(yǔ)句相似,在此不再舉例說(shuō)明。

猜數(shù)字案例

案例介紹

猜數(shù)字案例是要完成什么樣的功能呢?顧名思義,這個(gè)游戲就是你出個(gè)數(shù)字、我來(lái)猜。

游戲操作如下:

后臺(tái)預(yù)先生成一個(gè)1-100之間的隨機(jī)數(shù),用戶鍵盤錄入猜數(shù)字

如果猜對(duì)了,打印“恭喜您,答對(duì)了”

如果猜錯(cuò)了

  • 猜大了:打印sorry,您猜大了!
  • 猜小了:打印sorry,您猜小了!
  • 直到數(shù)字猜到為止

思路

1.通過(guò)Random類中方法nextInt(),生成一個(gè)1-100之間的隨機(jī)數(shù)

2.輸入猜的數(shù)字

3.通過(guò)while循環(huán),進(jìn)行猜數(shù)字對(duì)錯(cuò)判斷

猜對(duì),跳出循環(huán),游戲結(jié)束

猜錯(cuò)了,根據(jù)結(jié)果,給出提示,接著猜數(shù)字,游戲繼續(xù)

如果猜大了,打印sorry,您猜大了!繼續(xù)下一次循環(huán)

如果猜小了,打印sorry,您猜小了!繼續(xù)下一次循環(huán)

實(shí)現(xiàn)代碼步驟

分析完畢之后,完成代碼的編寫(xiě):GuessNumber.java

import java.util.Random; import java.util.Scanner;public class GuessNumber {public static void main(String[] args) { //1.通過(guò)Random類中方法nextInt(),生成一個(gè)1-100之間的隨機(jī)數(shù)int randomNumber = new Random().nextInt(100);System.out.println("隨機(jī)數(shù)已生成!"); //2.輸入猜的數(shù)字System.out.println("----請(qǐng)輸入您猜的數(shù)字:----");Scanner sc = new Scanner(System.in);int enterNumber = sc.nextInt(); //3.通過(guò)while循環(huán),進(jìn)行猜數(shù)字對(duì)錯(cuò)判斷 //猜對(duì),跳出循環(huán),游戲結(jié)束while (enterNumber != randomNumber) { //猜錯(cuò)了,根據(jù)結(jié)果,給出提示,接著猜數(shù)字,游戲繼續(xù)if (enterNumber > randomNumber) { //如果猜大了,打印sorry,您猜大了!繼續(xù)下一次循環(huán)System.out.println("sorry,您猜大了!繼續(xù)下一次循環(huán)");} else { //如果猜小了,打印sorry,您猜小了!繼續(xù)下一次循環(huán)System.out.println("sorry,您猜小了!繼續(xù)下一次循環(huán)");} //輸入猜的數(shù)字System.out.println("----請(qǐng)輸入您猜的數(shù)字:----");enterNumber = sc.nextInt();}System.out.println("恭喜您,答對(duì)了!");}}

運(yùn)行結(jié)果:

?

轉(zhuǎn)載于:https://www.cnblogs.com/ginb/p/7105719.html

總結(jié)

以上是生活随笔為你收集整理的Java基础学习笔记三 Java基础语法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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