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

歡迎訪問 生活随笔!

生活随笔

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

java

java数组的四个要素_Java零基础系列教程04Java数组

發(fā)布時間:2024/7/19 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java数组的四个要素_Java零基础系列教程04Java数组 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

配套視頻教程

問題Java考試結(jié)束后,老師給張浩分配了一項任務(wù),讓他計算全班(30人)的平均分int stu1 = 95;

int stu2 = 89;

int stu3 = 79;

int stu4 = 64;

int stu5 = 76;

int stu6 = 88;

……

avg = (stu1+stu2+stu3+stu4+stu5…+stu30)/30;

數(shù)組

數(shù)組是一個變量,存儲相同數(shù)據(jù)類型的一組數(shù)據(jù)

聲明一個變量就是在內(nèi)存空間劃出一塊合適的空間

聲明一個數(shù)組就是在內(nèi)存空間劃出一串連續(xù)的空間

數(shù)組基本要素標(biāo)識符:數(shù)組的名稱,用于區(qū)分不同的數(shù)組

數(shù)組元素:向數(shù)組中存放的數(shù)據(jù)

元素下標(biāo):對數(shù)組元素進(jìn)行編號,從0開始,數(shù)組中的每個元素都可以通過下標(biāo)來訪問

元素類型:數(shù)組元素的數(shù)據(jù)類型

數(shù)組長度固定不變,避免數(shù)組越界

數(shù)組中的所有元素必須屬于相同的數(shù)據(jù)類型

使用數(shù)組步驟:

聲明數(shù)組: 告訴計算機(jī)數(shù)據(jù)類型是什么int[ ] score1; //Java考試成績

int score2[ ]; //oracle考試成績

String[ ] name; //學(xué)生姓名

分配空間: 告訴計算機(jī)分配幾個連續(xù)的空間score = new int[30];

avgAge = new int[6];

name = new String[30];

聲明數(shù)組并分配空間

數(shù)據(jù)類型[ ] 數(shù)組名 = new 數(shù)據(jù)類型[大小] ;

賦值:向分配的格子里放數(shù)據(jù)

score[0] = 89;

score[1] = 79;

score[2] = 76;

……![image.png](http://upload-images.jianshu.io/upload_images/468490-40a98f27e4e44f00.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

方法1: 邊聲明邊賦值

int[ ] score = {89, 79, 76};

int[ ] score = new int[ ]{89, 79, 76};方法2:動態(tài)地從鍵盤錄入信息并賦值

Scanner input = new Scanner(System.in);

for(int i = 0; i < 30; i ++){score[i] = input.nextInt();

}4. 對數(shù)據(jù)進(jìn)行處理:計算5位學(xué)生的平均分

int [ ] score = {60, 80, 90, 70, 85};

double avg;

avg = (score[0] + score[1] + score[2] + score[3] + score[4])/5;訪問數(shù)組成員:使用“標(biāo)識符[下標(biāo)]”

int [ ] score = {60, 80, 90, 70, 85};

int sum = 0;

double avg;

for(int i = 0; i < score.length; i++){sum = sum + score[i];

}

avg = sum / score.length;### 例子

>計算全班學(xué)員的平均分

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

int sum = 0; //成績總和

Scanner input = new Scanner(System.in);

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

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

scores[i] = input.nextInt();

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

}

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

}### 數(shù)組使用常見錯誤

public class ErrorDemo1 {public static void main(String[ ] args){

int[ ] score = new int[ ];

score[0] = 89;

score[1] = 63;

System.out.println(score[0]);

}

}

public class ErrorDemo2 {public static void main(String[ ] args) {

int[ ] scores = new int[2];

scores[0] = 90;

scores[1] = 85;

scores[2] = 65;

System.out.println(scores[2]);

}

}

public static void main(String[ ] args){int[ ] score = new int[5];

score = {60, 80, 90, 70, 85};

int[ ] score2;

score2 = {60, 80, 90, 70, 85};

}#### 一個練習(xí)

> 有一個數(shù)列:8,4,2,1,23,344,12

循環(huán)輸出數(shù)列的值

求數(shù)列中所有數(shù)值的和

猜數(shù)游戲:從鍵盤中任意輸入一個數(shù)據(jù),判斷數(shù)列中是否包含此數(shù)

// 有一個數(shù)列:8,4,2,1,23,344,12

// 循環(huán)輸出數(shù)列的值

// 求數(shù)列中所有數(shù)值的和// 猜數(shù)游戲:從鍵盤中任意輸入一個數(shù)據(jù),判斷數(shù)列中是否包含此數(shù)

int[] array = {8,4,2,1,23,344,12};

Scanner scanner = new Scanner(System.in);

System.out.println("請輸入一個數(shù)");

int num = scanner.nextInt();

int i = 0;

//拿數(shù)組中的每一個元素和num比較,如果想等,輸出包含,否則,輸出不包含

for(i = 0; i < array.length; i++)

{

if(array[i]==num)

{

System.out.println("包含");

break;

}

}

//說明循環(huán)了一圈都沒有發(fā)現(xiàn)用戶輸入的值

if(i==array.length)

{

System.out.println("不包含");

}### 數(shù)組排序

>循環(huán)錄入5位學(xué)員成績,進(jìn)行升序排列后輸出結(jié)果

使用java.util.Arrays類

java.util包提供了許多工具類

Arrays類提供操作數(shù)組的方法,例排序、查詢

Arrays類的sort()方法: 對數(shù)組進(jìn)行升序排列……

int[] scores = new int[5]; //成績數(shù)組

Scanner input = new Scanner(System.in);

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

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

scores[i] = input.nextInt();

}

Arrays.sort(scores);

System.out.print("學(xué)員成績按升序排列:");

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

System.out.print(scores[i] + " ");

}### 查找數(shù)組中的最大值

>從鍵盤輸入本次Java考試五位學(xué)生的成績,求考試成績最高分

// 從鍵盤輸入本次Java考試五位學(xué)生的成績,求考試成績最高分//將5個成績保存到數(shù)組中,

//然后,遍歷數(shù)組,找出數(shù)組中最大的數(shù)

Scanner scanner = new Scanner(System.in);

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

int[] scores = new int[5];

//將5個成績保存到數(shù)組中,

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

{

System.out.println("輸入第" + (i + 1) + "次成績");

scores[i] = scanner.nextInt();

}

//然后,遍歷數(shù)組,找出數(shù)組中最大的數(shù)

int max = scores[0];讓max等于數(shù)組中第一個元素

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

{

if(max < scores[i])

{

max = scores[i];//誰比他大,他就變成誰

}

}

System.out.println("最大值是" + max);### 數(shù)組插入算法

>有一組學(xué)員的成績{99,85,82,63, 60},將它們按升序排列。要增加一個學(xué)員的成績,將它插入成績序列,并保持升序。

![image.png](http://upload-images.jianshu.io/upload_images/468490-91ddf9a656c28cc8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

分析:

將成績序列保存在長度為6的數(shù)組中

通過比較找到插入位置

將該位置后的元素后移一個位置

將增加的學(xué)員成績插入到該位置

// 有一組學(xué)員的成績{99,85,82,63, 60},將它們按升序排列。

// 要增加一個學(xué)員的成績,將它插入成績序列,并保持升序int[] scores = {99,85,82,63, 60};

Arrays.sort(scores);

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

{

System.out.print(scores[i]+" ");

}

// 要增加一個學(xué)員的成績,將它插入成績序列,并保持升序

Scanner scanner = new Scanner(System.in);

System.out.println("請輸入下一個學(xué)生成績");

int input = scanner.nextInt();

int pos = 0;//用戶輸入的數(shù)在新數(shù)組中正確的插入位置

//遍歷原始數(shù)組,找到要插入的位置

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

{

if(input <= scores[i])

{

pos = i;

break;

}

}

//再建一個新的數(shù)組,包含6個元素

int[] scores2 = new int[6];

//拷貝舊數(shù)組從0開始

// 到pos位置的數(shù)到對應(yīng)新數(shù)組同樣下標(biāo)中

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

{

scores2[i] = scores[i];

}

scores2[pos] = input;

//拷貝舊數(shù)組從pos+1開始

// 到舊數(shù)組長度位置的數(shù)到對應(yīng)新數(shù)組同樣下標(biāo)中

for(int i = pos+1; i < scores2.length; i++)

{

scores2[i] = scores[i-1];

}

for(int i = 0; i

{

System.out.print(scores2[i]+" ");

}### 字符逆序輸出

將 一組亂序的字符進(jìn)行排序

進(jìn)行升序和逆序輸出

![image.png](http://upload-images.jianshu.io/upload_images/468490-3af982fb57629829.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

1.創(chuàng)建數(shù)組存儲原字符序列。

2.利用Array類的sort(?)方法對數(shù)組進(jìn)行排序,并循環(huán)輸出。

3. 從最后一個元素開始,將數(shù)組中的元素逆序輸出。char[] charArray2 = {'a','c','u','b','e','p','f','z'};

//字符串可以看成是字符數(shù)組

String str = "abcefpuz";

System.out.println(charArray2.length);

System.out.println(charArray2);

Arrays.sort(charArray2);

System.out.println(charArray2);

for(int i = charArray2.length - 1; i >= 0; i--)

{

System.out.print(charArray2[i]);

}在上一個練習(xí)的基礎(chǔ)上改進(jìn):

向上一個練習(xí)中得到的升序字符序列中插入一個新的字符,要求插入之后字符序列仍保持有序

![image.png](http://upload-images.jianshu.io/upload_images/468490-15d0dc92ea4bddd3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

### 字符串?dāng)?shù)組

>定義一個字符串?dāng)?shù)組,查找某個字符串在數(shù)組中出現(xiàn)的次數(shù)

String[] array = {"zhangsan","lisi","wangwu","lisi"};String name = "wangwu";

int count = 0;//count計數(shù),數(shù)字num在數(shù)組中出現(xiàn)的次數(shù)

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

{

if(array[i].equals(name))

{

count++;

}

}

System.out.println(count);### 作業(yè)

1.歌手打分:

在歌唱比賽中,共有10位評委進(jìn)行打分,在計算歌手得分時,去掉一個最高分,去掉一個最低分,然后剩余的8位評委的分?jǐn)?shù)進(jìn)行平均,就是該選手的最終得分。輸入每個評委的評分,求某選手的得分。

2.現(xiàn)在有如下一個數(shù)組:

int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};

要求將以上數(shù)組中的0項去掉,將不為0的值存入一個新的數(shù)組,生成新的數(shù)組為

總結(jié)

以上是生活随笔為你收集整理的java数组的四个要素_Java零基础系列教程04Java数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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