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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java 控制语句、数组、方法

發布時間:2024/4/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 控制语句、数组、方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、控制語句

1、if 語句

if語句是指如果滿足某種條件,就進行某種處理。

流程圖:

2、?if…else語句

語法格式:

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

流程圖:

3、?if…else ifelse語句

?語法格式:

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

流程圖:

4、?循環語句while

?語法結構:

while(循環條件){ 執行語句 ……… }

當循環條件為true時,循環體就會執行。循環體執行完畢時會繼續判斷循環條件,如條件仍為true則會繼續執行,直到循環條件為false時,整個循環過程才會結束。

?

如果循環條件直接賦值true,則會變成死循環:

while(true){ 執行語句 ……… }

?5、循環語句 for

for(初始化表達式; 循環條件; 操作表達式){執行語句……… }

接下來分別用①表示初始化表達式、②表示循環條件、③表示操作表達式、④表示循環體,通過序號來具體分析for循環的執行流程。

for(① ; ② ; ③){④ } 第一步,執行① 第二步,執行②,如果判斷結果為true,執行第三步,如果判斷結果為false,執行第五步 第三步,執行④ 第四步,執行③,然后重復執行第二步 第五步,退出循環

死循環格式:for(;;){}

?

6、?循環語句do…while

?語法結構:

do { 執行語句 ……… } while(循環條件);

流程圖:

先運行執行語句,當循環條件為true時,執行語句循環執行,直到循環條件為false時,整個循環過程才會結束。

7、?選擇結構switch

switch 條件語句也是一種很常用的選擇語句,它和if條件語句不同,它只能針對某個表達式的值作出判斷,從而決定程序執行哪一段代碼。

語法結構:

switch (表達式){case 目標值1:執行語句1break;//停止循環,如果沒有break還會繼續向下執行case 目標值2:執行語句2break;......case 目標值n:執行語句nbreak;default: //如果之前的目標值都沒有匹配,執行語句n+1執行語句n+1break; }

在上面的格式中,switch語句將表達式的值與每個case中的目標值進行匹配,如果找到了匹配的值,會執行對應case后的語句,如果沒找到任何匹配的值,就會執行default后的語句。

?

注意:switch語句中的表達式只能是byteshortcharint類型的值,如果傳入其它類型的值,程序會報錯.

JDK7.0中也引入了新特性,switch語句可以接收一個String類型的值。

8、?循環嵌套

?whiledo…whilefor循環語句都可以進行嵌套,并且它們之間也可以互相嵌套,如最常見的在for循環中嵌套for循環

for(初始化表達式; 循環條件; 操作表達式) {………for(初始化表達式; 循環條件; 操作表達式) {執行語句………}……… }

9、跳轉語句(breakcontinue

?break語句

它出現在循環語句中,作用是跳出循環語句,執行后面的代碼。

當break語句出現在嵌套循環中的內層循環時,它只能跳出內層循環,如果想使用break語句跳出外層循環則需要對外層循環添加標記。

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

?continue語句

continue語句用在循環語句中,它的作用是終止本次循環,執行下一次循環。

//練習對1~100之內的奇數求和 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是一個偶數,不累加continue; // 結束本次循環 }sum += i; // 實現sum和i的累加 }System.out.println("sum = " + sum);} }

二、引用數據類型

引用數據類型的使用步驟:

數據類型 ?變量名 ?= ?new 數據類型();

每種引用數據類型都有其功能,我們可以調用該類型實例的功能。

變量名.方法名();

?1、Scanner

?Scanner類是引用數據類型的一種,我們可以使用該類來完成用戶鍵盤錄入,獲取到錄入的數據。

?Scanner使用步驟:

導包:import?java.util.Scanner;

創建對象實例:Scanner sc = new Scanner(System.in);

調用方法:

int ?i = sc.nextInt();?//用來接收控制臺錄入的數字

String s = sc.next();?//用來接收控制臺錄入的字符串

?2、Random類

這個Random類,用來產生隨機數,它可以產生多種數據類型的隨機數,

public int nextInt(int maxValue) //產生[0,maxValue)范圍的隨機整數,包含0,不包含maxValue; public double nextDouble() //產生[0,1)范圍的隨機小數,包含0.0,不包含1.0

Random?使用步驟::

?import導包:所屬包java.util.Random??

?創建實例格式:Random 變量名 = new Random();

?例:

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

?三、數組

1、定義格式:

數據類型[ ] 數組名 = new??數據類型?[元素個數或數組長度];

數組的靜態初始化有兩種方式

1、類型[] 數組名 = new 類型[]{元素,元素,……}; 2、類型[] 數組名 = {元素,元素,元素,……};

2、數組遍歷

在操作數組時,經常需要依次訪問數組中的每個元素,這種操作稱作數組的遍歷。

public class ArrayDemo04 {public static void main(String[] args) {int[] arr = { 1, 2, 3, 4, 5 }; // 定義數組// 使用for循環遍歷數組的元素for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]); // 通過索引訪問元素1,2,3,4,5 }} }

3、?數組的常見問題

數組最值

public class ArrayDemo05 {public static void main(String[] args) {int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定義一個數組 int max = arr[0]; // 定義變量max用于記住最大數,首先假設第一個元素為最大值// 下面通過一個for循環遍歷數組中的元素for (int x = 1; x < arr.length; x++) {if (arr[x] > max) { // 比較 arr[x]的值是否大于maxmax = arr[x]; // 條件成立,將arr[x]的值賦給max }}System.out.println("max=" + max); // 打印最大值 } }

?

數組異常

1>數組越界異常

每個數組的索引都有一個范圍,即0~length-1。在訪問數組的元素時,索引不能超出這個范圍,否則程序會報錯

1public class ArrayDemo06 {2 public static void main(String[] args) {3 int[] arr = new int[4]; // 定義一個長度為4的數組4 System.out.println("arr[0]=" + arr[4]); // 通過角標4訪問數組元素5 }6}

?運行結果:

現這個異常的原因是數組的長度為4,其索引范圍為0~3,而上述代碼中的第4行代碼使用索引4來訪問元素時超出了數組的索引范圍。

?2>空指針異常

在使用變量引用一個數組時,變量必須指向一個有效的數組對象,如果該變量的值為null,則意味著沒有指向任何數組,此時通過該變量訪問數組的元素會出現空指針異常

?

1public class ArrayDemo07 {2 public static void main(String[] args) {3 int[] arr = new int[3]; // 定義一個長度為3的數組4 arr[0] = 5; // 為數組的第一個元素賦值5 System.out.println("arr[0]=" + arr[0]); // 訪問數組的元素6 arr = null; // 將變量arr置為null7 System.out.println("arr[0]=" + arr[0]); // 訪問數組的元素8 }9}

運行結果:

通過上圖所示的運行結果可以看出,上述代碼中第45行代碼都能通過變量arr正常地操作數組。第6行代碼將變量置為null,當第7行代碼再次訪問數組時就出現了空指針異常NullPointerException

?4、二維數組

?二維數組的定義方式:

/*第一種方法*/ int[][] arr = new int[3][4];//相當于定義了一個3*4的二維數組,3個長度是4的一維數組 /*第二種方法*/ int[][] arr = new int[3][];//和第一種類似,只是數組中每個元素的長度不確定 /*第三種方法*/ int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};//直接賦值

?

?二維數組元素遍歷:兩個for循環內嵌

?數組元素累加和:利用遍歷相加

?例:接下來通過一個案例來熟悉二維數組的使用。

例如要統計一個公司三個銷售小組中每個小組的總銷售額以及整個公司的銷售額。如下所示

l?第一小組銷售額為{11, 12}萬元

l?第二小組銷售額為{21, 22, 23}萬元

l?第三小組銷售額為{31, 32, 33, 34}萬元。

?

1public class ArrayDemo10 {2 public static void main(String[] args) {3 int[][] arr = new int[3][]; // 定義一個長度為3的二維數組4 arr[0] = new int[] { 11, 12 }; // 為數組的元素賦值5 arr[1] = new int[] { 21, 22, 23 };6 arr[2] = new int[] { 31, 32, 33, 34 };7 8 int sum = 0; // 定義變量記錄總銷售額9 for (int i = 0; i < arr.length; i++) { // 遍歷數組元素10 int groupSum = 0; // 定義變量記錄小組銷售總額11 for (int j = 0; j < arr[i].length; j++) { // 遍歷小組內每個人的銷售額12 groupSum = groupSum + arr[i][j];13 }14 sum = sum + groupSum; // 累加小組銷售額15 System.out.println("第" + (i + 1) + "小組銷售額為:" + groupSum + " 萬元");16 }17 System.out.println("總銷售額為: " + sum + " 萬元");18 }19}

?

?運行結果:

?

?例2:游戲操作如下:

l?后臺預先生成一個1-100之間的隨機數,用戶鍵盤錄入猜數字

l?如果猜對了,打印“恭喜您,答對了”

l?如果猜錯了

猜大了:打印sorry,您猜大了!

猜小了:打印sorry,您猜小了!

l?直到數字猜到為止

import java.util.Random;//導入包Random import java.util.Scanner;//導入包Scanne class Demo04 {public static void main(String[] args) {Random r = new Random();int a=r.nextInt(99);//隨機產生0-99的數int b=a+1;//隨機產生0-99的數System.out.println("請輸入您猜測的數:");Scanner sc = new Scanner(System.in);int x=sc.nextInt();//輸入猜測的數 x while(true){if(x>b){System.out.println("sorry,您猜大了!");}else if(x<b){System.out.println("sorry,您猜小了!");}else{System.out.println("恭喜您,答對了");break;}x=sc.nextInt();}

?

轉載于:https://www.cnblogs.com/dk2557/p/9328964.html

總結

以上是生活随笔為你收集整理的java 控制语句、数组、方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。