Java(6)-使用【Arrays類(lèi)】操作Java中的數(shù)組

6. 使用【Arrays類(lèi)】操作Java中的數(shù)組

Arrays 類(lèi)是 Java 中提供的一個(gè)工具類(lèi)挪鹏,在 java.util 包中拉庶。該類(lèi)中包含了一些方法用來(lái)直接操作數(shù)組杨刨,比如可直接實(shí)現(xiàn)數(shù)組的排序映之、搜索等沾乘;

6.1 要使用Arrays類(lèi)怜奖,必須先導(dǎo)入對(duì)應(yīng)的包:

import java.util.Arrays;

6.2 介紹一些Arrays中常用的方法

6.2.1 排序

語(yǔ)法: Arrays.sort(數(shù)組名);

可以使用 sort( ) 方法實(shí)現(xiàn)對(duì)數(shù)組的排序,只要將數(shù)組名放在 sort( ) 方法的括號(hào)中意鲸,就可以完成對(duì)該數(shù)組的排序(按升序排列);

6.2.1.2 小疑惑烦周?
import java.util.Arrays;//導(dǎo)入Arrays類(lèi)
public class HelloWorld {
    public static void main(String[] args) {
        int[] nums = {23, 564, 63, 4, 78, 12, 0};
        Arrays.sort(nums);
        for(int i =0; i<nums.length; i++){
            System.out.println(nums[i]);
        }
        System.out.println(nums);//[I@659e0bfd 這是什么鬼?
        
        //System.out.println( Arrays.sort(nums));// 會(huì)報(bào)錯(cuò)怎顾,和main有關(guān)把;
    
    }
}
  • 輸出nums,打印的是神馬玩意漱贱?
    • JavaScript是可以直接打印數(shù)組的槐雾,但Java中打印數(shù)組出來(lái)的那個(gè)是什么鬼?
  • 既然我使用sort()排序了幅狮,為什么不能直接輸出Arrays.sort(nums)?
    • 大致猜出募强,估計(jì)和main方法前的void有關(guān)系;
  • Java和JavaScript還是有區(qū)別的崇摄;

6.2.2 將數(shù)組轉(zhuǎn)換成字符串

語(yǔ)法: Arrays.toString(數(shù)組名);

可以使用 toString( ) 方法將一個(gè)數(shù)組轉(zhuǎn)換成字符串擎值,該方法按順序多個(gè)數(shù)組元素連接在一起,多個(gè)元素之間使用逗號(hào)和空格隔開(kāi);

舉個(gè)栗子:

  • 寫(xiě)完這個(gè)栗子逐抑,感覺(jué)之前上面的小疑惑少了不少:

    貌似println輸出的是字符類(lèi)型鸠儿,要把數(shù)組轉(zhuǎn)化成字符才能輸出,輸出結(jié)果是[元素1, 元素2,...],之前還猜測(cè)Java數(shù)組輸出形式不會(huì)是{元素1厕氨, 元素2, ...}进每,捂臉啊...

6.3 java中使用foreach遍歷數(shù)組

foreachfor語(yǔ)句的特殊簡(jiǎn)化版本,它在遍歷數(shù)組命斧、集合的時(shí)候更簡(jiǎn)單便捷田晚;

語(yǔ)法:

for(元素類(lèi)型 元素變量:遍歷對(duì)象){
    // 執(zhí)行的代碼;
}

舉個(gè)栗子:

import java.util.Arrays;
public class HelloWorld{
        public static void main(String[] args){ 
        String songs[] = {"煎餅", "果子", "來(lái)一套"};
        for(String song: songs ){
            System.out.println(song);
        }
    }
}

  • 對(duì)比f(wàn)or與foreach:

注意:
元素變量相當(dāng)于遍歷對(duì)象中的一個(gè)實(shí)例国葬,名字只要符合標(biāo)準(zhǔn)規(guī)范即可贤徒,與JavaScript中的for item in 遍歷對(duì)象的item類(lèi)似;

如果想在 foreach 語(yǔ)句中獲取數(shù)組元素的下標(biāo)汇四,該如何做呢接奈??

  • 在外部定義一個(gè)變量船殉,初始化為0鲫趁,遍歷的同時(shí)讓這個(gè)變量記錄循環(huán)的次數(shù),把記錄的次數(shù)當(dāng)它的下標(biāo)利虫;


Java中的二維數(shù)組

二維數(shù)組也相當(dāng)于一種特殊的``一維數(shù)組挨厚,只不過(guò)它的每個(gè)數(shù)組空間中保存的是一個(gè)一維數(shù)組`;

有點(diǎn)繞堡僻,我自己認(rèn)為,它就是一維數(shù)組里面套一維數(shù)組,不知道對(duì)不對(duì)疫剃;

二維數(shù)組的聲明:

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

數(shù)據(jù)類(lèi)型[][] 數(shù)組名 = new 數(shù)據(jù)類(lèi)型[行的個(gè)數(shù)][列的個(gè)數(shù)];

另一種寫(xiě)法:

數(shù)據(jù)類(lèi)型[][] 數(shù)組名;
數(shù)組名 = new 數(shù)據(jù)類(lèi)型[行的個(gè)數(shù)][列的個(gè)數(shù)];

舉栗:

// 定義一個(gè)三行兩列的二維數(shù)組
int[][] test_demo = new int[3][2];

2.賦值
一維數(shù)組和二維數(shù)組都可以通過(guò)下標(biāo)來(lái)逐個(gè)賦值钉疫,下標(biāo)的索引是從0開(kāi)始的;

//二維數(shù)組賦值
數(shù)組名[行的索引][列的索引] = 值;

舉栗:

// 定義一個(gè)2行2列的二維數(shù)組
int[][] num = new int[2][2];
給第1行第1列賦值為2
num[0][0] = 2;

也可以在聲明數(shù)組的同時(shí)為其賦值:

數(shù)據(jù)類(lèi)型[][] 數(shù)組名={{a1,a2...},{a11,a22...},{a21,a22...},...};

臥槽巢价,看慕課上寫(xiě)的這個(gè)地方我有點(diǎn)懵逼了牲阁,??

好了,這樣就清楚多了壤躲,還是小姿勢(shì)不對(duì)惹的禍城菊,嘿嘿嘿

3.處理數(shù)組

二維數(shù)組的訪(fǎng)問(wèn)和輸出同一維數(shù)組一樣,只是多了一個(gè)下標(biāo)而已碉克;

在循環(huán)輸出時(shí)凌唬,需要外層循環(huán)再內(nèi)嵌一個(gè)循環(huán),即外層(行)循環(huán)一次漏麦,內(nèi)層(列)循環(huán)一圈客税,就可以輸出二維數(shù)組中的每一個(gè)元素了;

二重循環(huán):

public class HelloWorld {
    public static void main(String[] args){
         String[][]  arr = {{"a1", "a2", "a3"}, {"b1", "b2", "b3"}};
          for(int i = 0; i < arr.length; i++){
              for(int j =0; j < arr[i].length; j++){
                      System.out.print(arr[i][j]+",");
              }
           System.out.println();//換行
          }
  }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末撕贞,一起剝皮案震驚了整個(gè)濱河市更耻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捏膨,老刑警劉巖秧均,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異脊奋,居然都是意外死亡熬北,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)诚隙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)讶隐,“玉大人,你說(shuō)我怎么就攤上這事久又∥籽樱” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵地消,是天一觀的道長(zhǎng)炉峰。 經(jīng)常有香客問(wèn)我,道長(zhǎng)脉执,這世上最難降的妖魔是什么疼阔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上婆廊,老公的妹妹穿的比我還像新娘迅细。我一直安慰自己,他們只是感情好淘邻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布茵典。 她就那樣靜靜地躺著,像睡著了一般宾舅。 火紅的嫁衣襯著肌膚如雪统阿。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,488評(píng)論 1 302
  • 那天筹我,我揣著相機(jī)與錄音扶平,去河邊找鬼。 笑死蔬蕊,一個(gè)胖子當(dāng)著我的面吹牛蜻直,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播袁串,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼呼巷!你這毒婦竟也來(lái)了囱修?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤王悍,失蹤者是張志新(化名)和其女友劉穎破镰,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體压储,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鲜漩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了集惋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片孕似。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖刮刑,靈堂內(nèi)的尸體忽然破棺而出喉祭,到底是詐尸還是另有隱情,我是刑警寧澤雷绢,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布泛烙,位于F島的核電站,受9級(jí)特大地震影響翘紊,放射性物質(zhì)發(fā)生泄漏蔽氨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鹉究。 院中可真熱鬧宇立,春花似錦、人聲如沸坊饶。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)匿级。三九已至蟋滴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間痘绎,已是汗流浹背津函。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留孤页,地道東北人尔苦。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像行施,于是被迫代替她去往敵國(guó)和親允坚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1蛾号、 聲明數(shù)組 語(yǔ)法:數(shù)據(jù)類(lèi)型[] 數(shù)組名稠项; 或者數(shù)據(jù)類(lèi)型 數(shù)組名[]; 其中鲜结,數(shù)組名可以是任意合法的變量名展运,如:...
    吳迪好閱讀 637評(píng)論 0 1
  • 第五章 數(shù)組 數(shù)組是一個(gè)基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),它用來(lái)存儲(chǔ)一組相同類(lèi)型的元素的集合精刷。數(shù)組非常有用拗胜,例如Java提供的集合...
    光劍書(shū)架上的書(shū)閱讀 502評(píng)論 0 6
  • 5.1 什么是數(shù)組 問(wèn):編寫(xiě)代碼保存 4 名學(xué)生的考試成績(jī)。答:簡(jiǎn)單啊怒允,定義 4 個(gè)變量唄問(wèn):那“計(jì)算全年級(jí) 40...
    夏沫xx閱讀 488評(píng)論 0 2
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法埂软,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法误算,繼承相關(guān)的語(yǔ)法仰美,異常的語(yǔ)法,線(xiàn)程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,631評(píng)論 18 399
  • 第一次開(kāi)始用微信讀書(shū)應(yīng)該是今年三四月份儿礼,二姐在微信里贈(zèng)送了我一本書(shū)咖杂,正好那本書(shū)是當(dāng)時(shí)想看的,相比于電子書(shū),我更喜歡...
    是喵兒啊閱讀 3,324評(píng)論 3 7