国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)組應(yīng)該怎么用?

這篇具有很好參考價值的文章主要介紹了數(shù)組應(yīng)該怎么用?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

為什么要使用數(shù)組,因為使用數(shù)組可以避免過于的冗雜,方便美觀,簡潔

一、數(shù)組是什么?

可以看成是相同類型元素的一個集合。在內(nèi)存中是一段連續(xù)的空間。

二、數(shù)組的創(chuàng)建

1.數(shù)組的創(chuàng)建:

T[] 數(shù)組名 = new T[N];

T:表示數(shù)組中存放元素的類型
T[]:表示數(shù)組的類型
N:表示數(shù)組的長度

2.數(shù)組的初始化

代碼如下(示例):

int[] array1 = new int[10]; // 創(chuàng)建一個可以容納10個int類型元素的數(shù)組
double[] array2 = new double[5]; // 創(chuàng)建一個可以容納5個double類型元素的數(shù)組
String[] array3 = new double[3]; // 創(chuàng)建一個可以容納3個字符串元素的數(shù)組

數(shù)組應(yīng)該怎么用?
***注意:***如果數(shù)組中存儲元素類型為引用類型,默認(rèn)值為null。

2.1動態(tài)初始化:創(chuàng)建數(shù)組,直接數(shù)組中元素的個數(shù)

int[] array = new int[10];

2.2 靜態(tài)初始化:在創(chuàng)建數(shù)組時不直接指定數(shù)據(jù)元素個數(shù),而直接將具體的數(shù)據(jù)內(nèi)容進行指定.

int[] array1 = new int[]{0,1,2,3,4,5,6,7,8,9};

注意事項:
1.靜態(tài)初始化雖然沒有指定數(shù)組的長度,編譯器在編譯時會根據(jù){}中元素個數(shù)來確定數(shù)組的長度。
2.靜態(tài)初始化時, {}中數(shù)據(jù)類型必須與[]前數(shù)據(jù)類型一致。
3.靜態(tài)初始化可以簡寫,省去后面的new T[]。
靜態(tài)和動態(tài)初始化也可以分為兩步,但是省略格式不可以。

int[] array1;
array1 = new int[10];
int[] array2;
array2 = new int[]{10, 20, 30};
// 注意省略格式不可以拆分, 否則編譯失敗
// int[] array3;
// array3 = {1, 2, 3};

如果沒有對數(shù)組進行初始化,數(shù)組中元素有其默認(rèn)值
如果數(shù)組中存儲元素類型為基類類型,默認(rèn)值為基類類型對應(yīng)的默認(rèn)值,
數(shù)組應(yīng)該怎么用?

2.3數(shù)組中元素的訪問:
數(shù)組在內(nèi)存中是一段連續(xù)的空間,空間的編號都是從0開始的,依次遞增,該編號稱為數(shù)組的下標(biāo),數(shù)組可以通過下標(biāo)訪問其任意位置的元素。

int[]array = new int[]{10, 20, 30, 40, 50};
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4]);

數(shù)組應(yīng)該怎么用?
還可以進行修改其中的數(shù)值

array[0] = 100;
System.out.println(array[0]);

三.數(shù)組的遍歷

1.逐個打印

如上圖一樣

2.使用for循環(huán)

int[]array = new int[]{10, 20, 30, 40, 50};
for(int i = 0; i < array.length; i++){
System.out.println(array[i]);
}

3.使用for -each

int[] array = {1, 2, 3};
for (int x : array) {
System.out.println(x);
}

四.二維數(shù)組

1.語法:

數(shù)據(jù)類型[][] 數(shù)組名稱 = new 數(shù)據(jù)類型 [行數(shù)][列數(shù)] { 初始化數(shù)據(jù) };
int[][] arr = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};

2.遍歷

int[][] arr = {
                {1, 2, 3, 4},
                {5, 6, 7, 8},
                {9, 10, 11, 12}
        };
        for (int x[]:arr) {
            System.out.println(Arrays.toString(x));
        }
    }

用Arrays.toString可以很快遍歷出來
數(shù)組應(yīng)該怎么用?

五.數(shù)組的一些常用方法

1.數(shù)組轉(zhuǎn)換字符串

int[] arr = {1,2,3,4,5,6};
String newArr = Arrays.toString(arr);
System.out.println(newArr);

2.數(shù)組拷貝

        int[] arr = {1, 2, 3, 4, 5};
        int[] newarr = new int[3];
        newarr = Arrays.copyOf(arr, arr.length);
        System.out.println(Arrays.toString(newarr));

數(shù)組應(yīng)該怎么用?

3.二分查找

首先先進行對數(shù)組排序

public static int binarySearch(int[]arr,int toFind) {
            int left = 0;
            int right = arr.length - 1;
            while (left <= right) {
                int mid = (left + right) / 2;
                if (toFind < arr[mid]) {// 去左側(cè)區(qū)間找
                    right = mid - 1;
                } else if (toFind > arr[mid]) {// 去右側(cè)區(qū)間找
                    left = mid + 1;
                } else {// 相等, 說明找到了
                    return mid;
                }
            } //
            return -1;
        }

4.冒泡排序

public static void bubbleSort(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            for (int j = 1; j < arr.length-i; j++) {
                if (arr[j-1] > arr[j]) {
                    int tmp = arr[j - 1];
                    arr[j - 1] = arr[j];
                    arr[j] = tmp;
                }
            }
        } 
    }

當(dāng)然了,Arrays.sort更便捷

5.數(shù)組逆序

 public static void reverse(int[] arr) {
        int left = 0;
        int right = arr.length - 1;
        while (left < right) {
            int tmp = arr[left];
            arr[left] = arr[right];
            arr[right] = tmp;
            left++;
            right--;

        }
    }

總結(jié)

好了,今天關(guān)于數(shù)組的博客到這里結(jié)束了,歡迎大佬指正,希望大佬們能給個三連,在評論區(qū)暢所欲言啊。文章來源地址http://www.zghlxwxcb.cn/news/detail-422523.html

到了這里,關(guān)于數(shù)組應(yīng)該怎么用?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Redis的速度不夠用?為什么你應(yīng)該考慮使用 KeyDB,一個更快、更強大、更靈活的開源數(shù)據(jù)庫

    Redis的速度不夠用?為什么你應(yīng)該考慮使用 KeyDB,一個更快、更強大、更靈活的開源數(shù)據(jù)庫

    你是否正在使用?Redis?作為您的數(shù)據(jù)結(jié)構(gòu)存儲,享受它的高性能、高可用的特性?如果是這樣,那么你可能會對?KeyDB?感興趣。 KeyDB?一個由?Snap?提供支持、專為擴展而構(gòu)建的開源數(shù)據(jù)庫。它是?Redis?的高性能分支,專注于多線程、內(nèi)存效率和高吞吐量。KeyDB?采用?MVCC?體系

    2024年02月08日
    瀏覽(31)
  • WebRTC是什么?為什么真實IP地址泄露是因為WebRTC?

    WebRTC是什么?為什么真實IP地址泄露是因為WebRTC?

    在今天的快節(jié)奏世界里,實時通信變得無處不在。從視頻會議到在線教育,再到即時消息,我們的日常生活和WebRTC(Web?Real-Time?Communication)密不可分。但是,WebRTC泄露可能會使我們的真實IP地址泄露,這對于需要保護隱私的用戶來說是一個嚴(yán)重的問題。在本文中,東哥將和大

    2024年01月24日
    瀏覽(32)
  • Go 語言為什么建議多使用切片,少使用數(shù)組?

    大家好,我是 frank,「Golang 語言開發(fā)?!构娞栕髡摺?01 介紹 在 Go 語言中,數(shù)組固定長度,切片可變長度;數(shù)組和切片都是值傳遞,因為切片傳遞的是指針,所以切片也被稱為“引用傳遞”。 讀者朋友們在使用 Go 語言開發(fā)項目時,或者在閱讀 Go 開源項目源碼時,發(fā)現(xiàn)很少

    2024年02月03日
    瀏覽(33)
  • 紅黑樹是什么,為什么HashMap使用紅黑樹代替數(shù)組+鏈表?

    紅黑樹是什么,為什么HashMap使用紅黑樹代替數(shù)組+鏈表?

    ? ? ? ? 我們都知道在HashMap中,當(dāng)數(shù)組長度大于64并且鏈表長度大于8時,HashMap會從數(shù)組+鏈表的結(jié)構(gòu)轉(zhuǎn)換成紅黑樹,那為什么要轉(zhuǎn)換成紅黑樹呢,或者為什么不一開始就使用紅黑樹呢?接下來我們將去具體的去剖析一下! ????????紅黑樹是一種自平衡的二叉搜索樹,它是

    2024年04月14日
    瀏覽(23)
  • DDD架構(gòu)為什么應(yīng)該首選六邊形架構(gòu)?

    分層架構(gòu)的一個重要原則是:每層只能與位于其下方的層發(fā)生耦合。 分層架構(gòu)分兩種:一種是嚴(yán)格分層架構(gòu),規(guī)定某層只能與直接位于其下方的層發(fā)生耦合;另一種是松散分層架構(gòu),允許任意上方層與任意下方層發(fā)生耦合。 下圖是一個典型的DDD傳統(tǒng)分層架構(gòu)。 以上分層架構(gòu)

    2024年02月16日
    瀏覽(28)
  • 字節(jié)二面:為什么SpringBoot的 jar 可以直接運行?我說因為內(nèi)嵌了Tomcat容器,他讓我出門左轉(zhuǎn)。。

    在傳統(tǒng)的Java應(yīng)用程序開發(fā)和部署場景中,開發(fā)者往往需要經(jīng)歷一系列復(fù)雜的步驟才能將應(yīng)用成功部署到生產(chǎn)環(huán)境。例如,對于基于Servlet規(guī)范的Java Web應(yīng)用,開發(fā)完成后通常會被打包成WAR格式,然后部署到像Apache Tomcat、Jetty這樣的Web容器中。這一過程中,不僅要管理應(yīng)用本身的

    2024年04月08日
    瀏覽(27)
  • 數(shù)據(jù)要素“摸家底”:是什么?為什么?怎么做?

    數(shù)據(jù)要素“摸家底”:是什么?為什么?怎么做?

    繼經(jīng)濟數(shù)據(jù)“摸家底”之后,全國數(shù)據(jù)資源也迎來一次“大摸底”。2月19日,國家數(shù)據(jù)局等四部門發(fā)布《關(guān)于開展全國數(shù)據(jù)資源調(diào)查的通知》,提出“摸清數(shù)據(jù)資源底數(shù)”,為相關(guān)政策制定、試點示范等工作提供數(shù)據(jù)支持。如此大規(guī)模數(shù)據(jù)資源調(diào)查,在世界范圍內(nèi)也是首次。

    2024年03月09日
    瀏覽(21)
  • 一個操作讓數(shù)組處理速度快了5倍,到底是為什么

    一個操作讓數(shù)組處理速度快了5倍,到底是為什么

    ? 概述: 通過對數(shù)組進行排序,代碼更好地利用了緩存,從而提高了程序的性能。這種現(xiàn)象通常被稱為\\\"緩存友好\\\"(cache-friendly)或\\\"空間局部性\\\"(spatial locality) 今天做一個數(shù)組數(shù)據(jù)計算時,發(fā)現(xiàn)一個效率問題,給大家分享一下 一個數(shù)組排序和不排序時同樣的邏輯處理速度是

    2024年03月24日
    瀏覽(24)
  • 怎么自學(xué)python?為什么選擇python

    怎么自學(xué)python?為什么選擇python

    自然是因為Python簡單易學(xué)且應(yīng)用領(lǐng)域廣 Python近段時間一直漲勢迅猛,在各大編程排行榜中嶄露頭角,得益于它多功能性和簡單易上手的特性,讓它可以在很多不同的工作中發(fā)揮重大作用。 正因如此,目前幾乎所有大中型互聯(lián)網(wǎng)企業(yè)都在使用 Python 完成各種各樣的工作,比如

    2024年02月04日
    瀏覽(22)
  • 0-1背包問題思路分析,重點解釋一維dp數(shù)組的01背包問題為什么要倒序遍歷背包,以及為什么不能先遍歷背包,只能先遍歷物品

    0-1背包問題思路分析,重點解釋一維dp數(shù)組的01背包問題為什么要倒序遍歷背包,以及為什么不能先遍歷背包,只能先遍歷物品

    對0-1背包問題的二維dp數(shù)組以及一維dp數(shù)組的思路分析 來源:代碼隨想錄 link 本文是我對01背包問題的理解 ,在本文中具體分析dp數(shù)組的形成過程,最核心的地方就是我對每種情況下的01背包問題給出了代碼運行結(jié)果,便于讀者理解。 重點解釋了為什么一維dp數(shù)組的01背包問題

    2024年02月03日
    瀏覽(42)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包