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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java 一维数组_java基础 ---- 一维数组

發布時間:2023/12/1 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 一维数组_java基础 ---- 一维数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么要使用數組: 因為不使用數組計算多個變量的時候太繁瑣,不利于數據的處理。

-------- ? 數組也是一個變量,是存儲一組相同類型的變量

聲明一個變量就是在內存中劃出一塊合適的空間

聲明一個數組就是在內存中劃出一塊連續的空間

數組長度就是數組存放了多少個數,最大下標等于數組長度減一

數組中所有的元素必須屬于相同的數據類型

----------- ?如何使用數組

注意: 在邊聲明邊賦值的時候不要再聲明長度了 ? [] 中不要在寫值了偶

邊聲明邊賦值的時候數組的長度就被確定了,不能在往數組里面添加數字了

---- ? 練習

importjava.util.Scanner;public classArrayDemo {/*** 使用數組計算平均分*/

public static voidmain(String[] args) {int[] scores = new int[5]; //成績數組

int sum = 0; //成績總和

Scanner input = newScanner(System.in);

System.out.println("請輸入5位學員的成績:");for(int i = 0; i < scores.length; i++){

scores[i]=input.nextInt();

sum= sum + scores[i]; //成績累加

}/*//使用foreach遍歷

for(int i = 0; i < scores.length; i++){

scores[i] = input.nextInt();

}

for(int score:scores){

sum+=score;

}*/

//計算并輸出平均分

System.out.println("學員的平均分是:" + (double)sum/scores.length);

}

}

----- 使用數組的常見錯誤

1、直接賦值的時候不需要寫長度 ?但是不賦值的話要寫長度, ? ?int[] scores = new int[];

2、數組下標越界異常 ? ? ?下標超過了數組長度減一的值

3、在進行創建數組并賦值的時候要放在同一條語句中

---- ?猜數游戲

import java.util.*;public classGuessData {public static voidmain(String[] args) {int[] list = new int[] { 8, 4, 2, 1, 23, 344, 12 }; //創建數組并賦值

int sum=0;//循環輸出數列的值//求數列中所有數值的和

for(intnum:list){

System.out.println(num);

sum+=num;

}

System.out.println("數組元素之和為:"+sum);

Scanner input= newScanner(System.in);

System.out.print("請輸入一個整數: ");int guess =input.nextInt();boolean isCorrect = false;for (int i = 0; i < list.length; i++) {if (guess ==list[i]) {

isCorrect= true;break;

}

}if(isCorrect) {

System.out.println("猜對了!");

}else{

System.out.println("Sorry!");

}

}

}

----- ? 求最大值

importjava.util.Scanner;public classMaxScore {/*** 求數組最大值*/

public static voidmain(String[] args) {int[] scores = new int[5];int max = 0; //記錄最大值

System.out.println("請輸入5位學員的成績:");

Scanner input= newScanner(System.in);for(int i = 0; i < scores.length; i++){

scores[i]=input.nextInt();

}//計算最大值//使用max存儲擂主初始值:第一個元素為擂主

max = scores[0];//循環打擂

for(int i = 1; i < scores.length; i++){if(scores[i] >max){

max=scores[i];

}

}

System.out.println("考試成績最高分為:" +max);

}

}

---------- ?插入數值

有一個降序排列的數組,新增一個數字,也要保持降序排列

注要就是把插入的數值與數組中的值依次進行比較,找到第一個數值比他小的位置,就是他要插入的位置,然后在把他下標往后面的移動一位,

import java.util.*;public classInsert {public static voidmain(String[] args) {int[] list = new int[6]; //長度為為6的數組

list[0] = 99;

list[1] = 85;

list[2] = 82;

list[3] = 63;

list[4] = 60;int index = list.length; //保存新增成績插入位置

System.out.println("請輸入新增成績: ");

Scanner input= newScanner(System.in);int num = input.nextInt(); //輸入要插入的數據//找到新元素的插入位置

for (int i = 0; i < list.length; i++) {if (num >list[i]) {

index=i;break;

}

}//元素后移

for (int j = list.length - 1; j > index; j--) {

list[j]= list[j - 1]; //index下標開始的元素后移一個位置

}

list[index]= num;//插入數據

System.out.println("插入成績的下標是:" +index);

System.out.println("插入后的成績信息是: ");for (int k = 0; k < list.length; k++) { //循環輸出目前數組中的數據

System.out.print(list[k] + "\t");

}

}

}

----- ?統計數組中奇數和偶數的個數

packagecn.jbit.lesson3;importjava.util.Scanner;/*** 統計數組中的奇數和偶數的個數**/

public classArrayEx {public static voidmain(String[] args) {int[] array = new int[8];

Scanner input= newScanner(System.in);int count1 = 0; //記錄奇數的個數

int count2 = 0; //記錄偶數的個數//從控制臺接收8個整數,分別統計奇數和偶數的個數

for(int i=0;i

System.out.print("請輸入第"+(i+1)+"個整數:");

array[i]=input.nextInt();if(array[i]%2==0){

count1++;

}else{

count2++;

}

}

System.out.println();

System.out.println("奇數的個數是:"+count2+"。");

System.out.println("偶數的個數是:"+count1+"。");

}

}

---- ?數組倒敘復制輸出

1 packagecn.jbit.lesson3;2 /**

3 * 數組倒序復制輸出4 *@authorboge5 *6 */

7 public classArrayEx2 {8 public static voidmain(String[] args) {9 int[] array = new int[10]; //源數組

10 int[] newArray = new int[10]; //目標數組

11 for(int i=0;i

13 }14 System.out.println("原數組:");15 for(intnum:array){16 System.out.print(num+"\t");17 }18

19 System.out.println();20

21 int index = array.length-1;22

23 for(int i=0;i

27 System.out.println("新數組:");28 for(intnum:newArray){29 System.out.print(num+"\t");30 }31 }32 }

------ 去除數組中的0

/*** 去除數組中的0

**/

public classArrayEx3 {public static voidmain(String args[]){int oldArr [] = {11,31,23,54,0,0,77,90,0,5,42,71,63,79,60,53} ;int count = 0 ; //記錄數組中不為0的元素個數

for(int i = 0 ; i < oldArr.length; i++){if(oldArr[i] != 0){

count++ ; //統計個數

}

}int newArr [] = new int[count] ; //新數組//將原數組中不為0的元素保存到新數組中

int j = 0 ; //控制新數組的下標

for(int i = 0 ; i < oldArr.length; i++){if(oldArr[i] != 0){

newArr[j++] =oldArr[i] ;

}

}//輸出新數組

for(int i = 0 ; i< newArr.length ; i++){

System.out.print(newArr[i]+ "\t") ;

}

}

}

---- ?合并數組

1 public classArrayEx4 {2 public static voidmain(String args[]){3 int arrayA [] = new int[] {1,7,9,11,13,17,19} ;4 int arrayB [] = new int[] {2,4,6,8,10} ;5

6 int len = arrayA.length + arrayB.length ; //新數組的大小

7 int arrayC[] = new int[len] ; //新數組

8

9 System.arraycopy(arrayA,0,arrayC,0,arrayA.length) ; //拷貝第一個數組

10 System.arraycopy(arrayB,0,arrayC,arrayA.length,arrayB.length) ; //拷貝第二個數組

11 java.util.Arrays.sort(arrayC) ;12

13

14 for(int x = 0 ; x< arrayC.length ; x++){15 System.out.print(arrayC[x] + "、") ;16 }17 }18 }

總結

以上是生活随笔為你收集整理的java 一维数组_java基础 ---- 一维数组的全部內容,希望文章能夠幫你解決所遇到的問題。

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