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

Java中的數(shù)組基礎(chǔ)知識(shí)學(xué)習(xí)教程

 更新時(shí)間:2016年02月18日 08:53:32   投稿:goldensun  
這篇文章主要介紹了Java中的數(shù)組基礎(chǔ)知識(shí)學(xué)習(xí)教程,文中同時(shí)也整理了Java對(duì)數(shù)字類型的支持狀況及Number類中的方法,需要的朋友可以參考下

數(shù)字

通常情況下,當(dāng)我們處理數(shù)字時(shí),使用原始數(shù)據(jù)類型,如 byte,int,long,double 等。

示例

int i = 5000;
float gpa = 13.65;
byte mask = 0xaf;

然而,在開(kāi)發(fā)中,我們會(huì)遇到需要使用對(duì)象而不是原始數(shù)據(jù)類型的情況。為了實(shí)現(xiàn)這個(gè), Java 為每個(gè)原始數(shù)據(jù)類型提供包裝類。

所有的包裝類 (Integer, Long, Byte, Double, Float, Short) 是抽象類 Number 的子類。

201621884859636.jpg (400×167)

這種包裝是由編譯器處理,這個(gè)過(guò)程稱為裝箱。因此,當(dāng)一個(gè)原始數(shù)據(jù)類型被使用,當(dāng)需要一個(gè)對(duì)象時(shí),編譯器將原始數(shù)據(jù)放入其包裝類。同樣地,編譯器也能將對(duì)象取出返回到原始數(shù)據(jù)類型。Number 是 java.lang 包的一部分。

這里是裝箱和拆箱的一個(gè)例子:

public class Test{

  public static void main(String args[]){
   Integer x = 5; // boxes int to an Integer object
   x = x + 10;  // unboxes the Integer to a int
   System.out.println(x); 
  }
}

這將產(chǎn)生以下結(jié)果:

復(fù)制代碼 代碼如下:
15

當(dāng) x 被分配整數(shù)值,則編譯器將整數(shù)放入箱中,因?yàn)?x 為整數(shù)對(duì)象。然后,x 被拆箱,以便它們可以被添加為整數(shù)。

Number 方法
以下是對(duì) Number 類實(shí)現(xiàn)的所有子類中實(shí)現(xiàn)的實(shí)例方法的列表:

SN 方法描述
1 xxxValue()
這個(gè)Number對(duì)象的值轉(zhuǎn)換為XXX的數(shù)據(jù)類型并返回
2 compareTo()
把這個(gè)Number對(duì)象與參數(shù)做比較
3 equals()
確定這個(gè)數(shù)字對(duì)象是否等于參數(shù)
4 valueOf()
返回一個(gè)Integer對(duì)象持有指定的原始值
5 toString()
返回表示指定的int或整數(shù)的值的String對(duì)象
6 parseInt()
此方法用于獲取某個(gè)字符串的原始數(shù)據(jù)類型
7 abs()
返回參數(shù)的絕對(duì)值
8 ceil()
返回的最小整數(shù)大于或等于該參數(shù)。返回為double
9 floor()
返回的最大整數(shù)小于或等于該參數(shù)。返回為double
10 rint()
返回的整數(shù),它是最接近值該參數(shù)值。返回為double
11 round()
返回最接近的long或者int,通過(guò)該方法的返回類型所指參數(shù)
12 min()
返回兩個(gè)參數(shù)中較小的
13 max()
返回兩個(gè)參數(shù)中較大的
14 exp()
返回自然對(duì)數(shù)的底數(shù)e,該參數(shù)的冪值
15 log()
返回參數(shù)的自然對(duì)數(shù)
16 pow()
返回第一個(gè)參數(shù)的提高至第二個(gè)參數(shù)的冪值
17 sqrt()
返回參數(shù)的平方根
18 sin()
返回指定的double值的正弦值
19 cos()
返回指定的double值的余弦值
20 tan()
返回指定的double值的正切值
21 asin()
返回指定的double值的反正弦
22 acos()
返回指定的double值的反余弦值
23 atan()
返回指定的double值的反正切值
24 atan2()
將直角坐標(biāo)(x,y)轉(zhuǎn)換為極坐標(biāo)(r,θ)并返回θ
25 toDegrees()
將參數(shù)轉(zhuǎn)換為度
26 toRadians()
將參數(shù)轉(zhuǎn)換為弧度
27 random()
返回一個(gè)隨機(jī)數(shù)


數(shù)組
Java 提供了一個(gè)數(shù)據(jù)結(jié)構(gòu):數(shù)組,用于存儲(chǔ)相同類型的元素的一個(gè)固定大小的連續(xù)集合。數(shù)組是用于存儲(chǔ)數(shù)據(jù)的集合,但往往將數(shù)組認(rèn)為是相同類型的變量的集合。

跟聲明單個(gè)變量相反,如 number0, number1, ... number99, 聲明一個(gè)數(shù)組變量,如數(shù)字和使用 numbers[0], numbers[1] ..., numbers[99] 來(lái)表示各個(gè)變量。

此次教程將介紹如何使用索引變量聲明數(shù)組變量,創(chuàng)建數(shù)組,并處理數(shù)組。

聲明數(shù)組變量
要使用一個(gè)程序的數(shù)組,必須聲明一個(gè)變量來(lái)引用數(shù)組,必須指定數(shù)組的變量可以引用的類型。下面是來(lái)聲明一個(gè)數(shù)組變量的語(yǔ)法:

dataType[] arrayRefVar;  // preferred way.

or

dataType arrayRefVar[]; // works but not preferred way.

注 風(fēng)格 dataType[] arrayRefVar 是首選的。風(fēng)格 dataType arrayRefVar[] 來(lái)自于 C/C++ 語(yǔ)言, 方便Java 繼承 C/C++ 的編程風(fēng)格。

示例

下面的代碼片段是這種語(yǔ)法的例子:

double[] myList;     // preferred way.

or

double myList[];     // works but not preferred way.

創(chuàng)建數(shù)組
可以通過(guò)使用 new 運(yùn)算符使用以下語(yǔ)法創(chuàng)建一個(gè)數(shù)組:

arrayRefVar = new dataType[arraySize];

上面的語(yǔ)句做了兩件事:

  • 它創(chuàng)建了一個(gè)使用 new dataType[arraySize] 的數(shù)組;
  • 它將新創(chuàng)建的數(shù)組引用分配給變量 arrayRefVar。

聲明數(shù)組變量,建立一個(gè)數(shù)組,并分配給變量數(shù)組引用可以在一個(gè)語(yǔ)句中組合使用,如下所示:

dataType[] arrayRefVar = new dataType[arraySize];

另外,可以創(chuàng)建數(shù)組,如下所示:

dataType[] arrayRefVar = {value0, value1, ..., valuek};

數(shù)組元素通過(guò)索引訪問(wèn)。數(shù)組的下標(biāo)是從0開(kāi)始的,也就是說(shuō),它們從0開(kāi)始到 arrayRefVar.length-1。

示例

下面的語(yǔ)句聲明一個(gè)數(shù)組變量 myList,創(chuàng)建 double 類型的10個(gè)元素的數(shù)組,并把它的引用分配到 myList :

double[] myList = new double[10];

以下圖片代表數(shù)組 myList。在這里,myList 有10個(gè) double 值,索引是從0到9。

201621885056282.jpg (450×243)

處理數(shù)組
當(dāng)處理數(shù)組元素時(shí),經(jīng)常使用的是 loop 循環(huán)或 foreach 循環(huán),因?yàn)橐粋€(gè)數(shù)組中所有的元素是相同類型的并且數(shù)組的大小是已知的。

示例

下面是一個(gè)演示如何創(chuàng)建,初始化和處理數(shù)組的完整例子:

public class TestArray {

  public static void main(String[] args) {
   double[] myList = {1.9, 2.9, 3.4, 3.5};

   // Print all the array elements
   for (int i = 0; i < myList.length; i++) {
     System.out.println(myList[i] + " ");
   }
   // Summing all elements
   double total = 0;
   for (int i = 0; i < myList.length; i++) {
     total += myList[i];
   }
   System.out.println("Total is " + total);
   // Finding the largest element
   double max = myList[0];
   for (int i = 1; i < myList.length; i++) {
     if (myList[i] > max) max = myList[i];
   }
   System.out.println("Max is " + max);
  }
}

這將產(chǎn)生以下結(jié)果:

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

foreach 循環(huán)
JDK 1.5 引入了一個(gè)新的 for 循環(huán)被稱為 foreach 循環(huán)或增強(qiáng)的 for 循環(huán),它無(wú)需使用一個(gè)索引變量來(lái)完整的遍歷數(shù)組。

示例

下面的代碼顯示數(shù)組 myList 中的所有元素:

public class TestArray {

  public static void main(String[] args) {
   double[] myList = {1.9, 2.9, 3.4, 3.5};

   // Print all the array elements
   for (double element: myList) {
     System.out.println(element);
   }
  }
}

這將產(chǎn)生以下結(jié)果:

1.9
2.9
3.4
3.5

將數(shù)組傳遞給方法
正如傳遞基本類型值的方法,也可以將數(shù)組傳遞給方法。例如,下面的方法顯示在一個(gè) int 數(shù)組中的元素:

public static void printArray(int[] array) {
 for (int i = 0; i < array.length; i++) {
  System.out.print(array[i] + " ");
 }
}

你可以通過(guò)傳遞數(shù)組調(diào)用它。例如,下面的語(yǔ)句調(diào)用方法 PrintArray 顯示3,1,2,6,4,2:

printArray(new int[]{3, 1, 2, 6, 4, 2});

從一個(gè)方法返回一個(gè)數(shù)組
一個(gè)方法也可以返回一個(gè)數(shù)組。例如,下面所示的方法返回一個(gè)數(shù)組,它是另一個(gè)數(shù)組的反轉(zhuǎn):

public static int[] reverse(int[] list) {
 int[] result = new int[list.length];

 for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
  result[j] = list[i];
 }
 return result;
}

Arrays 類
java.util.Arrays 中的類包含各種靜態(tài)方法用于排序和搜索數(shù)組、數(shù)組的比較和填充數(shù)組元素。這些方法為所有基本類型所重載。

SN 方法和描述
1 public static int binarySearch (Object[] a, Object key)
使用二進(jìn)制搜索算法搜索對(duì)象的指定數(shù)組(字節(jié),整數(shù),雙精度等)來(lái)指定值。該數(shù)組必須在進(jìn)行此調(diào)用之前進(jìn)行分類。如果它被包含在列表 (-(insertion point + 1), 將返回索引搜索關(guān)鍵字。
2 public static boolean equals (long[] a, long[] a2)
如果多頭的兩個(gè)指定數(shù)組彼此相等返回true。兩個(gè)數(shù)組認(rèn)為是相等判定方法:如果兩個(gè)數(shù)組包含相同的元素?cái)?shù)目,并在兩個(gè)數(shù)組元素的所有相應(yīng)對(duì)相等。如果兩個(gè)數(shù)組相等,返回true。同樣的方法可以用于所有其它的原始數(shù)據(jù)類型 (Byte, short, Int, etc.)
3 public static void fill(int[] a, int val)
將指定的int值到指定的int型數(shù)組中的每個(gè)元素。同樣的方法可以用于所有其它的原始數(shù)據(jù)類型(Byte, short, Int etc.)
4 public static void sort(Object[] a)
將對(duì)象指定的數(shù)組升序排列,根據(jù)其元素的自然順序。同樣的方法可以用于所有其它的原始數(shù)據(jù)類型( Byte, short, Int, etc.)

相關(guān)文章

  • 使用spring框架中的組件發(fā)送郵件功能說(shuō)明

    使用spring框架中的組件發(fā)送郵件功能說(shuō)明

    Spring使用的是基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。這篇文章主要介紹了使用spring框架中的組件發(fā)送郵件,需要的朋友可以參考下
    2017-11-11
  • 解讀easyexcel中的常用注解

    解讀easyexcel中的常用注解

    這篇文章主要介紹了關(guān)于easyexcel中的常用注解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 在IDEA中搭建最小可用SpringMVC項(xiàng)目(純Java配置)

    在IDEA中搭建最小可用SpringMVC項(xiàng)目(純Java配置)

    這篇文章主要介紹了在IDEA中搭建最小可用SpringMVC項(xiàng)目(純Java配置),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • java實(shí)現(xiàn)遍歷樹(shù)形菜單兩種實(shí)現(xiàn)代碼分享

    java實(shí)現(xiàn)遍歷樹(shù)形菜單兩種實(shí)現(xiàn)代碼分享

    這篇文章主要介紹了java實(shí)現(xiàn)遍歷樹(shù)形菜單兩種實(shí)現(xiàn)代碼分享,兩種實(shí)現(xiàn):OpenSessionView實(shí)現(xiàn)、TreeAction實(shí)現(xiàn)。具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • SpringMVC前后端參數(shù)映射

    SpringMVC前后端參數(shù)映射

    在web開(kāi)發(fā)中我們都要進(jìn)行前端傳參后端取參的過(guò)程,本文主要介紹了SpringMVC前后端參數(shù)映射,針對(duì)GET,?POST,?PUT,?DELETE?請(qǐng)求的參數(shù)該如何映射,感興趣的可以了解一下
    2023-08-08
  • 在Java中如何避免創(chuàng)建不必要的對(duì)象

    在Java中如何避免創(chuàng)建不必要的對(duì)象

    作為Java開(kāi)發(fā)者,我們每天創(chuàng)建很多對(duì)象,但如何才能避免創(chuàng)建不必要的對(duì)象呢?這需要我們好好學(xué)習(xí),這篇文章主要給大家介紹了關(guān)于在Java中如何避免創(chuàng)建不必要對(duì)象的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • Java如何通過(guò)反射方式生成數(shù)據(jù)庫(kù)實(shí)體類

    Java如何通過(guò)反射方式生成數(shù)據(jù)庫(kù)實(shí)體類

    這篇文章主要介紹了Java如何通過(guò)反射方式生成數(shù)據(jù)庫(kù)實(shí)體類問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • java直接插入排序示例

    java直接插入排序示例

    這篇文章主要介紹了java直接插入排序示例,插入排序的比較次數(shù)仍然是n的平方,但在一般情況下,它要比冒泡排序快一倍,比選擇排序還要快一點(diǎn)。它常常被用在復(fù)雜排序算法的最后階段,比如快速排序。
    2014-05-05
  • SpringBoot設(shè)置動(dòng)態(tài)定時(shí)任務(wù)的方法詳解

    SpringBoot設(shè)置動(dòng)態(tài)定時(shí)任務(wù)的方法詳解

    這篇文章主要為大家詳細(xì)介紹了SpringBoot設(shè)置動(dòng)態(tài)定時(shí)任務(wù)的方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定的參考價(jià)值,需要的可以參考一下
    2022-06-06
  • IntelliJ?IDEA?2020.2.3永久破解激活教程(親測(cè)有效)

    IntelliJ?IDEA?2020.2.3永久破解激活教程(親測(cè)有效)

    intellij?idea?2022是一款市面上最好的JAVA?IDE編程工具,該工具支持git、svn、github等版本控制工具,整合了智能代碼助手、代碼自動(dòng)提示等功能,本教程給大家分享IDEA?2022最新永久激活碼,感興趣的朋友參考下吧
    2020-10-10

最新評(píng)論

宁德市| 北安市| 桦川县| 旬阳县| 南康市| 莱西市| 宜章县| 孝昌县| 张家口市| 田东县| 清河县| 兴隆县| 射洪县| 洞头县| 青川县| 岚皋县| 信宜市| 广宗县| 绿春县| 叶城县| 天气| 汉阴县| 乌兰察布市| 宁化县| 珲春市| 蒲城县| 会东县| 上虞市| 陈巴尔虎旗| 万州区| 兖州市| 建始县| 莱州市| 永安市| 马龙县| 日喀则市| 武夷山市| 建宁县| 新平| 渝中区| 丹江口市|