中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

GPS實(shí)時(shí)定位網(wǎng)站怎么做抖音關(guān)鍵詞搜索排名

GPS實(shí)時(shí)定位網(wǎng)站怎么做,抖音關(guān)鍵詞搜索排名,grunt wordpress,建一個(gè)網(wǎng)站都需要什么大家好,我是栗箏i,這篇文章是我的 “栗箏i 的 Java 技術(shù)棧” 專欄的第 004 篇文章,在 “栗箏i 的 Java 技術(shù)?!?這個(gè)專欄中我會(huì)持續(xù)為大家更新 Java 技術(shù)相關(guān)全套技術(shù)棧內(nèi)容。專欄的主要目標(biāo)是已經(jīng)有一定 Java 開(kāi)發(fā)經(jīng)驗(yàn),并希望進(jìn)…

大家好,我是栗箏i,這篇文章是我的 “栗箏i 的 Java 技術(shù)?!?專欄的第 004 篇文章,在 “栗箏i 的 Java 技術(shù)棧” 這個(gè)專欄中我會(huì)持續(xù)為大家更新 Java 技術(shù)相關(guān)全套技術(shù)棧內(nèi)容。專欄的主要目標(biāo)是已經(jīng)有一定 Java 開(kāi)發(fā)經(jīng)驗(yàn),并希望進(jìn)一步完善自己對(duì)整個(gè) Java 技術(shù)體系來(lái)充實(shí)自己的技術(shù)棧的同學(xué)。與此同時(shí),本專欄的所有文章,也都會(huì)準(zhǔn)備充足的代碼示例和完善的知識(shí)點(diǎn)梳理,因此也十分適合零基礎(chǔ)的小白和要準(zhǔn)備工作面試的同學(xué)學(xué)習(xí)。當(dāng)然,我也會(huì)在必要的時(shí)候進(jìn)行相關(guān)技術(shù)深度的技術(shù)解讀,相信即使是擁有多年 Java 開(kāi)發(fā)經(jīng)驗(yàn)的從業(yè)者和大佬們也會(huì)有所收獲并找到樂(lè)趣。

上一篇文章中,我們討論了 Java 程序的基本結(jié)構(gòu),包括變量、方法、運(yùn)算符與注釋。本篇文章我們將深入了解 Java 的數(shù)據(jù)類型,包括 Java 語(yǔ)言的 8 種基本數(shù)據(jù)類型、字符串與數(shù)組。這些數(shù)據(jù)類型是 Java 程序設(shè)計(jì)的基礎(chǔ),也是編寫高效、可靠代碼的關(guān)鍵。

最后在前言的末尾我補(bǔ)充一下,如果這篇文章,對(duì)大家有所幫助或收獲一定的樂(lè)趣和想法,那么非常歡迎大家能夠,點(diǎn)贊、評(píng)論、收藏、訂閱。這些也將是我持續(xù)更新的最大動(dòng)力。


文章目錄

      • 1、數(shù)據(jù)類型
        • 1.1、整型
        • 1.2、浮點(diǎn)型
        • 1.3、字符型
        • 1.4、布爾型
      • 2、數(shù)值類型之間的轉(zhuǎn)換
        • 2.1、數(shù)值類型之間的轉(zhuǎn)換
        • 2.2、強(qiáng)制類型轉(zhuǎn)換
      • 3、大數(shù)值
      • 4、字符串
        • 4.1、String 常見(jiàn)方法
        • 4.2、String 不可變
      • 5、數(shù)組
        • 5.1、數(shù)組聲明與初始化
        • 5.2、數(shù)組元素訪問(wèn)與賦值
        • 5.3、數(shù)組的常用方法
          • 5.3.1、Arrays.aslist()方法
          • 5.3.2、Arrays.binarySearch()方法
          • 5.3.3、Arrays.copyOf()方法
          • 5.3.4、Arrays.copyOfRange()方法
          • 5.3.5、Arrays.equals()方法
          • 5.3.6、Arrays.fill()方法
          • 5.3.7、Arrays.sort()方法
          • 5.3.8、Arrays.toString()方法
        • 5.4、多維數(shù)組


1、數(shù)據(jù)類型

Java 是一種強(qiáng)類型語(yǔ)言,這意味著每個(gè)變量都必須聲明其數(shù)據(jù)類型。Java 提供了 8 種基本數(shù)據(jù)類型,包括 4 種整型(byte、short、int、long)、2 種浮點(diǎn)型(float、double)、1 種字符類型(char,用于表示 Unicode 字符)和 1 種布爾類型(boolean,用于表示真假值)。

1.1、整型

Java 提供了四種整型數(shù)據(jù)類型,分別是 int、short、long 和 byte,它們的存儲(chǔ)需求、默認(rèn)值和取值范圍如下:

image-20240121170244917

在大多數(shù)情況下,我們會(huì)使用 int 類型。但如果需要表示非常大的數(shù)(如地球人口數(shù)量),則需要使用 long 類型。byte 和 short 類型主要用于特定的場(chǎng)景,如底層文件處理或大數(shù)組。

Java 中的整型范圍與運(yùn)行 Java 代碼的機(jī)器無(wú)關(guān),這使得 Java 程序在不同平臺(tái)上的移植更為容易。

Java 還支持多進(jìn)制的表示,如十六進(jìn)制(0x 或 0X 開(kāi)頭)、八進(jìn)制(0 開(kāi)頭)和二進(jìn)制(0b 或 0B 開(kāi)頭)。從 Java 7 開(kāi)始,還可以在數(shù)字中加入下劃線以提高可讀性,如 1_000_000 表示一百萬(wàn)。

1.2、浮點(diǎn)型

Java 提供了兩種浮點(diǎn)類型,分別是 float 和 double,它們的存儲(chǔ)需求、默認(rèn)值和取值范圍如下:

image-20240121170354843

float 類型的數(shù)值有一個(gè)后綴 F 或 f,如 3.14F。沒(méi)有 F 后綴的浮點(diǎn)數(shù)值(如 3.14)默認(rèn)為 double 類型。也可以在浮點(diǎn)數(shù)值后面添加后綴 D 或 d,如 3.14D。

double 類型的精度是 float 類型的兩倍,因此在大多數(shù)情況下,我們會(huì)使用 double 類型。只有在特定的場(chǎng)景下,如需要單精度數(shù)據(jù)的庫(kù)或需要存儲(chǔ)大量數(shù)據(jù),我們才會(huì)使用 float 類型。

所有的浮點(diǎn)數(shù)值計(jì)算都遵循 IEEE 754 規(guī)范。在這個(gè)規(guī)范中,定義了一些特殊的浮點(diǎn)數(shù)值,如正無(wú)窮大(Infinity)、負(fù)無(wú)窮大(-Infinity)和非數(shù)(NaN)。

需要注意的是,由于浮點(diǎn)數(shù)值采用二進(jìn)制系統(tǒng)表示,因此在進(jìn)行浮點(diǎn)數(shù)值計(jì)算時(shí)可能會(huì)出現(xiàn)舍入誤差。如果需要進(jìn)行精確的數(shù)值計(jì)算,應(yīng)該使用 BigDecimal 類。

1.3、字符型

char 類型原本用于表示單個(gè)字符。不過(guò),現(xiàn)在情況已經(jīng)有所變化。如今,有些 Unicode 字符可以用一個(gè) char 值描述,另外一些 Unicode 字符則需要兩個(gè) char 值。

char 類型的字面量值需要用單引號(hào)括起來(lái),如 'A' 是編碼值為 65 所對(duì)應(yīng)的字符常量。它與 "A" 不同,"A" 是包含一個(gè)字符 A 的字符串。char 類型的值可以表示為十六進(jìn)制值,其范圍從 \u0000\uffff。

除了 \u 轉(zhuǎn)義序列,還有一些用于表示特殊字符的轉(zhuǎn)義序列,如 \b、\t、\n\r、\"、\'\\。

image-20240121170517625

需要注意的是,在 Java 中,Unicode 轉(zhuǎn)義序列會(huì)在解析代碼之前得到處理。例如,"\u0022+\u0022" 并不是一個(gè)由引號(hào) (\u0022) 包圍加號(hào)構(gòu)成的字符串,而是一個(gè)空字符串:

public class CharDemo {public static void main(String[] args) {// 初看會(huì)輸出 "+",實(shí)際輸出 "" 空字符串System.out.println("\u0022+\u0022"); // 因?yàn)?Unicode 轉(zhuǎn)義序列會(huì)在解析代碼之前得到處理// 所以上面這行代碼實(shí)際在解析后相當(dāng)于System.out.println(""+""); }
}
1.4、布爾型

Java 中的 boolean 類型有兩個(gè)值:false 和 true,主要用于邏輯判斷。

在 Java 中,整型和布爾型是不能直接進(jìn)行轉(zhuǎn)換的。這一點(diǎn)與一些其他編程語(yǔ)言(如 C 和 C++)是不同的,在那些語(yǔ)言中,整型值 0 表示 false,非 0 值表示 true。但在 Java 中,必須使用 true 或 false 來(lái)表示布爾值。


2、數(shù)值類型之間的轉(zhuǎn)換

2.1、數(shù)值類型之間的轉(zhuǎn)換

我們經(jīng)常需要將一種數(shù)值轉(zhuǎn)換為另一種數(shù)值類型,下圖給出了數(shù)值類型之間的合法轉(zhuǎn)換。

image-20240122151309685

在圖中: 有 6 個(gè)實(shí)心箭頭,表示無(wú)信息丟失的轉(zhuǎn)換;有 3 個(gè)虛箭頭,表示可能有精度損失的轉(zhuǎn)換。例如,123_456_789 是一個(gè)大整數(shù),它所包含的位數(shù)比 float 類型所能夠表達(dá)的位數(shù)多。當(dāng)將這個(gè)整型數(shù)值轉(zhuǎn)換為 float 類型時(shí),將會(huì)得到同樣大小的結(jié)果,但卻失去了一定的精度。

當(dāng)使用兩個(gè)數(shù)值進(jìn)行二元操作時(shí)(例如 n + f, n 是整數(shù),f 是浮點(diǎn)數(shù)),先要將兩個(gè)操作數(shù)轉(zhuǎn)換為同一種類型,然后再進(jìn)行計(jì)算。

2.2、強(qiáng)制類型轉(zhuǎn)換

在必要的時(shí)候,int 類型的值將會(huì)自動(dòng)地轉(zhuǎn)換為 double 類型。但另一方面,有時(shí)也需要將 double 轉(zhuǎn)換成 int。在 Java 中,允許進(jìn)行這種數(shù)值之間的類型轉(zhuǎn)換。當(dāng)然,有可能會(huì)丟失一些信息。在這種情況下,需要通過(guò)強(qiáng)制類型轉(zhuǎn)換(cast)實(shí)現(xiàn)這個(gè)操作。強(qiáng)制類型轉(zhuǎn)換的語(yǔ)法格式是在圓括號(hào)中給出想要轉(zhuǎn)換的目標(biāo)類型,后面緊跟待轉(zhuǎn)換的變量名。

例如:

double d = 100.123;
// 強(qiáng)制類型轉(zhuǎn)換,double 強(qiáng)制轉(zhuǎn)換為 int,小數(shù)部分會(huì)被丟棄
int i = (int) d; 

如果想對(duì)浮點(diǎn)數(shù)進(jìn)行舍入運(yùn)算,以便得到最接近的整數(shù)(在很多情況下,這種操作更有用),那就需要使用 Math.round 方法:

double d = 100.123;
// 強(qiáng)制類型轉(zhuǎn)換,double 強(qiáng)制轉(zhuǎn)換為 int,小數(shù)部分會(huì)被丟棄
int i = (int) Math.round(d); 

Ps: 如果試圖將一個(gè)數(shù)值從一種類型強(qiáng)制轉(zhuǎn)換為另一種類型,而又超出了目標(biāo)類型的表示范圍,結(jié)果就會(huì)截?cái)喑梢粋€(gè)完全不同的值。


3、大數(shù)值

如果基本的整數(shù)和浮點(diǎn)數(shù)精度不能夠滿足需求,那么可以使用 java.math 包中的兩個(gè)很有用的類: BigInteger 和 BigDecimal。這兩個(gè)類可以處理包含任意長(zhǎng)度數(shù)字序列的數(shù)值。BigInteger 類實(shí)現(xiàn)了任意精度的整數(shù)運(yùn)算,BigDecimal 實(shí)現(xiàn)了任意精度的浮點(diǎn)數(shù)運(yùn)算。

使用靜態(tài)的 valueOf 方法可以將普通的數(shù)值轉(zhuǎn)換為大數(shù)值:

BigInteger a = BigInteger.valueOf(100);

遺憾的是,大數(shù)運(yùn)算不能使用人們熟悉的算術(shù)運(yùn)算符處理大數(shù)。而需要使用大數(shù)類中的 addmultiply 方法:

public class Main {public static void main(String[] args) {BigInteger a = BigInteger.valueOf(100);// b = a + 200BigInteger b = a.add(BigInteger.valueOf(200));// c = b * (b + 300)BigInteger c = b.multiply(b.add(BigInteger.valueOf(300)));System.out.println(a);System.out.println(b);System.out.println(c);}
}

4、字符串

從概念上講,Java 字符串實(shí)際上是 Unicode 字符序列。例如,字符串 “Java\u2122” 由五個(gè) Unicode 字符 ‘J’、‘a(chǎn)’、‘v’、‘a(chǎn)’ 和 ‘?’ 組成。Java 并沒(méi)有內(nèi)置的字符串類型,而是在標(biāo)準(zhǔn) Java 類庫(kù)中提供了一個(gè)預(yù)定義的類,叫做 String。每個(gè)用雙引號(hào)括起來(lái)的字符串都是 String 類的一個(gè)實(shí)例。

4.1、String 常見(jiàn)方法

Java 中的 String 類包含了 50 多個(gè)方法。令人驚訝的是絕大多數(shù)都很有用,可以設(shè)想使用的頻繁非常高。下面的 API 注釋匯總了一部分最常用的方法:

|                  方法名                  |                      方法說(shuō)明							  	      
| --------------------------------------- |----------------------------------------------|
|                length()                 |                  返回字符串的長(zhǎng)度             	
|            charAt(int index)            |               返回指定索引位置的字符               
|            equals(String s)             |          比較此字符串與指定的對(duì)象是否相等           
|       equalsIgnoreCase(String s)        |   將此 String 與另一個(gè) String 比較,不考慮大小寫    
|            indexOf(String s)            |     返回字串第一次出現(xiàn)的位置,沒(méi)出現(xiàn)則返回 -1     
|          lastIndexOf(String s)          |     返回字串最后一次出現(xiàn)的位置,沒(méi)出現(xiàn)返回 -1     
|        starstWith(String prefix)        |          測(cè)試此字符串是否以指定的前綴開(kāi)始          
|         endsWith(String suffix)         |          測(cè)試此字符串是否以指定的后綴結(jié)束           
|              toLowerCase()              |                返回字符串的小寫形式                 
|              toUpperCase()              |                返回字符串的大寫形式                 
| substring(int startindex,int endindex)  |   返回一個(gè)新的字符串,它是此字符串的一個(gè)子字符串    
|           contains(String s)            | 當(dāng)且僅當(dāng)此字符串包含指定的 char 值序列時(shí),返回 true 
| replaceAll(String oldSrt,String newSrt) |          替換原有字符串中的字串為目標(biāo)字串           
|            concat(String s)             |          將指定字符串連接到此字符串的結(jié)尾           
|           split(String split)           |        根據(jù)給定正則表達(dá)式的匹配拆分此字符串         
|                 tirm()                  |      返回字符串的副本,忽略前導(dǎo)空白和尾部空白       
|               getBytes()                |                返回字符串的字節(jié)數(shù)組               
|                isEmpty()                |                 判斷字符串是否為空         
|              tocharArray()              |          將此字符串轉(zhuǎn)換為一個(gè)新的字符數(shù)組     
|               hashCode()                |                 返回字符串的哈希值       			  |
4.2、String 不可變

在 Java 中,String 是不可變的,String 類的源碼:

public final class String{//用字符數(shù)組來(lái)存數(shù)值private final char value[];}

雖然 String 是 final 類型的類,且 value 也是 final 類型的數(shù)組,但這不是 String 不可變的根本原因,String 不可變是因?yàn)?value 是 private,且并沒(méi)有提供對(duì)外的 get 和 set。

由于 String 每次修改都會(huì)創(chuàng)建新的對(duì)象,這在頻繁修改時(shí)會(huì)導(dǎo)致效率低下和內(nèi)存占用大。而 StringBufferStringBuilder 是可變的,可以進(jìn)行高效的字符串修改。

  • StringBufferStringBuilder 都是 AbstractStringBuilder 的子類,使用數(shù)組存儲(chǔ)字符串內(nèi)容,可以進(jìn)行字符串內(nèi)容的修改,且不會(huì)因?yàn)樾薷亩鴦?chuàng)建新的對(duì)象;

  • StringBuffer 的方法使用了 synchronized 關(guān)鍵詞,因此它是線程安全的,但效率略低于 StringBuilder

  • StringBuilder 的方法沒(méi)有使用 synchronized 關(guān)鍵詞,因此它在單線程環(huán)境下效率更高,但在多線程環(huán)境下不能保證線程安全。

因此,在需要頻繁修改字符串的情況下,應(yīng)優(yōu)先考慮使用 StringBufferStringBuilder。在多線程環(huán)境下,應(yīng)優(yōu)先使用 StringBuffer 以保證線程安全。在單線程環(huán)境下,可以使用 StringBuilder 以獲得更高的效率。


5、數(shù)組

在 Java 中,數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),用來(lái)存儲(chǔ)同一類型值的集合。

5.1、數(shù)組聲明與初始化

Java 數(shù)組需要在正確的聲明和初始化后才能正常使用,其聲明的格式為: 數(shù)組類型[] 數(shù)組變量名稱。而數(shù)組初始化是指,在定義數(shù)組時(shí)只指定數(shù)組的長(zhǎng)度,由系統(tǒng)自動(dòng)為元素賦初值的方式稱作動(dòng)態(tài)初始化。

在 Java 中,數(shù)組的初始化有以下幾種方式:

// 動(dòng)態(tài)初始化:只指定數(shù)組的長(zhǎng)度,由系統(tǒng)自動(dòng)為元素賦初值
// 在這個(gè)例子中,arr 是一個(gè)長(zhǎng)度為 4 的整型數(shù)組,數(shù)組的元素會(huì)被自動(dòng)初始化為 0
int[] arr = new int[4];
// 靜態(tài)初始化:在定義數(shù)組時(shí)就指定數(shù)組的元素值
int[] arr = new int[]{1, 2, 3, 4};
// 或者
int[] arr = {1, 2, 3, 4}
5.2、數(shù)組元素訪問(wèn)與賦值

通過(guò)一個(gè)整型下標(biāo)可以訪問(wèn)數(shù)組中的每一個(gè)值,其訪問(wèn)的格式為: 數(shù)組變量名稱[下標(biāo)整數(shù)]。例如,如果 a 是一個(gè)整型數(shù)組,我們想要訪問(wèn) a 的下標(biāo)為 i 的元素,那就是: a[i]

同樣的,當(dāng)我們想要為數(shù)組下某元素進(jìn)行賦值的時(shí)候,也是通過(guò)指定整數(shù)下標(biāo)完成的,其格式為: 數(shù)組變量名稱[下標(biāo)整數(shù)] = 值。

此外,Java 數(shù)組還提供了一個(gè) length 字段,用以記錄數(shù)組中的元素個(gè)數(shù):

import java.util.Arrays;public class Solution {public static strictfp void main(String[] args) {int[] nums1 = {1, 2, 5, 6};// 輸出結(jié)果為 4System.out.println(nums1.length);}
}
5.3、數(shù)組的常用方法

在 Java 中,數(shù)組作為 Java 中的一種引用類型,是有父類的,java.lang.Object 就是數(shù)組的父類,這是根據(jù) Java 語(yǔ)言規(guī)范中的定義而來(lái)的(根據(jù)規(guī)范,所有數(shù)組類型都直接繼承自 Object 類這是因?yàn)?Object 類是 Java 中所有類的根類,所以所有的類,包括數(shù)組類型,都隱式地繼承自 Object 類)。

數(shù)組的繼承關(guān)系并不意味著數(shù)組類型具有與其他類相同的特性或方法。數(shù)組是一種特殊的數(shù)據(jù)結(jié)構(gòu),其操作和行為在很大程度上由 Java 語(yǔ)言本身定義。雖然數(shù)組繼承了 Object 類的一些方法,但它們也有一些特定于數(shù)組的行為和限制。

我們可以使用 java.util.Arrays 類對(duì)數(shù)組進(jìn)行一些基本的操作,Arrays 類中的方法都是靜態(tài)方法,可以直接使用類名進(jìn)行調(diào)用。

5.3.1、Arrays.aslist()方法

Arrays.asList() 是一個(gè) Java 的靜態(tài)方法,它可以把一個(gè)數(shù)組或者多個(gè)參數(shù)轉(zhuǎn)換成一個(gè) java.util.List 集合。這個(gè)方法可以作為數(shù)組和集合之間的橋梁,方便我們使用集合的一些方法和特性。

Arrays.asList() 的語(yǔ)法格式如下(以 int 類型為例):

    /*** 將數(shù)組轉(zhuǎn)換為 List 集合** @param srcArray 原數(shù)組* @return 指定類型的 List 集合*/public static <T> List<T> asList(T... srcArray) {...}

這個(gè)方法接受一個(gè)泛型參數(shù) T,表示數(shù)組或者參數(shù)的類型。T 必須是一個(gè)引用類型,不能是一個(gè)基本類型(例如 int、double、char 等)。

Arrays.asList() 返回的 List 是一個(gè) Arrays 類的內(nèi)部類,它持有一個(gè)對(duì)原始數(shù)組的引用。這意味著對(duì) List 的修改會(huì)反映到數(shù)組上,反之亦然。但是,這個(gè) List 的大小是固定的,不能進(jìn)行增加或者刪除的操作,否則會(huì)拋出 java.lang.UnsupportedOperationException 異常。

Arrays.asList() 返回的 List 是可序列化的,并且實(shí)現(xiàn)了 java.util.RandomAccess 接口,表示它支持隨機(jī)訪問(wèn)。

import java.util.Arrays;
import java.util.List;public class Solution {public static void main(String[] args) {Integer[] nums1 = {1, 2, 3, 4};List<Integer> list = Arrays.asList(nums1);// 輸出結(jié)果為 "[1, 2, 3, 4]"System.out.println(list);list.set(0, 0);// 輸出結(jié)果為 "[0, 2, 3, 4]"System.out.println(Arrays.toString(nums1));nums1[1] = 0;// 輸出結(jié)果為 "[0, 0, 3, 4]"System.out.println(list);// 拋出 java.lang.UnsupportedOperationException 異常list.add(5);}
}
5.3.2、Arrays.binarySearch()方法

Arrays.binarySearch() 是一個(gè) Java 的靜態(tài)方法,它可以在數(shù)組中通過(guò)二分查找的方式,找到指定元素的在數(shù)組中的下標(biāo),如果沒(méi)找到就返回 -1。

Arrays.binarySearch() 的格式定義如下(以 int 類型為例):

    /*** 查找元素* @param srcArray 源數(shù)組* @param key      指定查詢?cè)? @return 查詢?cè)厮诘南聵?biāo),沒(méi)有則返回 -1*/public static int binarySearch(int[] srcArray, int key){...}/*** 在指定范圍內(nèi)查找元素* @param srcArray  源數(shù)組* @param fromIndex 查找起始索引位置* @param toIndex   查找終止索引位置(不包括索引值本身)* @param key       查詢?cè)? @return 查詢?cè)厮诘南聵?biāo),沒(méi)有則返回 -1*/public static int binarySearch(int[] srcArray, int fromIndex, int toIndex, int key) {...}
5.3.3、Arrays.copyOf()方法

Arrays.copyOf() 是一個(gè) Java 的靜態(tài)方法,它將返回一個(gè)新的數(shù)組對(duì)象。

Arrays.copyOf() 的格式定義如下(以 int 類型為例):

    /*** 數(shù)組復(fù)制* @param srcArray  源數(shù)組* @param newLength 新數(shù)組長(zhǎng)度* @return 新數(shù)組*/public static <T> T[] copyOf(T[] srcArray, int newLength) {...}

使用這種方法復(fù)制數(shù)組時(shí),默認(rèn)從原數(shù)組的第一個(gè)元素(索引值為 0)開(kāi)始復(fù)制,目標(biāo)數(shù)組的長(zhǎng)度將為 newLength。如果 newLength 大于 srcArray.length,則目標(biāo)數(shù)組中采用默認(rèn)值填充;如果 newLength 小于 srcArray.length,則復(fù)制到第 newLength 個(gè)元素(索引值為 newLength-1)即止。

import java.util.Arrays;public class Solution {public static void main(String[] args) {int[] nums1 = {1, 2, 3, 4};int[] arr2 = Arrays.copyOf(nums1, 3);// 打印結(jié)果為: "[1, 2, 3]"System.out.println(Arrays.toString(arr2));int[] arr3 = Arrays.copyOf(nums1, 5);// 打印結(jié)果為: "[1, 2, 3, 4, 0]"System.out.println(Arrays.toString(arr3));}
}
5.3.4、Arrays.copyOfRange()方法

Arrays.copyOfRange() 是一個(gè) Java 的靜態(tài)方法,它是 Arrays 類中除的 Arrays.copyOf() 方法外的另一種復(fù)制數(shù)組的方法。

Arrays.copyOfRange() 的格式定義如下(以 int 類型為例):

    /*** 數(shù)組復(fù)制* @param srcArray   源數(shù)組* @param startIndex 開(kāi)始復(fù)制的起始索引* @param endIndex   完成復(fù)制的結(jié)束索引(不包括索引值本身)* @return 新數(shù)組*/public static <T> T[] copyOfRange(T[] srcArray, int startIndex, int endIndex) {...}

其中:startIndex 必須在 0 到 srcArray.length 之間;endIndex 必須大于等于 startIndex,可以大于 srcArray.length,如果大于 srcArray.length,則目標(biāo)數(shù)組中使用默認(rèn)值填充。

5.3.5、Arrays.equals()方法

Arrays.equals() 是一個(gè) Java 的靜態(tài)方法,用以比較數(shù)組內(nèi)容是否相等,如果相等返回 true,否則返回 false。

Arrays.equals() 的格式定義如下(以 int 類型為例):

    /*** 比較兩個(gè)數(shù)組是否相等* @param a1 數(shù)組1* @param a2 數(shù)組2* @return 是否相等 true/false*/public static boolean equals(int[] a1, int[] a2)

Java 中的 Arrays.equals 方法設(shè)計(jì)用于比較一維數(shù)組。對(duì)于二維數(shù)組,它會(huì)將整個(gè)數(shù)組對(duì)象進(jìn)行比較,而不會(huì)逐個(gè)比較數(shù)組中的元素。如果需要比較二維數(shù)組的內(nèi)容,可能需要使用其他方法,比如使用嵌套循環(huán)逐個(gè)比較數(shù)組元素。

5.3.6、Arrays.fill()方法

Arrays.fill() 是一個(gè) Java 的靜態(tài)方法,它允許我們填充一個(gè)數(shù)組的所有元素,將它們?cè)O(shè)置為指定的值。

Arrays.fill() 的格式定義如下(以 int 類型為例):

    /*** 填充數(shù)組中的全部元素* @param srcArray 源數(shù)組* @param val      填充的元素值*/public static void fill(int[] srcArray, int val) {...}/*** 填充數(shù)組中指定范圍的全部元素* @param srcArray  源數(shù)組* @param fromIndex 填充范圍的起始索引* @param toIndex   填充范圍的結(jié)束索引(不包括索引值本身)* @param val       填充的元素值*/public static void fill(int[] srcArray, int fromIndex, int toIndex, int val) {...}
5.3.7、Arrays.sort()方法

Arrays.sort() 是一個(gè) Java 的靜態(tài)方法,它的作用是給數(shù)組排序,默認(rèn)是升序的。

Arrays.sort() 的格式定義如下(以 int 類型為例):

    /*** 數(shù)組中的全部元素排序(升序)* @param srcArray 源數(shù)組*/public static void sort(int[] srcArray) {...}/*** 數(shù)組中指定范圍的元素排序(升序)* @param srcArray  源數(shù)組* @param fromIndex 范圍排序的起始索引* @param toIndex   范圍排序的結(jié)束索引(不包括索引值本身)*/public static void sort(int[] srcArray, int fromIndex, int toIndex){...}
5.3.8、Arrays.toString()方法

Arrays.toString() 是一個(gè) Java 的靜態(tài)方法,用于將數(shù)組轉(zhuǎn)換為字符串,可以快速的輸出數(shù)組的內(nèi)容。

Arrays.toString() 的格式定義如下(以 int 類型為例):

    /*** 將數(shù)組轉(zhuǎn)換為字符串形式* @param srcArray 源數(shù)組* @return 字符串形式的數(shù)組*/public static String toString(int[] srcArray){...}
5.4、多維數(shù)組

在 Java 中,多維數(shù)組是使用多個(gè)下標(biāo)來(lái)訪問(wèn)數(shù)組元素的,它適用于表示表格或更復(fù)雜的排列形式。

以下是二維數(shù)組的定義格式:

  1. 指定行和列的長(zhǎng)度:
// 在這個(gè)例子中,arr 是一個(gè) 3x4 的二維數(shù)組,即二維數(shù)組的行數(shù)為 3,每一行的列數(shù)為 4。
int[][] arr = new int[3][4];
  1. 只指定行的長(zhǎng)度:
// 在這個(gè)例子中,arr 是一個(gè)二維數(shù)組,二維數(shù)組的行數(shù)為 3,每一行的列數(shù)不確定,需要單獨(dú)為每一行分配內(nèi)存。
int[][] arr = new int[3][];
  1. 直接指定所有元素的值:
// 在這個(gè)例子中,arr 是一個(gè)二維數(shù)組,二維數(shù)組中定義了三個(gè)元素,這三個(gè)元素都是數(shù)組,分別為 {1, 2}、{3, 4, 5, 6}、{7, 8, 9}。
int[][] arr = {{1, 2}, {3, 4, 5, 6}, {7, 8, 9}};

在內(nèi)存中,二維數(shù)組是按照行來(lái)存儲(chǔ)的。例如,int[][] arr = new int[3][2];,外層數(shù)組在內(nèi)存中開(kāi)辟了連續(xù)的 3 個(gè)大的內(nèi)存空間,每一個(gè)大內(nèi)存空間里又開(kāi)辟了連續(xù)的兩個(gè)小的內(nèi)存空間。

http://www.risenshineclean.com/news/49909.html

相關(guān)文章:

  • 那里做直播網(wǎng)站搜索引擎優(yōu)化指的是
  • 姓名域名亞馬遜seo什么意思
  • WordPress模版二次元長(zhǎng)沙有實(shí)力seo優(yōu)化
  • 網(wǎng)站建設(shè)規(guī)劃北京今日重大新聞
  • 網(wǎng)站開(kāi)發(fā)采購(gòu)合同模板下載b2b
  • 做素材網(wǎng)站存儲(chǔ)搜索最多的關(guān)鍵詞的排名
  • 廣東網(wǎng)站建設(shè)微信官網(wǎng)開(kāi)發(fā)網(wǎng)絡(luò)營(yíng)銷策劃模板
  • 哪兒提供邢臺(tái)做網(wǎng)站windows系統(tǒng)優(yōu)化軟件排行榜
  • 一個(gè)公網(wǎng)ip可以做幾個(gè)網(wǎng)站青島官網(wǎng)seo方法
  • 怎么做網(wǎng)站企業(yè)文化欄目網(wǎng)站推廣途徑和推廣要點(diǎn)
  • 24小時(shí)學(xué)會(huì)網(wǎng)站建設(shè) 下載定制網(wǎng)站開(kāi)發(fā)
  • 聯(lián)通做網(wǎng)站寧波seo網(wǎng)站推廣軟件
  • 網(wǎng)頁(yè)制作價(jià)格私活seodao cn
  • 商會(huì)網(wǎng)站建設(shè)方案廣告策劃公司
  • 商城類網(wǎng)站功能列表北京seo排名服務(wù)
  • 自己做時(shí)時(shí)彩票網(wǎng)站北京seo排名外包
  • 做網(wǎng)站小編怎么樣做網(wǎng)絡(luò)推廣可以通過(guò)哪些渠道推廣
  • 網(wǎng)站建設(shè)優(yōu)化公司cps推廣接單平臺(tái)
  • 網(wǎng)站開(kāi)發(fā)服務(wù)商百度網(wǎng)頁(yè)版網(wǎng)址
  • 能查個(gè)人信息的網(wǎng)站百度競(jìng)價(jià)托管代運(yùn)營(yíng)公司
  • 營(yíng)銷型網(wǎng)站建設(shè)定制網(wǎng)絡(luò)營(yíng)銷的四種模式
  • 怎樣免費(fèi)建立自己網(wǎng)站長(zhǎng)春做網(wǎng)站推薦選吉網(wǎng)傳媒好
  • 什么是網(wǎng)站app惠州seo管理
  • wordpress手機(jī)圖片站蘇州百度代理公司
  • 平面設(shè)計(jì)網(wǎng)站大全有哪些成人計(jì)算機(jī)培訓(xùn)機(jī)構(gòu)哪個(gè)最好
  • 一些好用的網(wǎng)站個(gè)人博客網(wǎng)站設(shè)計(jì)畢業(yè)論文
  • 做自媒體的網(wǎng)站谷歌推廣開(kāi)戶多少費(fèi)用
  • 自己做的網(wǎng)站如何加視頻長(zhǎng)春seo排名公司
  • wordpress做的好的網(wǎng)站友情鏈接的形式有哪些
  • 深圳網(wǎng)站建設(shè)公司 交通如何推廣app更高效