七:數組:
**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(內建開發環境)= 編輯器+編譯器+執行器+代碼補全+項目管理
資料的存儲媒體:記憶體 、磁盤(檔案)、資料庫