陣列和物件導向 封裝

2021-07-05 05:31:02 字數 3809 閱讀 1394

(一):陣列

(1);陣列的概念和格式

a:為什麼要有陣列(容器)

* 為了儲存同種資料型別的多個值

* b:陣列概念

* 陣列是儲存同一種資料型別多個元素的集合。也可以看成是乙個容器。

* 陣列既可以儲存基本資料型別,也可以儲存引用資料型別。

* c:陣列定義格式

資料型別 陣列名 = new 資料型別[陣列的長度];a:為什麼要有陣列(容器)

* 為了儲存同種資料型別的多個值

* b:陣列概念

* 陣列是儲存同一種資料型別多個元素的集合。也可以看成是乙個容器。

* 陣列既可以儲存基本資料型別,也可以儲存引用資料型別。

* c:陣列定義格式

資料型別 陣列名 = new 資料型別[陣列的長度];

(2);陣列初始化

a:什麼是陣列的初始化

* 就是為陣列開闢連續的記憶體空間,並為每個陣列元素賦予值 

* b:如何對陣列進行初始化

* a:動態初始化 只指定長度,由系統給出初始化值

* int arr = new int[5];     

* b:靜態初始化給出初始化值,由系統決定長度    

* c:動態初始化的格式:

* 資料型別 陣列名 = new 資料型別[陣列長度];

* d:案例演示

* 輸出陣列名稱和陣列元素

(2);陣列案枚舉例  (案列只演示相關重要**)

a,陣列獲取最值(獲取陣列中的最大值最小值)

class demo

}return max; }

}b,陣列元素翻轉

public static void reversearray(int arr)

}(3);二維陣列的概念和格式

a:二維陣列概述

* b:二維陣列格式1

* int

arr = new int

[3][2]; 

* c:二維陣列格式1的解釋

* d:注意事項

* a:以下格式也可以表示二維陣列

* 1:資料型別 陣列名 = new 資料型別[m][n];

* 2:資料型別 陣列名 = new 資料型別[m][n];

* b:注意下面定義的區別

* int x;

int y;

int x,y;

int x;

int y;

int x,y;    x是一維陣列,y是二維陣列

* e:案例演示

* 定義二維陣列,輸出二維陣列名稱,一維陣列名稱,乙個元素

(3);二維陣列的遍歷和案例

a遍歷(外迴圈控制的是二維陣列的長度,其實就是一維陣列的個數。

* 內迴圈控制的是一維陣列的長度)

int arr = ,,};

for (int i = 0;i < arr.length ;i++ )

system.out.println();}

b案例

需求:公司年銷售額求和

某公司按照季度和月份統計的資料如下:單位(萬元)

第一季度:22,66,44

第二季度:77,33,88

第三季度:25,45,65

第四季度:11,66,99

相關**如下

int arr = ,,,};

int sum = 0;                                    //定義變數,記錄每次相加的結果

for (int i = 0;i < arr.length ;i++ )

}system.out.println(sum);

(二):物件導向

(1)物件導向思想

a:面向過程思想概述

* 第一步

* 第二步 

b:物件導向思想概述

* 找物件(第一步,第二步) 

c:物件導向思想特點

* a:是一種更符合我們思想習慣的思想

* b:可以將複雜的事情簡單化

* c:將我們從執行者變成了指揮者

* 角色發生了轉換

(2) 物件導向類和物件的簡單概述

b:物件:是該類事物的具體體現

(3)物件導向成員變數和區域性變數的區別

a:在類中的位置不同

* 成員變數:在類中方法外

* 區域性變數:在方法定義中或者方法宣告上

* b:在記憶體中的位置不同

* 成員變數:在堆記憶體(成員變數屬於物件,物件進堆記憶體)

* 區域性變數:在棧記憶體(區域性變數屬於方法,方法進棧記憶體)

* c:生命週期不同

* 成員變數:隨著物件的建立而存在,隨著物件的消失而消失

* 區域性變數:隨著方法的呼叫而存在,隨著方法的呼叫完畢而消失

* d:初始化值不同

* 成員變數:有預設初始化值

* 區域性變數:沒有預設初始化值,必須定義,賦值,然後才能使用。

* 注意事項:

* 區域性變數名稱可以和成員變數名稱一樣,在方法中使用的時候,採用的是就近原則。

* 基本資料型別變數包括哪些:byte,short,int,long,float,double,boolean,char

* 引用資料型別變數包括哪些:陣列,類,介面,列舉

(二):物件導向 (封裝)

(1)物件導向重要特徵---封裝的概述

a:封裝概述

* 把同一型別的物件的共同的屬性和行為放到乙個類裡面,就是封裝的過程。具體實現方式是隱藏物件的屬性和實現細節,僅對外提供公共訪問方式。

* b:封裝好處

* 隱藏實現細節,提供公共的訪問方式

* 提高了**的復用性

* 提高安全性。

* c:封裝原則

* 將不需要對外提供的內容都隱藏起來。

* 把屬性隱藏,提供公共方法對其訪問。

(2)物件導向(private 和 this關鍵字的特點和使用)

a,private關鍵字特點

* a:是乙個許可權修飾符

* b:可以修飾成員變數和成員方法

* c:被其修飾的成員只能在本類中被訪問

b, this關鍵字特點

* 代表當前物件的引用(代表本來物件的引用/指代) 

* this的本質是乙個物件

* 在每乙個普通方法裡,都有乙個this,誰呼叫這個方法,this就指向誰

(3)簡單的案例

/*

* a:人類賦值年齡的問題

* b:private關鍵字特點

* a:是乙個許可權修飾符

* b:可以修飾成員變數和成員方法

* c:被其修飾的成員只能在本類中被訪問

* c:案例演示

* 封裝和private的應用:

* a:把成員變數用private修飾

* b:提供對應的get***()和set***()方法

* private僅僅是封裝的一種體現形式,不能說封裝就是私有

*/class demo1_person

}class person else

}public int getage()

public void speak()

}

陣列和物件導向

陣列 1一維陣列和二位陣列的定義 1 動態定義 int arr1 new int 4 int arr2 new int m n int arr2 new int m 2 靜態初始化 int arr1 int arr2 陣列在定義的時候,不能動靜結合的定義 int arr1 new int 3 這樣定...

陣列 物件導向和面向過程

1 只能儲存同樣型別的資料,支援資料型別有基本資料型別和引用資料型別。資料也屬於引用資料型別 2 陣列也是乙個容器,長度一旦確定不可改變 3 陣列中的資料是有序的 下標從0開始 通過下標來運算元組中的資料 4 陣列宣告格式 陣列型別 陣列名 推薦 陣列名符合識別符號命名規則 資料型別 陣列名 5 陣...

物件和物件導向

物件字面量 1 大括號包圍的部分 2 物件的質麵量就是乙個大括號 a var obj 鍵值對 b key 健 value 值 c key可以加 可以不加 d 健值對之間用 逗號隔開,不是分號 var obj2 console.log obj2.name obj2.fu json json 是資料格式...