日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

Java09-day09【ArrayList(概述、构造方法、常用方法、遍历)、简易学生管理系统】

發(fā)布時間:2024/9/30 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java09-day09【ArrayList(概述、构造方法、常用方法、遍历)、简易学生管理系统】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • java零基礎(chǔ)入門到精通(2019版)【黑馬程序員】
  • 視頻+資料:【鏈接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg? ?提取碼:zjxs】
  • “Java基礎(chǔ)”專欄
  • Java基礎(chǔ)--學(xué)習(xí)筆記(零起點打開java世界的大門)--博客匯總表

目? ?錄

134_ArrayList

1.1、集合概述

135_ArrayList構(gòu)造和添加

1.2、ArrayList構(gòu)造方法和添加方法

136_ArrayList常用方法

1.3、ArrayList常用方法

136_ArrayList存儲字符串并遍歷

137_ArrayList存儲學(xué)生對象并遍歷

138_ArrayList存儲學(xué)生對象并遍歷升級版

139_學(xué)生管理系統(tǒng)項目演示

1.1、項目演示

140_學(xué)生管理系統(tǒng)之學(xué)生類

1.2、學(xué)生管理系統(tǒng)實現(xiàn)思路

1.3、定義學(xué)生類

141_學(xué)生管理系統(tǒng)之主界面

1.4、主界面的代碼編寫

142_學(xué)生管理系統(tǒng)之添加學(xué)生

1.5、添加學(xué)生的代碼編寫

143_學(xué)生管理系統(tǒng)之查看所有學(xué)生

1.6、查看學(xué)生的代碼編寫

144_學(xué)生管理系統(tǒng)之查看所有學(xué)生升級版

1.7、查看學(xué)生的代碼編寫升級版

145_學(xué)生管理系統(tǒng)之刪除學(xué)生

1.8、刪除學(xué)生的代碼編寫

146_學(xué)生管理系統(tǒng)之修改學(xué)生

1.9、修改學(xué)生的代碼編寫

147_學(xué)生管理系統(tǒng)之學(xué)號不存在問題

1.10、解決 刪除/修改 學(xué)生 學(xué)號不存在問題

148_學(xué)生管理系統(tǒng)之學(xué)號重復(fù)問題

1.11、解決添加學(xué)生學(xué)號重復(fù)問題

簡易學(xué)生管理系統(tǒng)

1、實現(xiàn)步驟

1.1、案例需求

1.2、實現(xiàn)步驟

2、代碼匯總

2.1、Student.java

2.2、StudentManager.java

3、運行截圖


134_ArrayList

1.1、集合概述

編程的時候如果要存儲多個數(shù)據(jù),

使用長度固定的數(shù)組存儲格式,不一定滿足我們的需求,更適應(yīng)不了變化的需求,那么,此時該如何選擇呢?【集合】

什么是集合?

  • 提供一種存儲空間可變的存儲模型,存儲的數(shù)據(jù)容量可以發(fā)生改變。

ArrayList<E>集合的特點:

  • 可調(diào)整大小的數(shù)組實現(xiàn)(底層是數(shù)組實現(xiàn)的,長度可以變化)。
  • <E>:是一種特殊的數(shù)據(jù)類型,泛型。

泛型的使用:

  • 在出現(xiàn)E的地方,使用引用數(shù)據(jù)類型替換即可(用于約束集合中存儲元素的數(shù)據(jù)類型)。
  • 舉例:ArrayList<String>、ArrayList<Student>

135_ArrayList構(gòu)造和添加

1.2、ArrayList構(gòu)造方法和添加方法

JDK版本:jdk1.8.0_201

136_ArrayList常用方法

1.3、ArrayList常用方法

136_ArrayList存儲字符串并遍歷

137_ArrayList存儲學(xué)生對象并遍歷

138_ArrayList存儲學(xué)生對象并遍歷升級版

集合:引用類型

?

139_學(xué)生管理系統(tǒng)項目演示

1.1、項目演示

140_學(xué)生管理系統(tǒng)之學(xué)生類

1.2、學(xué)生管理系統(tǒng)實現(xiàn)思路

  • 定義學(xué)生類
  • 主界面的代碼編寫
  • 添加學(xué)生的代碼編寫
  • 查看學(xué)生的代碼編寫
  • 刪除學(xué)生的代碼編寫
  • 修改學(xué)生的代碼編寫
  • 1.3、定義學(xué)生類

    Alt+Insert? 快捷鍵? ?快速生成“構(gòu)造方法、getter()方法、setter()方法”

    141_學(xué)生管理系統(tǒng)之主界面

    1.4、主界面的代碼編寫

    System.exit(0); // JVM退出

    142_學(xué)生管理系統(tǒng)之添加學(xué)生

    1.5、添加學(xué)生的代碼編寫

    143_學(xué)生管理系統(tǒng)之查看所有學(xué)生

    1.6、查看學(xué)生的代碼編寫

    144_學(xué)生管理系統(tǒng)之查看所有學(xué)生升級版

    1.7、查看學(xué)生的代碼編寫升級版

    ?

    145_學(xué)生管理系統(tǒng)之刪除學(xué)生

    1.8、刪除學(xué)生的代碼編寫

    146_學(xué)生管理系統(tǒng)之修改學(xué)生

    1.9、修改學(xué)生的代碼編寫

    147_學(xué)生管理系統(tǒng)之學(xué)號不存在問題

    1.10、解決 刪除/修改 學(xué)生 學(xué)號不存在問題

    148_學(xué)生管理系統(tǒng)之學(xué)號重復(fù)問題

    1.11、解決添加學(xué)生學(xué)號重復(fù)問題

    簡易學(xué)生管理系統(tǒng)

    1、實現(xiàn)步驟

    1.1、案例需求

    針對目前的所學(xué)內(nèi)容,完成一個綜合案例:學(xué)生管理系統(tǒng)!該系統(tǒng)主要功能如下:

  • 添加學(xué)生:通過鍵盤錄入學(xué)生信息,添加到集合中
  • 刪除學(xué)生:通過鍵盤錄入要刪除學(xué)生的學(xué)號,將該學(xué)生對象從集合中刪除
  • 修改學(xué)生:通過鍵盤錄入要修改學(xué)生的學(xué)號,將該學(xué)生對象其他信息進(jìn)行修改
  • 查看學(xué)生:將集合中的學(xué)生對象信息進(jìn)行展示
  • 退出系統(tǒng):結(jié)束程序
  • 1.2、實現(xiàn)步驟

    1. 定義學(xué)生類,包含以下成員變量

  • private String sid // 學(xué)生id
  • private String name // 學(xué)生姓名
  • private String age // 學(xué)生年齡
  • private String address // 學(xué)生所在地
  • 2. 學(xué)生管理系統(tǒng)主界面的搭建步驟

    • 2.1 用輸出語句完成主界面的編寫
    • 2.2 用Scanner實現(xiàn)鍵盤輸入
    • 2.3 用switch語句完成選擇的功能
    • 2.4 用循環(huán)完成功能結(jié)束后,再次回到主界面

    3. 學(xué)生管理系統(tǒng)的添加學(xué)生功能實現(xiàn)步驟

    • 3.1 定義一個方法,接收ArrayList集合
    • 3.2 方法內(nèi)完成添加學(xué)生的功能

    ? ? ? ? ? ? ?①鍵盤錄入學(xué)生信息

    ? ? ? ? ? ? ?②根據(jù)錄入的信息創(chuàng)建學(xué)生對象

    ? ? ? ? ? ? ?③將學(xué)生對象添加到集合中

    ? ? ? ? ? ? ?④提示添加成功信息

    • 3.3 在添加學(xué)生的選項里調(diào)用添加學(xué)生的方法

    4. 學(xué)生管理系統(tǒng)的查看學(xué)生功能實現(xiàn)步驟

    • 4.1 定義一個方法,接收ArrayList集合
    • 4.2 方法內(nèi)遍歷集合,將學(xué)生信息進(jìn)行輸出
    • 4.3 在查看所有學(xué)生選項里調(diào)用查看學(xué)生方法

    5. 學(xué)生管理系統(tǒng)的刪除學(xué)生功能實現(xiàn)步驟

    • 5.1 定義一個方法,接收ArrayList集合
    • 5.2 方法中接收要刪除學(xué)生的學(xué)號
    • 5.3 遍歷集合,獲取每個學(xué)生對象
    • 5.4 使用學(xué)生對象的學(xué)號和錄入的要刪除的學(xué)號進(jìn)行比較,如果相同,則將當(dāng)前學(xué)生對象從集合中刪除
    • 5.5 在刪除學(xué)生選項里調(diào)用刪除學(xué)生的方法

    6. 學(xué)生管理系統(tǒng)的修改學(xué)生功能實現(xiàn)步驟

    • 6.1 定義一個方法,接收ArrayList集合
    • 6.2 方法中接收要修改學(xué)生的學(xué)號
    • 6.3 通過鍵盤錄入學(xué)生對象所需的信息,并創(chuàng)建對象
    • 6.4 遍歷集合,獲取每一個學(xué)生對象。并和錄入的修改學(xué)生學(xué)號進(jìn)行比較,如果相同,則使用新學(xué)生對象替換當(dāng)前學(xué)生對象
    • 6.5 在修改學(xué)生選項里調(diào)用修改學(xué)生的方法

    7. 退出系統(tǒng)

    • 使用System.exit(0); // 退出JVM

    2、代碼匯總

    2.1、Student.java

    package com.itheima;/*學(xué)生類Alt+Insert 根據(jù)自己的需要進(jìn)行選擇*/ public class Student {//學(xué)號private String sid;//姓名private String name;//年齡private String age;//居住地private String address;public Student() {}public Student(String sid, String name, String age, String address) {this.sid = sid;this.name = name;this.age = age;this.address = address;}public String getSid() {return sid;}public void setSid(String sid) {this.sid = sid;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;} }

    2.2、StudentManager.java

    package com.itheima;import java.util.ArrayList; import java.util.Scanner;/*學(xué)生管理系統(tǒng)*/ public class StudentManager {public static void main(String[] args) {//創(chuàng)建集合對象,用于存儲學(xué)生數(shù)據(jù)ArrayList<Student> array = new ArrayList<Student>();//用循環(huán)完成再次回到主界面while (true) {//用輸出語句完成主界面的編寫System.out.println("--------歡迎來到學(xué)生管理系統(tǒng)--------");System.out.println("1 添加學(xué)生");System.out.println("2 刪除學(xué)生");System.out.println("3 修改學(xué)生");System.out.println("4 查看所有學(xué)生");System.out.println("5 退出");System.out.println("請輸入你的選擇:");//用Scanner實現(xiàn)鍵盤錄入數(shù)據(jù)Scanner sc = new Scanner(System.in);String line = sc.nextLine();//用switch語句完成操作的選擇switch (line) {case "1":addStudent(array);break;case "2":deleteStudent(array);break;case "3": // System.out.println("修改學(xué)生");updateStudent(array);break;case "4":findAllStudent(array);break;case "5":System.out.println("謝謝使用");System.exit(0); // JVM退出}}}//定義一個方法,用于添加學(xué)生信息/*public static void addStudent(ArrayList<Student> array) {//鍵盤錄入學(xué)生對象所需要的數(shù)據(jù),顯示提示信息,提示要輸入何種信息Scanner sc = new Scanner(System.in);System.out.println("請輸入學(xué)生學(xué)號:");String sid = sc.nextLine();System.out.println("請輸入學(xué)生姓名:");String name = sc.nextLine();System.out.println("請輸入學(xué)生年齡:");String age = sc.nextLine();System.out.println("請輸入學(xué)生居住地:");String address = sc.nextLine();//創(chuàng)建學(xué)生對象,把鍵盤錄入的數(shù)據(jù)賦值給學(xué)生對象的成員變量Student s = new Student();s.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);//將學(xué)生對象添加到集合中array.add(s);//給出添加成功提示System.out.println("添加學(xué)生成功");}*/public static void addStudent(ArrayList<Student> array) {//鍵盤錄入學(xué)生對象所需要的數(shù)據(jù),顯示提示信息,提示要輸入何種信息Scanner sc = new Scanner(System.in);//為了讓sid在while循環(huán)外面被訪問到,我們就把它定義在了循環(huán)外String sid;//為了讓程序能夠回到這里,我們使用循環(huán)實現(xiàn)while (true) {System.out.println("請輸入學(xué)生學(xué)號:");sid = sc.nextLine();boolean flag = isUsed(array, sid);if (flag) {System.out.println("你輸入的學(xué)號已經(jīng)被使用,請重新輸入");} else {break;}}System.out.println("請輸入學(xué)生姓名:");String name = sc.nextLine();System.out.println("請輸入學(xué)生年齡:");String age = sc.nextLine();System.out.println("請輸入學(xué)生居住地:");String address = sc.nextLine();//創(chuàng)建學(xué)生對象,把鍵盤錄入的數(shù)據(jù)賦值給學(xué)生對象的成員變量Student s = new Student();s.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);//將學(xué)生對象添加到集合中array.add(s);//給出添加成功提示System.out.println("添加學(xué)生成功");}//定義一個方法,判斷學(xué)號是否被使用public static boolean isUsed(ArrayList<Student> array, String sid) {//如果與集合中的某一個學(xué)生學(xué)號相同,返回true;如果都不相同,返回falseboolean flag = false;for(int i=0; i<array.size(); i++) {Student s = array.get(i);if(s.getSid().equals(sid)) {flag = true;break;}}return flag;}//定義一個方法,用于查看學(xué)生信息/*public static void findAllStudent(ArrayList<Student> array) {//顯示表頭信息//\t 其實就是tab鍵的位置System.out.println("學(xué)號\t\t\t姓名\t\t年齡\t\t居住地");//將集合中數(shù)據(jù)取出按照對應(yīng)格式顯示學(xué)生信息,年齡顯示補充“歲”for (int i = 0; i < array.size(); i++) {Student s = array.get(i);System.out.println(s.getSid() + "\t" + s.getName() + "\t" + s.getAge() + "歲\t\t" + s.getAddress());}}*/public static void findAllStudent(ArrayList<Student> array) {//判斷集合中是否有數(shù)據(jù),如果沒有顯示提示信息if (array.size() == 0) {System.out.println("無信息,請先添加信息再查詢");//為了讓程序不在往下執(zhí)行,給出return;return;}//顯示表頭信息//\t 其實就是tab鍵的位置System.out.println("學(xué)號\t\t\t姓名\t\t年齡\t\t居住地");//將集合中數(shù)據(jù)取出按照對應(yīng)格式顯示學(xué)生信息,年齡顯示補充“歲”for (int i = 0; i < array.size(); i++) {Student s = array.get(i);System.out.println(s.getSid() + "\t" + s.getName() + "\t" + s.getAge() + "歲\t\t" + s.getAddress());}}//定義一個方法,用于刪除學(xué)生信息/*public static void deleteStudent(ArrayList<Student> array) {//鍵盤錄入要刪除的學(xué)生學(xué)號,顯示提示信息Scanner sc = new Scanner(System.in);System.out.println("請輸入你要刪除的學(xué)生的學(xué)號:");String sid = sc.nextLine();//遍歷集合將對應(yīng)學(xué)生對象從集合中刪除for(int i=0; i<array.size(); i++) {Student s = array.get(i);if(s.getSid().equals(sid)) {array.remove(i);break;}}//給出刪除成功提示System.out.println("刪除學(xué)生成功");}*/public static void deleteStudent(ArrayList<Student> array) {//鍵盤錄入要刪除的學(xué)生學(xué)號,顯示提示信息Scanner sc = new Scanner(System.in);System.out.println("請輸入你要刪除的學(xué)生的學(xué)號:");String sid = sc.nextLine();//在刪除/修改學(xué)生操作前,對學(xué)號是否存在進(jìn)行判斷//如果不存在,顯示提示信息//如果存在,執(zhí)行刪除/修改操作int index = -1;for (int i = 0; i < array.size(); i++) {Student s = array.get(i);if (s.getSid().equals(sid)) { // int index = i;index = i;break;}}if (index == -1) {System.out.println("該信息不存在,請重新輸入");} else {array.remove(index);//給出刪除成功提示System.out.println("刪除學(xué)生成功");}}//定義一個方法,用于修改學(xué)生信息public static void updateStudent(ArrayList<Student> array) {//鍵盤錄入要修改的學(xué)生學(xué)號,顯示提示信息Scanner sc = new Scanner(System.in);System.out.println("請輸入你要修改的學(xué)生的學(xué)號:");String sid = sc.nextLine();//鍵盤錄入要修改的學(xué)生信息System.out.println("請輸入學(xué)生新姓名:");String name = sc.nextLine();System.out.println("請輸入學(xué)生新年齡:");String age = sc.nextLine();System.out.println("請輸入學(xué)生新居住地:");String address = sc.nextLine();//創(chuàng)建學(xué)生對象Student s = new Student();s.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);//遍歷集合修改對應(yīng)的學(xué)生信息for (int i = 0; i < array.size(); i++) {Student student = array.get(i);if (student.getSid().equals(sid)) {array.set(i, s);break;}}//給出修改成功提示System.out.println("修改學(xué)生成功");} }

    3、運行截圖

    總結(jié)

    以上是生活随笔為你收集整理的Java09-day09【ArrayList(概述、构造方法、常用方法、遍历)、简易学生管理系统】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。