天天看點

java小白從入門到精通(基礎三)

七:數組:

**1.定義:**可以存儲多個資料(元素)的一種結構。數組其實就是存儲的一組資料,是相同類型資料的的組合。實作對這些資料的統一管理。

-數組是屬于引用類型

-數組中的元素可以是任意資料類型,包括基本類型和引用類型

2.數組的定義格式:

格式一:資料類型【】 數組名;

格式二:資料類型 數組名【】;

注意“這種定義隻是定義了一個數組,但是該數組中是沒有元素的。

-直接初始化定義

初始化就是給數組中的元素配置設定記憶體空間,并給每個元素指派。

動态初始化:初始化時隻指定數組的長度,并由系統給數組配置設定初始值

格式: 資料類型【】數組名 = new 資料類型【數組的長度】;

-使用new關鍵字來建立數組

靜态初始化:初始化時指定每個元素的初始值,由系統決定數組的長度

格式:

int[] ages = {10, 20, 30, 40};  //在定義的時候直接給數組進行初始化。
int ages1[] = {10, 20, 30, 15};
           

-使用new關鍵字來初始化建立數組(不推薦使用)

3.數組的長度

-數組中存儲元素的個數就是數組的長度

public class Demo{
    public static void main(String[] args){
int len = ages.length;  //擷取數組的長度
System.out.println(len);
}
}
           

-數組中的元素記憶體位址是連續的

-數組的效率是非常高的,支援随機通路。

-數組的存儲是有序的

-數組的長度是固定的,一旦指定就不能再改變

4.數組的通路

-數組 下标:數組中的每個元素都是有索引的,索引是從0開始的。

//定義數組

//通路數組(通路數組中的元素)

//數組的索引是從0開始

int result = ages[1];
System.out.println(result);
           

5.數組的初始化

-定義數組時如果不指定初始值,會使用其定義類型的預設值進行填充

6.數組的周遊

-使用while循環進行數組的周遊

//定義數組

//擷取數組的長度

//索引:index [0,len) ,定義索引用來擷取數組的指定位置

//對數組進行周遊(while循環進行周遊)

while (index < len){
    System.out.println(ages[index++]);
}
           

-使用for循環進行數組的周遊

//定義數組

int[] ages = {10, 20, 30, 15, 10};  //數組中的元素是可以重複的
for(int index=0;index<ages.length;index++){
    System.out.println(ages[index++]);
}
           

-使用for循環的增強版進行數組對的周遊

for循環的增強版有時候也稱為foreach

//定義數組

//使用foreach增強版進行數組的周遊

for(int age : ages){
    System.out.println(age);
}
           

7.數組的拷貝

定義一個數組,并且初始化

定義一個新的數組(新數組的長度和原來數組的長度保持一緻)

周遊舊數組,給新數組對應的元素指派

import java.util.Arrays;
class Demo;{
public static void main(String[] args){
int[] ages = {10, 20, 30, 15, 10}; 
int[] ages1 = new int [ages.length];
for(int index=0;index < ages,length;index++){
    ages1[index] = ages[index];
}
System.out.println(Arrays.toString(ages1));
}
}
           

8.java中的二維數組

-二維數組的定義

int[][] ages = {{10, 20, 30},{20, 10, 20},{5, 10, 20}};
int[][] ages1 = new int[3][3];
           

-二維數組的通路

int ret = ages[1][0];
System.out.println(ret);
           

-二維數組的一個周遊

class Demo{
    public static void main(String args){
        int[][] ages = {{10, 20, 30},{20, 10, 20},{5, 10, 20}};
        for(int[] ages : ages1){
            for(int age:ages){
                System.out.println(age);
            }
        }
    }
}
           

9.數組的排序(冒泡排序)

import java.util.Arrays;
public class Demo{
    public static void main(String[] args){
        int[] ages = {10, 20, 30, 50, 5};
        for(int i=0;i<ages.length;i++){   //周遊到第幾次
            for(int j = ages.length-1;j>i){
                if(ages[j] > ages[j-1]){
                    int tmp = ages[j];
                    ages[j] = ages[j-1];
                    ages[j-1] = tmp;
                }
            }
        }
        System.out.println(Arrays.toString(ages));
    }
}
           

10.Java中的包(package)

-包其實就是目錄

如果我們的src(根包)裡面有很多類,這些類不友善管理,是以我們一般在商業項目開發過程中,會把這些類進行分門别類的管理(其實也就是分目錄存放不同功能的類 )。

-包名建議使用英文小寫

-包名的命名規則:一般采用域名的倒寫 www(網際網路).baidu.com ------> com.baidu

-包的聲明

在類的最開始的位置一定要使用package關鍵字來聲明類所在的包。

package com.uplooking.a1;  //聲明包
public class Student1{
}
           

11.Java中的包的導入

想在一個類中使用其他的類,則必須先要導入再能使用

//使用import關鍵字進行導包

/***package隻能有一個,而import可以有多個

使用同一個包下面的類,是不需要導入的。

12.java程式的編寫

.Java源檔案(源代碼)——>.class位元組碼檔案——>執行

13.java開發環境

編寫代碼(編輯器)+編譯器+執行器

-java代碼的編輯器

windows記事本

notepad++

sublim

vscode ,,,,

-java中的IDE

IDE(內建開發環境)= 編輯器+編譯器+執行器+代碼補全+項目管理

資料的存儲媒體:記憶體 、磁盤(檔案)、資料庫