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

歡迎訪問 生活随笔!

生活随笔

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

java

Java面试会问的——数组、声明、初始化、冒泡、多维数组、稀疏数组

發(fā)布時間:2023/12/4 java 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java面试会问的——数组、声明、初始化、冒泡、多维数组、稀疏数组 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

數(shù)組

  • 數(shù)組時相同類型數(shù)據(jù)的有序集合
  • 數(shù)組描述的是相同類型的若干個數(shù)據(jù),按照一定的先后次序排列組合而成
  • 其中,每一個數(shù)據(jù)稱作一個數(shù)組元素,每一個數(shù)組元素可以通過一個下標(biāo)來訪問它們。

數(shù)組聲明創(chuàng)建

  • 首先必須聲明數(shù)組變量,才能在程序中使用數(shù)組。下面是聲明數(shù)組變量的語法。

    • da taType[] arrayRefVar //首選方法
    • dateType arrayRefVar[] //效果相同,但不是首選方法
  • java語言使用new操作符來創(chuàng)建數(shù)組,語法如下:

    • dateType[] arrayRefVar = new dataType[arraySize]
  • 數(shù)組的元素是通過索引訪問的,數(shù)組索引從 0 開始

  • 獲取數(shù)組長度

    • arrays.length

數(shù)組初始化

  • 靜態(tài)初始化
    • int[] a = {1,2,3,4};
    • Man[] mans = {new Man(1,1), new Man(2,2)};
  • 動態(tài)初始化
    • Int[] a = new int[2];
    • a[0] = 1;
    • a[1] = 2;
  • 默認(rèn)初始化
    • 數(shù)組時引用類型,它的元素相當(dāng)于是實例變量,因此數(shù)組一經(jīng)分配空間,其中的每一個元素也被按照實例變量同樣的方式被陰式初始化。

數(shù)組的四個基本特點

  • 數(shù)組的長度是確定的。數(shù)組一旦被創(chuàng)建,它的大小就是不可以改變的
  • 數(shù)組的元素必須是相同類型,不允許出現(xiàn)混合類型
  • 數(shù)組中的元素可以是任何數(shù)據(jù)類型,包括基本類型和引用類型
  • 數(shù)組變量屬引用類型,數(shù)組也可以看成是在堆中的,因此數(shù)組無論保存原始類型還是其他對象類型,數(shù)組對象本身是在堆中的

數(shù)組邊界

  • 下標(biāo)的合法區(qū)間:【0,length-1】,如果越界就會報錯
  • ArrayIndexOutOfBounds Exception:數(shù)組下標(biāo)越界異常
  • 小結(jié)
    • 數(shù)組是相同數(shù)據(jù)類型的有序集合
    • 數(shù)組也是對象。數(shù)組元素相當(dāng)于對象的成員變量。
    • 數(shù)組長度是確定的,不可變的。如果越界,則報錯》ArrayIndexOutOfBoundsException

多維數(shù)組

  • 多維數(shù)組可以看成是數(shù)組的數(shù)組
//二維數(shù)組 兩行五列int a[][] = new int[2][5]; package com.sxl.array;public class Demo04 {public static void main(String[] args) {//二維數(shù)組int[][] array = {{1,2},{3,4},{5,6}};for (int i = 0; i < array.length; i++) {for(int j = 0; j < array[i].length; j++){System.out.println(array[i][j]);}}} }

Arrays類

  • 數(shù)組工具類java.util.Arrays
  • Arrays類中的方法都是static靜態(tài)方法,在使用的時候可以直接使用類名進行調(diào)用
  • 對數(shù)組排序:sort方法。按升序
  • 比較數(shù)組:通過equals方法比較數(shù)組中元素是否相等
package com.sxl.array;import java.util.Arrays;public class Demo01 {public static void main(String[] args) {//靜態(tài)初始化:創(chuàng)建 賦值int[] array = {1,2,3,4,5};//動態(tài)初始化 :包含默認(rèn)初始化int[] b = new int[10];b[0] = 10;//printArray(array);// printString(array);System.out.println("==============");int[] result = reverse(array);printArray(result);}public static int[] reverse(int[] array){int[] result = new int[array.length];for (int i = 0,j = result.length-1; i < array.length ; i++,j--) {result[j] = array[i];}//加入Java開發(fā)交流君樣:593142328一起吹水聊天return result;}public static void printArray(int[] array){for (int i = 0; i < array.length; i++) {System.out.print(array[i] + " ");}System.out.println();System.out.println("=================");//增強循環(huán)for (int arr: array) {System.out.print(arr+ " ");}System.out.println();System.out.println("=================");String result = Arrays.toString(array);System.out.println(result);}public static void printString(int[] array){String result = Arrays.toString(array);System.out.println(result);for (int i = 0; i < array.length; i++) {if (i == 0){System.out.print("[" +array[i] +", ");}else if (i == array.length - 1){System.out.print(array[i]+"]");}elseSystem.out.print(array[i]+", ");}} }package com.sxl.array;public class Demo02 {public static void main(String[] args) {new Demo02();int[] array = {1,2,5,3,9,7,6,3,2};sort(array);}//冒泡排序public static void sort(int[] array){int temp = 0;for (int i = 0; i < array.length; i++) {boolean flag = false;for (int j = 0; j < array.length-1; j++){if (array[j+1]<array[j]){temp = array[j];array[j] = array[j+1];array[j+1] = temp;flag = true;}}if (flag == false){break;}}for (int i = 0; i < array.length; i++) {System.out.print(array[i]+" ");}} }package com.sxl.array;public class Demo03 {//加入Java開發(fā)交流君樣:593142328一起吹水聊天public static void main(String[] args) {int[] array = {1,2,3,4,5};//打印所有數(shù)據(jù)元素for (int i = 0; i < array.length; i++) {System.out.print(array[i] + " ");}//計算所有數(shù)據(jù)元素的和System.out.println("=========");int sum = 0;for (int i = 0; i < array.length; i++) {sum += array[i];}System.out.println(sum);//查找最大元素int max = array[0];for (int i = 1; i < array.length; i++) {if (max < array[i]){max = array[i];}}System.out.println(max);} }

稀疏數(shù)組

package com.sxl.array;public class Demo05 {public static void main(String[] args) {int[][] array = new int[11][11];array[1][2] = 1;array[2][3] = 2;//輸出原始數(shù)組for (int[] a: array) {for (int b: a) {System.out.print(b+"\t");}System.out.println();}//獲取有效值的個數(shù)int sum = 0;for (int i = 0; i < 11; i++) {for (int j = 0; j < 11; j++){if (array[i][j]!=0){sum++;}}}System.out.println("有效值的個數(shù)是:" +sum);//創(chuàng)建一個稀疏數(shù)組 第一行存放: 行數(shù) 列數(shù) 有效數(shù)個數(shù)int[][] array2 = new int[sum+1][3];array2[0][0] = 11; //行數(shù)array2[0][1] = 11; //列數(shù)array2[0][2] = sum; //有效數(shù)個數(shù)//遍歷原始二維數(shù)組,將非零數(shù)組存入稀疏數(shù)組中//加入Java開發(fā)交流君樣:593142328一起吹水聊天int count = 0;for (int i = 0; i < array.length; i++) {for (int j = 0;j < array[i].length; j++){if (array[i][j]!=0){count++;array2[count][0] = i;array2[count][1] = j;array2[count][2] = array[i][j];}}}System.out.println("輸出稀疏數(shù)組");for (int i = 0; i < array2.length; i++) {for (int j = 0; j < array2[i].length; j++){System.out.print(array2[i][j]+"\t");}System.out.println();}} }

最后,祝大家早日學(xué)有所成,拿到滿意offer

總結(jié)

以上是生活随笔為你收集整理的Java面试会问的——数组、声明、初始化、冒泡、多维数组、稀疏数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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