欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中的數(shù)組基礎知識學習教程

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

數(shù)字

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

示例

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

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

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

201621884859636.jpg (400×167)

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

這里是裝箱和拆箱的一個例子:

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)生以下結果:

復制代碼 代碼如下:
15

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

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

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


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

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

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

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

dataType[] arrayRefVar;  // preferred way.

or

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

注 風格 dataType[] arrayRefVar 是首選的。風格 dataType arrayRefVar[] 來自于 C/C++ 語言, 方便Java 繼承 C/C++ 的編程風格。

示例

下面的代碼片段是這種語法的例子:

double[] myList;     // preferred way.

or

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

創(chuàng)建數(shù)組
可以通過使用 new 運算符使用以下語法創(chuàng)建一個數(shù)組:

arrayRefVar = new dataType[arraySize];

上面的語句做了兩件事:

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

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

dataType[] arrayRefVar = new dataType[arraySize];

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

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

數(shù)組元素通過索引訪問。數(shù)組的下標是從0開始的,也就是說,它們從0開始到 arrayRefVar.length-1。

示例

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

double[] myList = new double[10];

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

201621885056282.jpg (450×243)

處理數(shù)組
當處理數(shù)組元素時,經(jīng)常使用的是 loop 循環(huán)或 foreach 循環(huán),因為一個數(shù)組中所有的元素是相同類型的并且數(shù)組的大小是已知的。

示例

下面是一個演示如何創(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)生以下結果:

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

foreach 循環(huán)
JDK 1.5 引入了一個新的 for 循環(huán)被稱為 foreach 循環(huán)或增強的 for 循環(huán),它無需使用一個索引變量來完整的遍歷數(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)生以下結果:

1.9
2.9
3.4
3.5

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

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

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

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

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

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)
使用二進制搜索算法搜索對象的指定數(shù)組(字節(jié),整數(shù),雙精度等)來指定值。該數(shù)組必須在進行此調用之前進行分類。如果它被包含在列表 (-(insertion point + 1), 將返回索引搜索關鍵字。
2 public static boolean equals (long[] a, long[] a2)
如果多頭的兩個指定數(shù)組彼此相等返回true。兩個數(shù)組認為是相等判定方法:如果兩個數(shù)組包含相同的元素數(shù)目,并在兩個數(shù)組元素的所有相應對相等。如果兩個數(shù)組相等,返回true。同樣的方法可以用于所有其它的原始數(shù)據(jù)類型 (Byte, short, Int, etc.)
3 public static void fill(int[] a, int val)
將指定的int值到指定的int型數(shù)組中的每個元素。同樣的方法可以用于所有其它的原始數(shù)據(jù)類型(Byte, short, Int etc.)
4 public static void sort(Object[] a)
將對象指定的數(shù)組升序排列,根據(jù)其元素的自然順序。同樣的方法可以用于所有其它的原始數(shù)據(jù)類型( Byte, short, Int, etc.)

相關文章

  • 關于注解FeignClient的使用規(guī)范

    關于注解FeignClient的使用規(guī)范

    這篇文章主要介紹了關于注解FeignClient的使用規(guī)范,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 在Java編程中使用正則表達式

    在Java編程中使用正則表達式

    這篇文章主要介紹了在Java編程中使用正則表達式,注意使用matches()方法檢測一下Java對正則表達式的支持情況,需要的朋友可以參考下
    2015-08-08
  • java開發(fā)只要tomcat設計模式用的好下班就能早

    java開發(fā)只要tomcat設計模式用的好下班就能早

    這篇文章主要為大家介紹了java開發(fā)只要tomcat設計模式的示例詳解,<BR>只要設計模式用的好下班就能早,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Spring Boot Debug調試過程圖解

    Spring Boot Debug調試過程圖解

    這篇文章主要介紹了Spring Boot Debug調試過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Spring boot將配置屬性注入到bean類中

    Spring boot將配置屬性注入到bean類中

    本篇文章主要介紹了Spring boot將配置屬性注入到bean類中,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • JavaFx 中創(chuàng)建計時器的步驟詳解

    JavaFx 中創(chuàng)建計時器的步驟詳解

    本文介紹了如何在JavaFx中創(chuàng)建計時器,通過創(chuàng)建計時器界面、編寫計時器邏輯以及關聯(lián)計時器按鈕,我們可以快速實現(xiàn)一個靈活可靠的計時器組件,本文能夠幫助讀者在 JavaFx 中成功實現(xiàn)自己的計時器功能,感興趣的朋友一起看看吧
    2023-11-11
  • 詳解使用spring boot admin監(jiān)控spring cloud應用程序

    詳解使用spring boot admin監(jiān)控spring cloud應用程序

    這篇文章主要介紹了詳解使用spring boot admin監(jiān)控spring cloud應用程序,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • java實現(xiàn)Flappy Bird游戲源代碼

    java實現(xiàn)Flappy Bird游戲源代碼

    這篇文章主要為大家詳細介紹了java實現(xiàn)Flappy Bird游戲源代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 關于java.lang.IncompatibleClassChangeError錯誤解決方案

    關于java.lang.IncompatibleClassChangeError錯誤解決方案

    最近開發(fā)中遇到類沖突報錯 java.lang.IncompatibleClassChangeError,所以下面這篇文章主要給大家介紹了關于java.lang.IncompatibleClassChangeError錯誤的解決方案,需要的朋友可以參考下
    2024-02-02
  • Java多線程實現(xiàn)復制文件

    Java多線程實現(xiàn)復制文件

    這篇文章主要為大家詳細介紹了Java多線程實現(xiàn)復制文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論