第6天 Java基礎語法
今日內容介紹 1、自定義型別的定義及使用 2、自定義類的記憶體圖 3、ArrayList集合的基本功能 4、隨機點名器案例及庫存案例程式碼優化
01引用資料型別_類
- A: 資料型別
- a: java中的資料型別分為:基本型別和引用型別
- B: 引用型別的分類
- a: Java為我們提供好的類,比如說:Scanner,Random等。
- b: 我們自己建立的類,按照類的定義標準,可以在類中包含多個方法與屬性,來供我們使用。
02自定義類的概述
- A: 自定義類的概述
- java程式碼對映成現實事物的過程就是定義類的過程。
- 舉例: 我們就拿一部手機進行分析,它能用來做什麼呢?它可以打電話,上網,聊微信等, 這些就是手機所提供的功能,也就是方法;手機也有它的特徵,如顏色、尺寸大小、品牌型號等, 這些就是手機的特徵,也就是屬性
- 目前,我們只關注類中的屬性,類中的方法在面向物件部分再進行學習。
03自定義類的格式
A: 自定義類的格式 * a: 使用類的形式,對現實中的事物進行描述。 * b: 事物由方法和屬性兩部分組成。 * 方法: 這個事物具備的功能。 * 屬性: 這個事物具備的特徵。 * c: 格式 public class 類名{ 屬性定義 修飾符 資料型別 變數名 = 值 方法定義 修飾符 返回值型別 方法名(引數列表){ } }
04自定義的手機類
/* 定義類: 使用類的形式,對現實中的事物進行描述 事物:方法,屬性 方法:這個事物具備的功能 屬性:變數 格式: public class 類名{ 屬性定義 修飾符 資料型別 變數名 = 值 方法定義 修飾符 返回值型別 方法名(引數列表){ } } 要求:使用java中的類,描述生活中的手機這個事物 顏色,品牌,大小 */ public class phone{ /* 定義手機的屬性 */ String color; String brand; double size; }
05測試手機類
/*
測試,剛定義好的phone類
建立引用型別變數的格式
資料型別 變數名 = new 資料型別();
實現引用型別的步驟
1.匯入包,類都是同一個資料夾,不需要匯入包
2.建立引用型別的變數
3.變數,型別中的功能
*/
public class Testphone{
public static void main(String[] args){
//2.建立引用資料型別的變數
phone p = new phone();
System.out.println(p);//輸出記憶體的地址
//3.變數.型別中的功能
//變數p.的方式,呼叫類中的屬性
//屬性就是變數,賦值和獲取值
//p.color = "土豪金";
//p.brand = "愛立信";
//p.size = 4.7;
//獲取屬性值
//當上面不賦值,你也會發現有值null null 0.0 說明phone類中的屬性,隨著容器進入到堆記憶體
//屬性進入記憶體 賦值預設值
System.out.println(p.color + " " + p.brand + " " + p.size);
}
}
06自定義類的記憶體圖_1 07兩個引用型別變數記憶體圖 08自定義類的練習 學習了引用資料型別(類)以後,我們就能夠使用類描述任何東西了。看幾個具體的描述,如下: 電飯鍋,包含屬性(品牌、容量大小、顏色等) 汽車,包含屬性(品牌、排量、型別等) 學生,包含屬性(姓名,年齡,性別等)
/*
A:實體類的程式碼:
電飯煲,包含屬性(品牌、容量大小、顏色等)
定義類,描述事物,電飯煲
屬性:品牌,大小,顏色
定義類,類名字,電飯煲
類的範圍:定義三個屬性
*/
public class Electric_cooker{
//定義三個屬性
String brand;
double size;
String color;
}
/*
汽車,包含屬性(品牌,排量,型別等)
定義類,類名:Car
屬性:品牌 排量 型別
*/
public class Car{
//定義汽車的三個屬性
String brand;
double Vehicle_displacement;
String type;
}
/*
學生,包含屬性(姓名,年齡,性別)
定義類,型別Student
三個屬性:姓名,年齡,性別(char)
*/
public class Student{
//定義學生的三個屬性
String name;
int age;
char sex;
}
/*
定義的測試類
同時測試:電飯煲,汽車,學生
建立引用型別變數的格式
資料型別 變數名 = new 資料型別();
實現引用型別的步驟
1.匯入包,類都是同一個資料夾,不需要匯入包
2.建立引用型別的變數
3.變數,型別中的功能
*/
public class Test{
public static void main(String[] args){
//建立電飯煲引用型別
Electric_cooker dfg = new Electric_cooker();
dfg.brand = "特斯拉";
dfg.color = "紅色";
dfg.size = 30;
System.out.println("電飯煲" + dfg.brand + " " + dfg.color + " " + dfg.size);
//建立汽車引用型別
Car c = new Car();
c.brand = "巨力";
c.type = "拖拉機";
c.Vehicle_displacement = 0.5;
System.out.println("汽車" + c.brand + " " + c.type + " " + c.Vehicle_displacement);
//建立學生引用資料型別
Student stu = new Student();
stu.name = "小強";
stu.age = 18;
stu.sex = '男';//char型用單引號包裹
System.out.println("學生" + stu.name + " " + stu.age + " " + stu.sex);
}
}
09ArrayList集合 在前面我們學習了陣列,陣列可以儲存多個元素,但在某些情況下無法確定到底要儲存多少個元素,此時陣列將不再適用,因為陣列的長度不可變。例如,要儲存一個學校的學生,由於不停有新生來報道,同時也有學生畢業離開學校,這時學生的數目很難確定。為了儲存這些數目不確定的元素,JDK中提供了一系列特殊的類,這些類可以儲存任意型別的元素,並且長度可變,統稱為集合。在這裡,我們先介紹ArrayList集合,其他集合在後續課程中學習。 ArrayList集合是程式中最常見的一種集合,它屬於引用資料型別(類)。在ArrayList內部封裝了一個長度可變的陣列,當存入的元素超過陣列長度時,ArrayList會在記憶體中分配一個更大的陣列來儲存這些元素,因此可以將ArrayList集合看作一個長度可變的陣列。 09.1 集合的建立 建立集合的常用格式在此說明一下: 導包:import java.util.ArrayList; 建立物件:與其他普通的引用資料型別建立方式完全相同,但是要指定容器中儲存的資料型別: ArrayList<要儲存元素的資料型別> 變數名 = new ArrayList<要儲存元素的資料型別>(); 集合中儲存的元素,只能為<>括號中指定的資料型別元素; “<要儲存元素的資料型別>”中的資料型別必須是引用資料型別,不能是基本資料型別; 下面給出8種基本資料型別所對應的引用資料型別表示形式: 10ArrayList建立變數的步驟
* A: ArrayList建立變數的步驟
* a: 匯入包 java.util包中
* b: 建立引用型別的變數
資料型別<集合儲存的資料型別> 變數名 = new 資料型別<集合儲存的資料型別>();
集合儲存的資料型別: 要將資料儲存到集合的容器中
建立集合引用變數的時候,必須要指定好,儲存的型別是什麼
* c: 變數名.方法
注意: 集合儲存的資料,8個基本型別對應8個引用型別
儲存引用型別,不儲存基本型別
11ArrayList建立變數舉例
/*
ArrayList集合的使用
也是引用資料型別
步驟:
1.匯入包 java.util包中
2.建立引用型別的變數
資料型別<集合儲存的資料型別> 變數名 = new 資料型別<集合儲存的資料型別>();
集合儲存的資料型別:要將資料儲存到集合的容器中
建立集合引用變數的時候,必須要制定好,儲存的型別是什麼
ArrayList<String> array = new ArrayList<String>();
3.變數名.方法
注意:集合儲存的資料,8個基本型別對應8個引用型別
儲存引用型別,不儲存基本型別
*/
import java.util.ArrayList;
public class ArrayListDemo{
public static void main(String[] args){
//建立集合容器,指定儲存的資料型別
//儲存字串
ArrayList<String> array = new ArrayList<String>();
//建立集合容器,儲存整數
//ArrayList<int> array1 = new ArrayList<int>();//報錯,集合儲存的資料不儲存基本型別
//int===》Integer
ArrayList<Integer> array1 = new ArrayList<Integer>();
//建立集合型別,儲存手機型別
ArrayList<Phone> array2 = new ArrayList<Phone>();
}
}
12ArrayList的常見方法
接下來,我們來學習下ArrayList集合提供的一些常用方法,如下表: 通過程式碼演示上述方法的使用。ArrayListDemo01.java
/*
ArrayList集合中的方法:
add(引數型別)向集合中新增元素,資料儲存進去
方法中的引數型別,定義結合物件時候的型別是一致的
ArrayList<Integer> array = new ArrayList<Integer>();
array.add(3);
get(int index)取出集合中的元素,get方法的引數,寫入索引
size()返回集合的長度,集合儲存元素的個數
*/
import java.util.ArrayList;
public class ArrayListDemo_1{
public static void main(String[] args){
//定義集合,儲存字串元素
ArrayList<String> array = new ArrayList<String>();
//呼叫集合方法add儲存元素
array.add("I ");
array.add("love ");
array.add("java ");
array.add("hehe ");
array.add("hehe");
//輸出集合的長度,呼叫集合方法size,size方法的返回值型別int
int size = array.size();
System.out.println(size);
//獲取出集合中的一個元素,獲取1索引的元素
//集合的方法get(),獲取元素後結果資料型別
//String s = array.get(11);//Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 11, Size: 5
String s = array.get(1);
System.out.println(s);
}
}
強調一點,ArrayList集合相當於是一個長度可變的陣列,所以訪問集合中的元素也是採用索引方式訪問,第一個元素儲存在索引0的位置,第二個元素儲存在索引1的位置,依次類推。
13ArrayList集合的遍歷 通過集合遍歷,得到集合中每個元素,這是集合中最常見的操作。集合的遍歷與陣列的遍歷很像,都是通過索引的方式,集合遍歷方式如下:ArrayListDemo02.java
/*
ArrayList集合中的遍歷:
實現的思想也是索引思想
集合的索引從0開始,到size()-1
方法get(int index)
*/
import java.util.ArrayList;
public class ArrayListDemo_2{
public static void main(String[] args){
//定義集合,儲存字串元素
ArrayList<String> array = new ArrayList<String>();
//呼叫集合方法add儲存元素
array.add("I ");
array.add("love ");
array.add("java ");
array.add("hehe ");
array.add("hehe");
//輸出集合的長度,呼叫集合方法size,size方法的返回值型別int
int size = array.size();
System.out.println(size);
//獲取出集合中的一個元素,獲取1索引的元素
//集合的方法get(),獲取元素後結果資料型別
//String s = array.get(11);//Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 11, Size: 5
String s = array.get(1);
System.out.println(s);
//遍歷陣列
//使用方法size+get組合進行遍歷
for(int i = 0; i < array.size(); i++){
System.out.println(array.get(i));
}
}
}
14ArrayList補充方法 ArrayList集合提供的一些常用方法,如下表: boolean add(int index, Object obj) 功能:在集合中指定index位置,新增新元素obj 功能說明:假設集合list中有元素[“java”,“javaEE”],當使用add(1,“javaWeb”)後,集合list中的元素為[“java”,“javaWeb”,“JavaEE”]。 Object set(int index, Object obj) 功能:用指定元素obj替代集合中指定index位置的元素 功能說明:假設集合list中有元素[“java”,“javaEE”],當使用set(0,“javaWeb”)後,集合list中的元素為[“javaWeb”,“JavaEE”]。 Object remve(int index) 功能:從集合中刪除指定index處的元素,返回該元素 功能說明:假設集合list中有元素[“java”,“javaEE”],當使用remove(0)後,集合list中的元素為[“JavaEE”],返回值為“java”。 void clear() 功能:清空集合中所有元素 功能說明:假設集合list中有元素[“java”,“javaEE”],當使用clear()後,集合list中的元素為空[]。
/*
集合ArrayList方法的補充:
add(int 索引,儲存的元素) 將元素新增到指定的索引上
set(int 索引,修改後的元素) 將指定索引的元素,進行修改
remove(int 索引) 刪除指定索引上的元素
clear() 清空集合中所有的元素
*/
import java.util.ArrayList;
public class ArrayListDemo_3{
public static void main(String[] args){
ArrayList<Integer> array = new ArrayList<Integer>();
array.add(1);
array.add(2);
array.add(3);
System.out.println("add(int 索引,儲存的元素) 將元素新增到指定的索引上");
//在索引2上,新增元素7
array.add(2,7);
//使用方法size+get組合進行遍歷
for(int i = 0; i < array.size(); i++){
System.out.println(array.get(i));
}
System.out.println("set(int 索引,修改後的元素) 將指定索引的元素,進行修改");
//將0索引上的元素,修改成10
array.set(0,10);
//使用方法size+get組合進行遍歷
for(int i = 0; i < array.size(); i++){
System.out.println(array.get(i));
}
System.out.println("remove(int 索引) 刪除指定索引上的元素");
//將1索引上的元素,刪除
array.remove(1);
//使用方法size+get組合進行遍歷
for(int i = 0; i < array.size(); i++){
System.out.println(array.get(i));
}
System.out.println("clear() 清空集合中所有的元素");
//清空元素
array.clear();
//使用方法size+get組合進行遍歷
for(int i = 0; i < array.size(); i++){
System.out.println(array.get(i));
}
}
}
15隨機點名器案例分析 隨機點名器案例 15.1 案例介紹 隨機點名器,即在全班同學中隨機的找出一名同學,列印這名同學的個人資訊。 此案例在我們昨天課程學習中,已經介紹,現在我們要做的是對原有的案例進行升級,使用新的技術來實現。 我們來完成隨機點名器,它具備以下3個內容: 儲存所有同學姓名 總覽全班同學姓名 隨機點名其中一人,列印到控制檯 15.2 案例需求分析 全班同學中隨機的找出一名同學,列印這名同學的個人資訊。 我們對本案例進行分析,得出如下分析結果: 1.儲存全班同學資訊(姓名、年齡) 2.列印全班同學每一個人的資訊(姓名、年齡) 3.在班級總人數範圍內,隨機產生一個隨機數,查詢該隨機數所對應的同學資訊(姓名、年齡) 隨機點名器明確地分為了三個功能。如果將多個獨立功能的程式碼寫到一起,則程式碼相對冗長,我們可以針對不同的功能可以將其封裝到一個方法中,將完整獨立的功能分離出來。 而在儲存同學姓名時,如果對每一個同學都定義一個變數進行姓名儲存,則會出現過多孤立的變數,很難一次性將全部資料持有。此時,我們採用ArrayList集合來解決多個學生資訊的儲存問題。
* A: 隨機點名器案例分析
全班同學中隨機的找出一名同學,列印這名同學的個人資訊。
我們對本案例進行分析,得出如下分析結果:
1.儲存全班同學資訊(姓名、年齡)
將容器換成集合,集合中存的是Student型別
2.列印全班同學每一個人的資訊(姓名、年齡)
遍歷集合
3.在班級總人數範圍內,隨機產生一個隨機數,查詢該隨機數所對應的同學資訊
(姓名、年齡)
隨機點名器明確地分為了三個功能。如果將多個獨立功能的程式碼寫到一起,則程式碼相對冗長
,我們可以針對不同的功能可以將其封裝到一個方法中,將完整獨立的功能分離出來。
而在儲存同學姓名時,如果對每一個同學都定義一個變數進行姓名儲存,
則會出現過多孤立的變數,很難一次性將全部資料持有。
此時,我們採用ArrayList集合來解決多個學生資訊的儲存問題
/*
隨機點名器,集合改進(學生的姓名和年齡)
現實中有學生這個事物,使用定義類的形式,描述學生事物
屬性:姓名,年齡
姓名儲存了陣列,將容器換成是集合
String[] s = {"",""};
集合中,儲存的是學生的姓名嘛?應該儲存Student型別
儲存學生:
學生型別,儲存到集合中
總覽:遍歷集合
隨機:隨機數,作為索引,到集合中找到元素
三個功能,共享的資料,集合容器
定義三個方法,必須引數傳遞集合
類,它是引用資料型別,與之前學習的所有引用資料型別相同,
自定義類也是一種資料型別。
只是自定義型別並非Java為我們預先提供好的型別,而是我們自己定義的一種引用資料型別用來描述一個事物。
建立集合的常用格式在此說明一下:
C1:導包:import java.util.ArrayList;
C2:建立物件:與其他普通的引用資料型別建立方式完全相同,但是要指定容器中儲存的資料型別:
C3:ArrayList<要儲存元素的資料型別> 變數名 = new ArrayList<要儲存元素的資料型別>();
“<要儲存元素的資料型別>”中的資料型別必須是引用資料型別,不能是基本資料型別;
類的名字:首字母大寫,第二個單詞首字母大寫 例如:BeiJngShiHaiDiangQuYiYuan
public class HelloWorld{
方法的名字:首字母小寫,每個單詞首字母大寫 例如:addSchool
public static void main(String[] args){ //2.定義主方法
隨機數類Random:
R1:導包:import java.util.Random;
R2:建立例項格式:Random 變數名 = new Random();
R3:呼叫方法:
public int nextInt(int maxValue) 產生[0,maxValue)範圍的隨機整數,包含0,不包含maxValue;
public double nextDouble() 產生[0,1)範圍的隨機小數,包含0.0,不包含1.0。
*/
//C1:導包:import java.util.ArrayList;
import java.util.ArrayList;
// R1:導包:import java.util.Random;
import java.util.Random;
public class CallName{
public static void main(String[] args){
//1.定義集合,儲存的是StudentName型別變數
ArrayList<StudentName> array = new ArrayList<StudentName>();
System.out.println("--------------------學生隨機點名系統----------------------");
System.out.println("1.新增學生姓名");
//2.呼叫新增方法
add(array);
System.out.println("2.遍歷學生姓名");
//3.呼叫遍歷集合
printArrayList(array);
System.out.println("3.隨機點名功能");
//4.集合中隨機抽取元素
randomStudentName(array);
//結束程式
System.out.println("============已退出系統===========================");
}
/*
定義方法,實現儲存學生的姓名和年齡
返回值?沒有
引數?建立StudentName型別變數,儲存到集合中
*/
public static void add(ArrayList<StudentName> array){
//建立StudentName型別變數
StudentName sn1 = new StudentName();
StudentName sn2 = new StudentName();
StudentName sn3 = new StudentName();
StudentName sn4 = new StudentName();
sn1.name = "張三1";
sn1.age = 21;
sn2.name = "張三2";
sn2.age = 22;
sn3.name = "張三3";
sn3.age = 23;
sn4.name = "張三4";
sn4.age = 24;
//將StudentName變數,儲存到集合中
array.add(sn1);
array.add(sn2);
array.add(sn3);
array.add(sn4);
System.out.println("============新增學生姓名結束==================");
}
/*
總覽學生的資訊,遍歷集合中的元素
返回值?沒有
引數?建立StudentName型別變數,儲存到集合中
*/
public static void printArrayList(ArrayList<StudentName> array){
for(int i = 0; i < array.size(); i++){
//儲存集合的時候,集合.add(sn1) sn1是StudentName型別變數
//獲取的時候,集合.get()方法,獲取出來的是什麼,還是StudentName型別變數
StudentName s = array.get(i);
System.out.println("學生姓名 " + s.name + " 學生年齡 " + s.age);
}
System.out.println("============遍歷學生姓名結束==================");
}
/*
隨機數,當作集合的索引,到集合中找到元素
返回值?沒有
引數?儲存StudentName型別變數的集合
*/
public static void randomStudentName(ArrayList<StudentName> array){
//R2:建立例項格式:Random 變數名 = new Random();
Random ran = new Random();
//R3:呼叫方法
int ranIndex = ran.nextInt(array.size());
//隨機數,索引,到集合中get到StudentName型別變數
StudentName s = array.get(ranIndex);
System.out.println("學生姓名 " + s.name + " 學生年齡 " + s.age);
}
}
16 庫存案例修改庫存清單及測試程式碼的實現 16.1 案例介紹 現在,我們將原有的庫存管理案例,採用更好的集合方式實現。 將對下列功能進行方法封裝: 列印庫存清單功能 庫存商品數量修改功能 退出程式功能 16.2 案例需求分析 管理員能夠進行的操作有3項(檢視、修改、退出),我們可以採用(switch)選單的方式來完成。 -------------庫存管理------------ 1.檢視庫存清單 2.修改商品庫存數量 3.退出 請輸入要執行的操作序號: 每一項功能操作,我們採用方法進行封裝,這樣,可使程式的可讀性增強。 選擇“1.檢視庫存清單”功能,則控制檯列印庫存清單 選擇“2.修改商品庫存數量”功能,則對每種商品庫存數進行更新 選擇“3.退出”功能,則退出庫存管理,程式結束 16.3 實現程式碼
/*
集合應該是方法引數傳遞的
實現庫存管理案例:
1.儲存商品資訊
創建出集合,儲存商品型別變數
將商品型別的變數,儲存到集合中
2.檢視庫存清單
將集合進行遍歷,獲取出集合中儲存的Goods型別變數
輸出每個Goods型別的屬性
計算求和:總庫存,總金額
3.修改商品的庫存
集合遍歷,獲取出集合中儲存的Goods型別變數
變數呼叫Goods類的屬性count值,進行修改(鍵盤輸入)
*/
//import java.util.*;===>把util裡所有類導進來
import java.util.ArrayList;
//Scanner類使用步驟:
//S1:導包
import java.util.Scanner;
public class Shopp{
public static void main(String[] args){
//建立ArrayList集合,儲存Goods型別
ArrayList<Goods> array = new ArrayList<Goods>();
//呼叫新增商品資訊的方法
addGoods(array);
//進入死迴圈中
while(true){
//呼叫選擇功能的方法,獲取到用輸入的功能序號
int number = chooseFunction();
//對序號判斷:1-進入檢視庫存功能 2-進入修改庫存功能 3-結束
switch(number){
case 1:
//進入檢視庫存,呼叫檢視庫存的方法,傳遞儲存商品資訊的集合
printStore(array);
break;
case 2:
//進入修改庫存功能,呼叫檢視庫存的方法
update(array);
break;
case 3:
//結束系統
return;
default:
System.out.println("功能還在完善中...");
break;
}
}
}
/*
定義方法,將商品的資訊儲存到集合中
集合是所有方法的共享資料,引數傳遞
*/
public static void addGoods(ArrayList<Goods> array){
//建立商品型別變數 Goods型別的變數
Goods g1 = new Goods();
Goods g2 = new Goods();
g1.brand = "MacBook";
g1.size = 13.3;
g1.price = 9999.99;
g1.count = 3;
g2.brand = "Thinkpad";
g2.size = 15.6;
g2.price = 7999.99;
g2.count = 1;
//Goods型別的變數,儲存到集合中
array.add(g1);
array.add(g2);
}
/*
定義方法,檢視庫存清單,遍歷集合
*/
public static void printStore(ArrayList<Goods> array){
//輸出表頭
//1.實現表頭固定資料,列印輸出語句
System.out.println("--------------------商城庫存清單--------------------");
System.out.println("品牌型號 尺寸 價格 庫存數");
//2.表尾部,一部分固定資料,一部分需要科學計算
//定義變數,儲存總庫存數和總金額
int totalCount = 0;
double totalPrice = 0;
//3.遍歷集合
for(int i = 0;i < array.size();i++){
//get(索引)獲取集合中的元素,儲存的是Goods類,獲取的也是Goods型別
//使用Gooos型別變數,接受get方法的結果
Goods g = array.get(i);
//利用獲取到的Goods型別,去取到商品類的屬性
System.out.println(g.brand + " " + g.size + " " + g.price + " " + g.count);
totalCount += g.count;
totalPrice += g.count * g.price;
}
//4.列印尾部資料
System.out.println("總庫存數:" + totalCount + " 臺");
System.out.println("庫存商品總金額:" + totalPrice + " 元");
System.out.println("----------------------------------------------------");
}
/*
方法定義,修改庫存
鍵盤的輸入,將Goods中的屬性值,修改
*/
public static void update(ArrayList<Goods> array){
//遍歷集合,遍歷到一個,修改一個
//1.接受鍵盤輸入
Scanner sc = new Scanner(System.in);
for(int i = 0;i < array.size();i++){
//集合方法get獲取的是集合的元素,元素的型別Goods型別
Goods g = array.get(i);
System.out.println("請輸入" + g.brand + "的庫存數");
//鍵盤輸入,錄入庫存,儲存到庫存的陣列中
int newCount = sc.nextInt();
//Goods屬性,count進行修改
g.count = newCount;
}
}
/*
定義方法,實現選擇選單,根據功能選擇選單
*/
public static int chooseFunction(){
System.out.println("--------------------庫存管理----------------------");
System.out.println("1.檢視庫存清單");
System.out.println("2.修改商品庫存管理");
System.out.println("3.退出系統");
System.out.println("請輸入要執行的操作序號:");
//S2:建立Scanner物件例項
Scanner sc = new Scanner(System.in);
return sc.nextInt();//S3:用來接收控制檯錄入的數字
}
}
17 總結 17.1 知識點總結 引用資料型別(類) 類的型別為兩種: 第一種,Java為我們提供好的類,如Scanner類,Scanner類等,這些已存在的類中包含了很多的方法與屬性,可供我們使用。 第二種,我們自己建立的類,按照類的定義標準,可以在類中包含多個方法與屬性,來供我們使用。 建立類的格式
public class 類名 {
//可以定義屬性
//也可以定義方法
}
使用類的格式:
類名 變數名 = new 類名();
使用類中的屬性與方法格式
使用屬性: 變數名.屬性
使用方法: 變數名.方法()
ArrayList集合 它屬於引用資料型別(類)。我們可以看作一個長度可變的陣列。 建立集合的方式
ArrayList<要儲存元素的資料型別> 變數名 = new ArrayList<要儲存元素的資料型別>();
集合中的常用方法 boolean add(Object obj) Object get(int index) int size() boolean add(int index, Object obj) Object set(int index, Object obj) Object remve(int index) void clear()