一、數組
我們使用java操作數據的時候,會想如何把同一種數據保存起來,要使用的時候又能取出來,這樣的話方便快捷。java中就給我們提供了一個容器,這種容器叫做數組。
數組:用於存放同一種數據類型的容器。
數組的定義,數組的定義分爲動態初始化和靜態初始化。
首先講的是靜態初始化,靜態初始化就是給定每一個值,靜態初始化定義的格式如下:
數據類型[] 數組名 = new int[]{元素1,元素2,...};
簡化版的寫法就是:數據類型[] 數組名 = {元素1,元素2,...};
int[] arr = {36,25,33,22};
第二種是動態初始化
數據類型[] 數組名 = new int[元素個數];
既然這種初始化只給了元素的個數,那我們又怎麼來存儲數據和獲取數據呢?
其實,數組存儲和獲取數據是使用下標來操作的,下標是整型數據,從0開始,第一個元素的爲0,第二個元素的下標爲1,以此類推...,元素的最大下標爲元素個數-1,元素的長度 = 元素的個數。
package day05;
public class ArrayDemo01 {
public static void main(String[] args) {
int[] arr1 = new int[5];
arr1[0] = 10;
arr1[1] = 20;
arr1[2] = 30;
arr1[3] = 40;
arr1[4] = 50;
System.out.println(arr1[0]);
System.out.println(arr1[1]);
System.out.println(arr1[2]);
System.out.println(arr1[3]);
System.out.println(arr1[4]);
}
}
以上方法要寫五個打印語句才能將每一個元素打印出來,代碼的重複性高,既然代碼的重複性高我們就可以使用循環進行改進
package day05;
public class ArrayDemo01 {
public static void main(String[] args) {
int[] arr1 = new int[5];
arr1[0] = 10;
arr1[1] = 20;
arr1[2] = 30;
arr1[3] = 40;
arr1[4] = 50;
for(int i = 0; i < 5; i++){
System.out.println(arr1[i]);
}
}
}
其實以上的方法有一個缺陷,假如我們使用的是靜態初始化的方法定義數組並且數據量大的話,我們又怎麼知道數組的元素個數呢?數組有一個屬性爲length,用於獲取數組的長度,所以將以上代碼for語句中的 i < 5替換爲 i < arr.length就可以了。
以上講的所有的數組都是一維數組,在java中還提供了二維數組和多維數組
二維數組其實就是一個一維數組裏面存儲了多個一維數組,定義的方法與一維數組的方法類似
package day05;
public class ArrayDemo01 {
public static void main(String[] args) {
//靜態初始化
int[][] arr1 = {{2,3},{5,6},{8,9}};
//動態初始化
int[][] arr = new int[2][3];//2代表的是外層的數組包含了幾個一維數組,3是每個一維數組可存儲的元素個數
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[i].length; j++){
arr[i][j] = j;
}
}
//遍歷數組,獲取每一個元素
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[i].length; j++){
System.out.println(arr[i][j]);
}
}
}
}
概念:完成某種特定功能的代碼塊,方法在C語言或者一些其他語言中又稱之爲函數。
方法定義的格式:修飾符 返回值類型 方法名
因爲main方法是被static,所以如果在main方法所在的類中定義一個方法並且在main方法中調用的話,方法需要使用static修飾,至於爲何要使用,在後面的博文中會介紹到
假設我現在有一個需求,就是需要定義一個方法,該方法返回兩個數的和
分析:1、方法中會有兩個參數
2、方法有一個返回值
代碼呈現:
package day05;
public class MethodDemo01 {
public static void main(String[] args) {
int num1 = 5;
int num2 = 7;
int sum = sum(num1,num2);
}
public static int sum(int a,int b){
return a + b;
}
}
return語句在前面就已經介紹過了,多用在方法中返回結果。如果說方法是沒有返回值的話,又該如何使用呢?
如果方法沒有返回值的話就使用void關鍵字,調用時直接調用,不需要使用其他的變量去接收結果
package day05;
public class MethodDemo02 {
public static void main(String[] args) {
int num1 = 5;
int num2 = 7;
sum(num1,num2);
}
public static void sum(int a,int b){
System.out.println(a+b);
}
}