最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java由淺入深細數(shù)數(shù)組的操作上

 更新時間:2022年04月27日 08:29:56   作者:星鴉wyk  
數(shù)組對于每一門編程語言來說都是重要的數(shù)據(jù)結構之一,當然不同語言對數(shù)組的實現(xiàn)及處理也不盡相同。Java?語言中提供的數(shù)組是用來存儲固定大小的同類型元素

本篇介紹一維數(shù)組以及相關操作,二維數(shù)組放在下一篇

1.JVM的內(nèi)存分布

Java的代碼是運行在JVM上的,為了方便管理,對所使用的內(nèi)存按照功能的不同進行了劃分,這不是本篇重點,只做簡單的介紹:

Java虛擬棧:局部變量在這里開辟空間

Java本地方法棧:運行一些由C/C++編寫的程序

堆:對象在這里存儲,且開辟后的空間使用完畢后Java會自動收回,不需要我們再寫free

程序計數(shù)器:存儲指令

方法區(qū):存儲靜態(tài)變量、類、常量等

之前的int、double等都是在Java棧中開辟空間,而數(shù)組則是在堆上開辟的空間

2.引用類型變量的特點

引用類型變量并不會直接存儲對象本身,它所存儲的是對象本身在堆中的首地址,通過地址來操作對象,假設有一個數(shù)組arr,數(shù)組中有1~5共5個元素,數(shù)組起始地址是0x0001,那么這個數(shù)組在JVM中的存儲情況如下:

基本類型的數(shù)據(jù)空間中保存的都是初始化的值,這也是二者之間的區(qū)別

3.一維數(shù)組的使用

3.1定義和初始化

一維數(shù)組的定義和初始化如下:

int [] arr1 = {1,2,3,4,5};
int [] arr2 = new int [] {1,2,3,4,5};
int [] arr3 = new int [5];  //數(shù)組元素的值默認為0

同Java中的int等變量一樣,數(shù)組也必須進行初始化,若數(shù)組初始化不知道給多大空間,元素給什么值,那么可以先賦值null

null在Java中表示空引用,int [] arr=null 就說明arr引用的是一個空對象,這個要和C語言中的NULL區(qū)分開來

3.2數(shù)組的訪問

依舊是通過下標來對數(shù)組進行訪問,下標還是從0開始,有一點和C語言不同

假設數(shù)組有10個元素,我們打印第11個元素,C語言中會打印隨機值,但在Java中則是直接報錯

3.3打印數(shù)組所有的元素

在打印之前有一個問題需要解決:如何確定數(shù)組的長度

Java中沒有給類似C語言中的sizeof的操作符,而是采用“數(shù)組名.length”來求數(shù)組長度,如下圖:

現(xiàn)在來看看我們有多少種打印數(shù)組所有元素的方式:

  • 循環(huán)語句:這個就不展開講了,過于簡單
  • foreach

具體結構如下:

 冒號左邊寫打印的元素的數(shù)據(jù)類型,右邊寫數(shù)組名

Array.toString

這個是將數(shù)組的內(nèi)容轉換成字符串,這樣就可以按照打印字符串的方式來打印,使用前要引用包(類似C語言中的引用頭文件)

引用方法:

import java.util.Arrays

3.4數(shù)組的拷貝

  • 循環(huán)語句:依舊跳過
  • Arrays.copyOf()

 此方法返回值是數(shù)組,有兩個參數(shù),分別是拷貝的目標和拷貝的數(shù)組的長度

  • System.arraycopy()

此方法有5個參數(shù),從左至右依次是:源數(shù)組、源數(shù)組的起始位置、目標數(shù)組、目標數(shù)組的起始位置、拷貝的元素個數(shù)

  • 數(shù)組名.clone()

3.5作為參數(shù)和返回值

Java中的數(shù)組可以作為返回值,這沒有什么需要注意的地方

數(shù)組作為參數(shù),因為變量存放的是地址,所以在實參傳參的時候?qū)嶋H上是將地址傳遞過去, 形參接收的也是地址,形參通過地址可以對堆上的數(shù)組進行操作

一維數(shù)組內(nèi)容結束,完

到此這篇關于Java由淺入深細數(shù)數(shù)組的操作的文章就介紹到這了,更多相關Java數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Spring?MVC請求處理流程和九大組件詳解

    Spring?MVC請求處理流程和九大組件詳解

    這篇文章主要介紹了Spring?MVC請求處理流程和九大組件,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • SpringBoot手動開啟事務:DataSourceTransactionManager問題

    SpringBoot手動開啟事務:DataSourceTransactionManager問題

    這篇文章主要介紹了SpringBoot手動開啟事務:DataSourceTransactionManager問題,具有很好的價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 鄰接表無向圖的Java語言實現(xiàn)完整源碼

    鄰接表無向圖的Java語言實現(xiàn)完整源碼

    這篇文章主要介紹了鄰接表無向圖的Java語言實現(xiàn)完整源碼,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Activiti7與Spring以及Spring Boot整合開發(fā)

    Activiti7與Spring以及Spring Boot整合開發(fā)

    這篇文章主要介紹了Activiti7與Spring以及Spring Boot整合開發(fā),在Activiti中核心類的是ProcessEngine流程引擎,與Spring整合就是讓Spring來管理ProcessEngine,有感興趣的同學可以參考閱讀
    2023-03-03
  • JAVA中的deflate壓縮實現(xiàn)方法

    JAVA中的deflate壓縮實現(xiàn)方法

    下面小編就為大家?guī)硪黄狫AVA中的deflate壓縮實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • SpringBoot讀取Resource下文件的4種方法

    SpringBoot讀取Resource下文件的4種方法

    這篇文章主要介紹了SpringBoot讀取Resource下文件的4種方法小結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Springboot注入成員變量HttpServletRequest的原理分析

    Springboot注入成員變量HttpServletRequest的原理分析

    這篇文章主要介紹了Springboot注入成員變量HttpServletRequest的原理分析,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java實現(xiàn)的快速查找算法示例

    Java實現(xiàn)的快速查找算法示例

    這篇文章主要介紹了Java實現(xiàn)的快速查找算法,結合具體實例形式分析了快速查找算法的原理與相關實現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • Java ByteBuffer網(wǎng)絡編程用法實例解析

    Java ByteBuffer網(wǎng)絡編程用法實例解析

    這篇文章主要介紹了Java ByteBuffer網(wǎng)絡編程用法實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • IDEA連接遠程服務器簡化部署流程

    IDEA連接遠程服務器簡化部署流程

    筆者每次上線部署應用,都要使用第三方的客戶端連接工具,比如?Xshell,FinalShell,Terminus?等,基本的流程步驟及其繁瑣,基于這個原因,筆者今天探索通過?IDEA?連接遠程服務器并上傳文件,減少繁瑣的部署步驟,需要的朋友可以參考下
    2024-01-01

最新評論

女性| 乌拉特中旗| 海安县| 常州市| 罗定市| 翁牛特旗| 梅州市| 锡林郭勒盟| 海丰县| 茂名市| 玉林市| 平阴县| 德格县| 南漳县| 平邑县| 托克托县| 大同县| 旅游| 资阳市| 望江县| 牡丹江市| 子洲县| 尖扎县| 青神县| 钟祥市| 卢龙县| 县级市| 施甸县| 隆昌县| 丹阳市| 安溪县| 炉霍县| 永嘉县| 罗定市| 长丰县| 漳州市| 区。| 万盛区| 凤山市| 田林县| 云浮市|