JAVA基礎知識點03_數組

2021-03-02 網星軟體
聲明數組:int[] nums;
實例化數組:new int[10];
給數組中的元素賦值:nums[0]=1;nums[1]=2;...nums[9]=10;
獲取數組的長度:nums.length獲取數組中某個元素的值:nums[9]

堆:存放new的對象和數組,可被所有的線程共享,不會存放別的對象引用
棧:存放基本變量類型(包含該基本變量類型的具體數值)
方法區:包含了所有的class和static變量,可以被所有的線程共享
當聲明數組時,往棧中壓入nums,只是一個名字,此時數組還不存在。
實例化數組時,會在堆中開闢了一段可存10個int的內存空間。

靜態初始化(程式設計師先賦值,系統計算長度):int[] a = {1,2,3,4,5,6,7,8}
動態初始化(程式設計師先指定數組長度,系統先自動賦默認值,然後再由程式設計師重新賦值):int[] b = new int[8];b[0] = 1;

數組一旦創建(實例化),其長度就已確定,不可改變.數組一旦越界,將出現數組下標越界異常:java.lang.ArrayIndexOutOfBoundsException數組屬於對象,存在堆中

int[][] array = {{1,2},{2,3},{3,4},{4,5}}
a[2][3]a[0]-->a[0][0] a[0][1] a[0][2]a[1]-->a[1][0] a[1][1] a[1][2]a[2]-->a[2][0] a[2][1] a[2][2]

int[] a = {3,1,2,5,4,2,0,8,9,6,7};//列印數組System.out.println(Arrays.toString(a));//數組排序Arrays.sort(a);


依次比較數組中兩個相鄰元素,如果第一個比第二個大,就交換位置,每一輪都會在數組後面產生一個最大的數字。
public class demo01 {
public static void main(String[] args) {int[] a = {3,1,2,5,4,2,0,8,9,6,7};int[] result = sort(a); System.out.println(Arrays.toString(a)); }
public static int[] sort(int[] array) {int temp = 0;for (int i = 0; i < array.length-1; i++) {for (int j = 0; j < array.length-1-i; j++) {if(array[j+1]<array[j]) { temp = array[j];array[j]=array[j+1];array[j+1]=temp; } } }return array; }
}
該算法的時間複雜度為O(n2)

稀疏數組(數組中大部分值相同):
編寫五子棋遊戲,設定棋盤(二維數組)中黑子位為1,白子位為2,空位為0
因為該二維數組中存在很多默認值0,記錄了很多沒有意義的數據,解決辦法是稀疏數組
原始數組:0  0  0  22  0  0  150  11  0  0  0  17  00  0  0  -6  0  0  00  0  0  0  0  39  091  0  0  0  0  0  00  0  28  0  0  0  0
轉換為稀疏數組:0 6 7 81 0 3 222 0 6 153 1 1 114 1 5 175 2 3 -66 3 5 397 4 0 918 5 2 28

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連結和本聲明。

本文連結:https://blog.csdn.net/BLU_111/article/details/108041827

相關焦點

  • 零基礎java入門教程java數組常見操作最大值最小值和重載複習例題
    0基礎java入門 java數組的常見操作:獲取最值下面通過獲取最大值來舉一反三獲取最小值同樣的和咱們之前講的一樣,在開始先程序前,先不要直接就開始寫代碼,一定要先將要求和思路步驟先寫清楚,然後在通過這些要求步驟和思路來寫出代碼程序
  • Java基礎——數組例題&二維數組
    聲明:本欄目所使用的素材都是凱哥學堂VIP學員所寫,學員有權匿名,對文章有最終解釋權;凱哥學堂旨在促進VIP學員互相學習的基礎上公開筆記。數組例題:例題1:申請String字符串數組,並拿出裡面的數據。先申請一個String字符串,然後最裡面輸入要存儲的值,使用for循環申請變量i,i小於String數組的長度(.Length),然後列印String數組的第i個值就可以取出裡面的數組。
  • java基礎之七:數組
    數組的價值在存儲和處理多個同類型的多個變量的時候派上用場,比如有三百個學生,定義變量表示他們的成績,可以考慮用三百個變量,工作量很大,用數組則只要一個變量,每個人記住自己的下標就好了。數組的要素:名稱,類型,下標(從0開始)數組要在定義的時候確定長度(大小),後面就可以使用了,如下的案例:
  • Java基礎03-流程控制
    ;public class Demo03 { public static void main(String[] args) { // 多選擇結構 Scanner scanner = new Scanner(System.in); System.out.println("請輸入成績:");
  • 麥子java黑馬程式設計師前輩之路入門基礎java數組折半查找案例例題
    在了解java數組排序功能塊代碼的操作後下面咱們再來分享下關於給定一個元素,然後在數組中查找元素是否存在,如果存在則輸出對應數組元素下的角標,如果不存在則輸出-1;java在數組中查找某一個元素案例上圖所示,在給定的數組裡查找對應元素的角標位置數,上圖是查找存在的元素位置,如過查找的元素不存在數組裡頭編譯會如何?
  • 給Java新手的一些建議——Java知識點歸納(Java基礎部分)
    寫這篇文章的目的是想總結一下自己這麼多年來使用java的一些心得體會,主要是和一些java基礎知識點相關的,所以也希望能分享給剛剛入門的Java程式設計師和打算入Java開發這個行當的準新手們,希望可以給大家一些經驗,能讓大家更好學習和使用Java。這次介紹的主要內容是和J2SE相關的部分,另外,會在以後再介紹些J2EE相關的、和Java中各個框架相關的內容。
  • java之數組長度的獲取與數組的遍歷
    各位小夥伴們大家好,這次小編要介紹的是java中數組長度的獲取與數組的遍歷,首先小編要介紹的是,數組長度的獲取,如何獲取一個數組的長度呢?獲取數組長度的格式:數組名稱.length。之後,將會出現一個int數字來代表數組的長度。
  • Java基礎學習心得筆記
    對於很多只會C語言的初學者而言,面對java基礎語法學習,反而感覺很難,其實其中最大的問題不是語法難,而是一種編程思想的轉變。
  • Java程式設計師進階:Java4大核心基礎必備知識點
    本文總結了零基礎學習Java程式語言的幾個基礎知識要點。希望能夠對剛入門的Java新手有幫助。初學者先弄清這些Java的基本概念也是必不可少的,死記硬背肯定是不行的,重在理解,理解它們之間的區別與聯繫,分別有哪些應用。想想這些代碼中用到了哪些知識點,不要一味地照著書本敲代碼,而不去理解。
  • 尚學堂知識整理:java數組
    數組是什麼?數組是一個固定長度的數據結構,用於保存多個相同數據類型的值。在數據類型之後或在變量聲明中的變量名稱之後放置[],使變量成為數組。如果要聲明數組,可在上面的聲明中的數據類型之後放置[],如下所示 –創建數組數組創建的一般語法如下:以下代碼創建Arraylength長度類型為ArrayDataType的數組對象
  • java基礎編程題之String字符串練習
    以下是剛開始學習java的基礎編程題,每天持續更新java每個知識點的題目,持續練習,不斷提高java基本功,培養編程能力。
  • Java基礎知識點面試手冊(線程+JDK8)
    中最基礎的知識點,用作面試複習,事半功倍。詳細請看Java虛擬機知識點面試手冊。volatile 關鍵字經典:https://www.jianshu.com/p/195ae7c77afe解析:關於指令重排序的問題,可以查閱 DCL 雙檢鎖失效相關資料。
  • java之數組作為方法參數的使用
    各位小夥伴們大家好,這次小編要介紹的是java作為方法參數,返回值的使用。首先,小編要介紹的是java作為方法參數的使用。void main(String[] args){int[] array={1,2,34,78};//定義一個方法System.out.println(array);//地址值printArray(array);//(方法的調用)}/** 方法定義的三要素:* 1.返回值類型:只是進行列印,不需要進行計算,也沒有結果,用void* 2.方法名稱:printArray* 3.參數列表:必須有數組
  • Java語法 | 多維數組
    二維數組:是以 一維數組 作為 數組元素 的數組,即 「數組的數組」。[1]三維數組:是以 二維數組 作為 數組元素 的數組。有點拗口,定義向繞口令一樣,分明就是 "俄羅斯套娃" 麼。二維數組本質上就是一維數組,只不過是以 一維數組 作為 數組元素 的數組。我們可以把二維數組分成外維數組及內維數組。
  • 跟我學java編程—Java的二維數組結構可以這樣理解
    前面介紹了一維數組。在實際問題中有些數據信息是二維的或者多維的。多維數組元素有多個下標,以標識它在數組中的位置。本節只介紹二維數組,多維數組可由二維數組類推而得到。數組的元素通過數組下標進行訪問。前面已經講過,在Java語言中,數組下標是從0開始的,所以包含n個元素的數組下標的範圍是0到n-1。例如:前面定義的數組a,其下標範圍為0到4。要訪問a數組的元素,可通過a[0]、a[1]、a[2]、a[3]、a[4]訪問a數組的各個元素,此時,方括號中的數字是數組的下標,表示訪問數組的第幾個元素。
  • Java程式設計師必備:異常的十個關鍵知識點
    比如你讀取的文件不存在,數組越界,進行除法時,除數為0等都會導致異常。 at java.io.FileInputStream.open0(NativeMethod) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.
  • Java數組轉List的三種方式及對比
    使用場景:需要在將數組轉換為List後,對List進行增刪改查操作,在List的數據量巨大的情況下,優先使用,可以提高操作速度。 註:附上方法源碼: 問題解答 問題:數組類型如果是整型數組,轉為List時,會報錯?
  • 一起學JAVA——數組和函數
    之前我們介紹了java的數據類型、變量、流程控制等內容。今天我們高級數據類型——數組以及函數的作用。函數(方法)函數的定義函數就是一段有名字的代碼,可以完成某一特定功能。方法(函數)是java的最小代碼重用單位,方法(函數)是為了重用代碼。方法不能嵌套方法,不能在一個方法內部定義另外一個方法。可以在一個方法內部調用另外一個方法。
  • JAVA校招題基礎知識點複習第六天(一張圖搞懂所有集合特點)
    集合其實和數組一樣都是java中提供的一種容器,可以用來存儲多個數據。既然集合和數組都容器,那麼他們有什麼區別呢?1、數組的長度是固定的,集合的長度是可變的。2、數組中存儲的是同一類型的元素,可以存儲基本數據類型值。3、集合存儲的都是對象。而且對象的類型可以不一致。在開發中一般當對象多的時候,使用集合進行存儲。了解完集合與數組的區別,讓我們來看看在JAVA中都為我們提供了哪些集合?
  • java數組刪除重複元素專題及常見問題 - CSDN
    package com.akfucc.zhidao;import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List