您好,登錄后才能下訂單哦!
這篇文章主要介紹“JAVA面對對象的應用方法”,在日常操作中,相信很多人在JAVA面對對象的應用方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JAVA面對對象的應用方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
常用API
String類
關于String為啥不可改變
StringBuilder類
String、StringBuffer 和 StringBuilder 的區別:
ArrayList
1.1ArrayList類概述
1.2ArrayList類常用方法
學生管理系統
API理解
什么是API
API (Application Programming Interface) :應用程序編程接口
java中的API
指的就是 JDK 中提供的各種功能的 Java類,這些類將底層的實現封裝了起來,我們不需要關心這些類是如何實現的,只需要學習這些類如何使用即可,我們可以通過幫助文檔來學習這些API如何使用。
如何使用API幫助文檔
主要是以下幾步:??
1. 打開幫助文檔
??2. 找到選項卡中的索引框
??3. 在輸入框中輸入你要查找類,例如Random
??4. 看類在哪個包下
??5. 看類的描述
??6. 看構造方法
??7. 看成員方法
接下來講解String類,StringBuilder類
一. 基本內容:??
String 類代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被實現為此類的實例。也就是說,Java 程序中所有的雙引號字符串,都是 String 類的對象。String 類在 java.lang 包下,所以使用的時候不需要導包!
二. 特點:
字符串不可變,它們的值在創建后不能被更改
雖然 String 的值是不可變的,但是它們可以被共享
字符串效果上相當于字符數組( char[] ),但是底層原理是字節數組( byte[] )
這里可以根據 jdk 的源碼來分析。
字符串實際上就是一個 char 數組,并且內部就是封裝了一個 char 數組。
并且這里 char 數組是被 final 修飾的:
public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[];
??并且 String 中的所有的方法,都是對于 char 數組的改變,只要是對它的改變,方法內部都是返回一個新的 String 實例。
三. 構造方法
常用:
代碼展示:
/* 登錄系統 */ public class UserLogin { public static void main(String [] args) { String username = "hxf1688"; String password = "2e5y8hxf"; for(int i=0; i < 3; i++) { Scanner sc = new Scanner(System.in); //創建sc為輸入類 System.out.println("請輸入用戶名:"); String user = sc.nextLine(); System.out.println("請輸入密碼:"); String psw = sc.nextLine(); if(username.equals(user)&&password.equals(psw)) { System.out.println("登錄成功"); break; } else { if(i==2) { System.out.println("您輸入錯誤次數過多,請聯系管理員"); } else { System.out.println("輸入失敗,您還有"+(2-i)+"嘗試機會"); } } } } }
一、基本內容:??
StringBuilder 是一個可變的字符串類,我們可以把它看成是一個容器,這里的可變指的是 StringBuilder 對象中的內容是可變的
二、構造方法:
常用:
代碼展示:
StringBuilder s1 = StringBuilder(hello); s2 = s1.append("world"); (s1 == s2) //
結果為true
StringBuilder類的其他知識點:
拓展知識
String:字符串常量,字符串長度不可變。Java中String 是immutable(不可變)的。用于存放字符的數組被聲明為final的,因此只能賦值一次,不可再更改。
StringBuffer:字符串變量(Synchronized,即線程安全)。如果要頻繁對字符串內容進行修改,出于效率考慮最好使用
StringBuffer,如果想轉成 String 類型,可以調用 StringBuffer 的 toString() 方法。Java.lang.StringBuffer 線程安全的可變字符序列。在任意時間點上它都包含某種特定的字符序列,但通過某些方法調用可以改變該序列的長度和內容。可將字符串緩沖區安全地用于多個線程。
StringBuilder:字符串變量(非線程安全)。在內部 StringBuilder 對象被當作是一個包含字符序列的變長數組。
基本原則 :
如果要操作少量的數據用 String ;
單線程操作大量數據用StringBuilder ;
多線程操作大量數據,用StringBuffer。
什么是集合
提供一種存儲空間可變的存儲模型,存儲的數據容量可以發生改變
ArrayList集合的特點
底層是數組實現的,長度可以變化
泛型的使用
用于約束集合中存儲元素的數據類型
構造方法 :
public ArrayList() : 創建一個空的集合對象
成員方法 :
關于成員方法的具體操作 :
代碼展示:
import java.util.ArrayList; public class Arraylist1 { public static void main(String[] args) { ArrayList<String> al =new ArrayList<>(); al.add("ding"); al.add("yu"); al.add("meng"); //增加元素 al.add(3,"wo"); //增加指定索引元素 System.out.println(al.remove("wo")); // 刪除元素 System.out.println(al.remove(2));// 刪除指定索引元素 System.out.println(al.set(1,"sun"));// 修改指定索引元素 System.out.println(al.get(0)); // 返回指定索引處的元素 System.out.println(al.get(1)); System.out.println(al.size()); //集合長度 System.out.println(al); } }
案例需求 :
針對目前我們的所學內容,完成一個綜合案例:學生管理系統!該系統主要功能如下:
添加學生:通過鍵盤錄入學生信息,添加到集合中
刪除學生:通過鍵盤錄入要刪除學生的學號,將該學生對象從集合中刪除
修改學生:通過鍵盤錄入要修改學生的學號,將該學生對象其他信息進行修改
查看學生:將集合中的學生對象信息進行展示
退出系統:結束程序
具體界面 :
實現步驟 :
1.定義學生類,包含以下成員變量 :
private String sid
// 學生id
private String name
// 學生姓名
private String age
// 學生年齡
private String address
// 學生所在地
2.學生管理系統主界面的搭建步驟 :
首先用輸出語句完成主界面編寫, 接著Scanner鍵盤輸入, 然后switch語句完成選擇的功能, 最后循環完成功能結束后回到主界面
具體代碼:
import java.util.ArrayList; import java.util.Scanner; public class Studenttext { public static void main(String[] args) { boolean isFlag=true; ArrayList<Student> s = new ArrayList<>(); while (isFlag) { System.out.println("------歡迎來到遠遠學生管理軟件------\n"); System.out.println(" 1 添加學生"); System.out.println(" 2 刪除學生"); System.out.println(" 3 修改學生"); System.out.println(" 4 查看所有學生"); System.out.println(" 5 退出"); System.out.println(" 請輸入你的選擇: "); char selection = Student.readMenuSelection(); switch (selection){ case '1': addStudent(s); break; case '2': removeStudent(s); break; case '3': setStudent(s); break; case '4': findStudent(s); break; case '5': System.out.print("確認是否退出(Y/N):"); char isExit = Student.readConfirmSelection(); if (isExit == 'Y') { isFlag = false; break; } } } }
3.學生管理系統的添加學生功能實現步驟 :
定義一個方法,接收ArrayList集合 ,方法內完成添加學生的功能 : 最后調用添加學生方法
a.鍵盤錄入學生信息
b.根據錄入的信息創建學生對象
c.將學生對象添加到集合中
d.提示添加成功信息
4.學生管理系統的查看學生功能實現步驟 :
定義一個方法,接收ArrayList集合, 方法內遍歷集合,將學生信息進行輸出, 在查看所有學生選項里調用查看學生方法
具體代碼:
public static void findStudent(ArrayList<Student> s) { if (s.size()==0){ System.out.println("無數據,請先錄入學生信息"); return; } System.out.println("學號\t\t姓名\t\t年齡\t\t居住地"); for (int i = 0; i < s.size() ; i++) { Student a=s.get(i); System.out.println(a.getSid()+"\t\t"+a.getName()+"\t\t"+a.getAge()+"歲\t"+a.getAddress()); } }
學生管理系統的刪除學生功能實現步驟 :
定義一個方法,接收ArrayList集合, 方法中接收要刪除學生的學號, 遍歷集合,獲取每個學生對象, 使用學生對象的學號和錄入的要刪除的學號進行比較,如果相同,則將當前學生對象從集合中刪除,最后在刪除學生選項里調用刪除學生的方法
學生管理系統的修改學生功能實現步驟 :
定義一個方法,接收ArrayList集合, 方法中接收要修改學生的學號, 通過鍵盤錄入學生對象所需的信息,并創建對象, 遍歷集合,獲取每一個學生對象。并和錄入的修改學生學號進行比較.如果相同,則使用新學生對象替換當前學生對象, 在修改學生選項里調用修改學生的方法
具體代碼:
public static void setStudent(ArrayList<Student> s) { Scanner sc = new Scanner(System.in); System.out.println("請輸入你要修改的學生學號:"); String sid = sc.nextLine(); int index = -1; for (int i = 0; i < s.size(); i++) { Student b = s.get(i); if (b.getSid().equals(sid)) { index = i; break; } } if (index == -1) { System.out.println("你輸入的學號不存在,請重新輸入"); } else { System.out.println("請輸入學生新姓名"); String name = sc.nextLine(); System.out.println("請輸入學生新年齡"); String age = sc.nextLine(); System.out.println("請輸入學生新居住的"); String address = sc.nextLine(); Student a = new Student(); a.setSid(sid); a.setName(name); a.setAge(age); a.setAddress(address); for (int i = 0; i < s.size(); i++) { Student b = s.get(i); if (b.getSid().equals(sid)) { s.set(i, a); break; } } System.out.println("修改成功"); } }
退出系統
到此,關于“JAVA面對對象的應用方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。