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

java -length的三種用法說明

 更新時間:2020年09月12日 11:01:35   作者:Q2294365315  
這篇文章主要介紹了java -length的三種用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

java中l(wèi)ength主要有三種用法,本博客只介紹前兩種:

1 Java中的length屬性是針對數(shù)組說的,比如說你聲明了一個數(shù)組,想知道這個數(shù)組的長度則用到了length這個屬性.

2 java中的length()方法是針對字符串String說的,如果想看這個字符串的長度則用到length()這個方法.

例程:

1、所對應(yīng)的用法:

String[] list={"a","b","c"};

System.out.println(list.length);

2、所對應(yīng)的用法

String a="apple";

System.out.println(a.length());

補充知識:深入分析Java中的length和length()

在開始正文之前,請你快速回答如下問題:

在不使用任何帶有自動補全功能IDE的情況下,如何獲取一個數(shù)組的長度?以及,如何獲取一個字符串的長度?

這個問題我問過不同水平的程序員,包括初級和中級水平的。他們都不能準確而自信地回答這個問題(如果你能很準確很自信的回答這個問題,那么證明針對這一知識點你比大多數(shù)中級程序員掌握的好)。由于現(xiàn)在很多IDE都有代碼補全功能,這使得開發(fā)人員在很多問題上都理解的很膚淺。本文將介紹幾個關(guān)于Java數(shù)組的關(guān)鍵概念。

上面問題的正確回答姿勢應(yīng)該是這樣的:

那么問題來了,為什么數(shù)組有l(wèi)ength屬性,而字符串沒有?或者,為什么字符串有l(wèi)ength()方法,而數(shù)組沒有?

為什么數(shù)組有l(wèi)ength屬性?

首先,數(shù)組是一個容器對象,其中包含固定數(shù)量的同一類型的值。一旦數(shù)組被創(chuàng)建,他的長度就是固定的了。數(shù)組的長度可以作為final實例變量的長度。因此,長度可以被視為一個數(shù)組的屬性。

有兩種創(chuàng)建數(shù)組的方法:

1、通過數(shù)組表達式創(chuàng)建數(shù)組。

2、通過初始化值創(chuàng)建數(shù)組。

無論使用哪種方式,一旦數(shù)組被創(chuàng)建,其大小就固定了。

使用表達式創(chuàng)建數(shù)組方式如下,該方式指明了元素類型、數(shù)組的維度、以及至少一個維度的數(shù)組的長度。

int[][] arr = new int[3][];

該聲明方式是符合要求的,因為他指定了一個維度的長度(該數(shù)組的類型為int,維度為2,第一維度的長度為3)

使用數(shù)組初始化的方式創(chuàng)建數(shù)組時需要提供所有的初始值。形式是使用{和}將所有初始值括在一起并用,隔開。

int[] arr = {1,2,3};

注:

這里可能會有一個疑問,既然數(shù)組大小是初始化時就規(guī)定好的,那么int[][] arr = new int[3][];定義的數(shù)組并沒有給出數(shù)組的第二維的大小,那么這個arr的長度到底是如何“規(guī)定好”的呢?

其實,arr的長度就是3。其實Java中所有的數(shù)組,無論幾維,其實都是一維數(shù)組。例如arr,分配了3個空間,每個空間存放一個一維數(shù)組的地址,這樣就成了“二維”數(shù)組。但是對于arr來說,他的長度就是3。

Java中為什么沒有定義一個類似String一樣Array類

因為數(shù)組也是對象,所以下面的代碼也是合法的:

Object obj = new int[10];

數(shù)組包含所有從Object繼承下來方法,除clone()之外。為什么沒有一個Array類呢?在Java中沒有Array.java文件。一個簡單的解釋是它被隱藏起來了(注:Java中的數(shù)組有點類似于基本數(shù)據(jù)類型,是一個內(nèi)建類型,并沒有實際的類與他對應(yīng))。

你可以思考這樣一個問題——如果有一個Array類,那它會像什么樣?它會仍然需要一個數(shù)組來存放所有的數(shù)組元素,對嗎?因此,定義出一個Array類不是一個好的主意。(注:這里可能有點繞,道理有點類似于:雞生蛋蛋生雞問題,可能比喻也不是很恰當,請讀者自行理解)

事實上我們可以獲得數(shù)組的類定義,通過下面的代碼:

輸出:

class [I

“class [I”代表著”成員類型是int的數(shù)組”的class對象運行時類型的簽名

為什么String有l(wèi)ength()方法?

String背后的數(shù)據(jù)結(jié)構(gòu)是一個char數(shù)組,所以沒有必要來定義一個不必要的屬性(因為該屬性在char數(shù)值中已經(jīng)提供了)。和C不同的是,Java中char的數(shù)組并不等于字符串,雖然String的內(nèi)部機制是char數(shù)組實現(xiàn)的。(注:C語言中,并沒有String類,定義字符串通常使用char string[6] = "hollis";的形式)

注:要想把char[]轉(zhuǎn)成字符串有以下方式:

以上這篇java -length的三種用法說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringMVC返回圖片的幾種方式(小結(jié))

    SpringMVC返回圖片的幾種方式(小結(jié))

    這篇文章主要介紹了SpringMVC返回圖片的幾種方式(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • SpringBoot結(jié)合Ajax實現(xiàn)登錄頁面實例

    SpringBoot結(jié)合Ajax實現(xiàn)登錄頁面實例

    大家好,本篇文章主要講的是SpringBoot結(jié)合Ajax實現(xiàn)登錄頁面實例,感興趣的同學趕快來看一看,對你有幫助的話記得收藏一下
    2022-02-02
  • java 文件和byte互轉(zhuǎn)的實例

    java 文件和byte互轉(zhuǎn)的實例

    下面小編就為大家分享一篇java 文件和byte互轉(zhuǎn)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • Java程序生成exe可執(zhí)行文件詳細教程(圖文說明)

    Java程序生成exe可執(zhí)行文件詳細教程(圖文說明)

    這篇文章主要介紹了Java程序生成exe可執(zhí)行文件詳細教程,有需要的朋友可以參考一下
    2013-12-12
  • mybatis plus條件構(gòu)造器queryWrapper、updateWrapper

    mybatis plus條件構(gòu)造器queryWrapper、updateWrapper

    這篇文章主要介紹了mybatis plus條件構(gòu)造器queryWrapper、updateWrapper,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • mybatis plus or and 的合并寫法實例

    mybatis plus or and 的合并寫法實例

    這篇文章主要介紹了mybatis plus or and 的合并寫法實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java(springboot) 讀取txt文本內(nèi)容代碼實例

    Java(springboot) 讀取txt文本內(nèi)容代碼實例

    這篇文章主要介紹了Java(springboot) 讀取txt文本內(nèi)容代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • SpringBoot優(yōu)先加載指定Bean的實現(xiàn)

    SpringBoot優(yōu)先加載指定Bean的實現(xiàn)

    SpringBoot框架在啟動時可以自動將托管的Bean實例化,一般情況下它的依賴注入特性可以正確處理Bean之間的依賴關(guān)系,無需手動指定某個 Bean優(yōu)先創(chuàng)建實例,文中有詳細的代碼示例,需要的朋友可以參考下
    2023-05-05
  • Java String中移除空白字符的多種方式匯總

    Java String中移除空白字符的多種方式匯總

    這篇文章主要給大家介紹了關(guān)于Java String中移除空白字符的多種方式,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • spring boot前后端傳參的實現(xiàn)

    spring boot前后端傳參的實現(xiàn)

    這篇文章主要介紹了spring boot前后端傳參的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01

最新評論

内乡县| 麟游县| 石渠县| 昌邑市| 太仓市| 林西县| 新绛县| 岳普湖县| 惠水县| 玉门市| 民勤县| 故城县| 新闻| 赤水市| 新乐市| 原平市| 中方县| 同江市| 新巴尔虎左旗| 松潘县| 老河口市| 云霄县| 土默特右旗| 汉沽区| 舞阳县| 四平市| 齐河县| 东莞市| 炎陵县| 高碑店市| 晋宁县| 吉木萨尔县| 积石山| 平度市| 胶南市| 南安市| 咸宁市| 陆良县| 平山县| 山东| 廉江市|