溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JAVA面對(duì)對(duì)象的應(yīng)用方法

發(fā)布時(shí)間:2021-08-03 10:17:55 來源:億速云 閱讀:125 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要介紹“JAVA面對(duì)對(duì)象的應(yīng)用方法”,在日常操作中,相信很多人在JAVA面對(duì)對(duì)象的應(yīng)用方法問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”JAVA面對(duì)對(duì)象的應(yīng)用方法”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

目錄
  • 常用API

    • String類

      • 關(guān)于String為啥不可改變

    • StringBuilder類

      • String、StringBuffer 和 StringBuilder 的區(qū)別:

  • ArrayList

    • 1.1ArrayList類概述

      • 1.2ArrayList類常用方法

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

        常用API

        API理解

        • 什么是API

        API (Application Programming Interface) :應(yīng)用程序編程接口

        • java中的API

        指的就是 JDK 中提供的各種功能的 Java類,這些類將底層的實(shí)現(xiàn)封裝了起來,我們不需要關(guān)心這些類是如何實(shí)現(xiàn)的,只需要學(xué)習(xí)這些類如何使用即可,我們可以通過幫助文檔來學(xué)習(xí)這些API如何使用。

        如何使用API幫助文檔

        主要是以下幾步:??

        1. 打開幫助文檔
        ??2. 找到選項(xiàng)卡中的索引框
        ??3. 在輸入框中輸入你要查找類,例如Random
        ??4. 看類在哪個(gè)包下
        ??5. 看類的描述
        ??6. 看構(gòu)造方法
        ??7. 看成員方法

        接下來講解String類,StringBuilder類

        String類

        一. 基本內(nèi)容:??

        String 類代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被實(shí)現(xiàn)為此類的實(shí)例。也就是說,Java 程序中所有的雙引號(hào)字符串,都是 String 類的對(duì)象。String 類在 java.lang 包下,所以使用的時(shí)候不需要導(dǎo)包!

        二. 特點(diǎn):

        • 字符串不可變,它們的值在創(chuàng)建后不能被更改

        • 雖然 String 的值是不可變的,但是它們可以被共享

        • 字符串效果上相當(dāng)于字符數(shù)組( char[] ),但是底層原理是字節(jié)數(shù)組( byte[] )

        關(guān)于String為啥不可改變

        這里可以根據(jù) jdk 的源碼來分析。

        字符串實(shí)際上就是一個(gè) char 數(shù)組,并且內(nèi)部就是封裝了一個(gè) char 數(shù)組。

        并且這里 char 數(shù)組是被 final 修飾的:

        public final class String
            implements java.io.Serializable, Comparable<String>, CharSequence {
            /** The value is used for character storage. */
            private final char value[];

        ??并且 String 中的所有的方法,都是對(duì)于 char 數(shù)組的改變,只要是對(duì)它的改變,方法內(nèi)部都是返回一個(gè)新的 String 實(shí)例。

        三. 構(gòu)造方法

        常用:

        JAVA面對(duì)對(duì)象的應(yīng)用方法

        代碼展示:

        /*
        登錄系統(tǒng)
        */
        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);      //創(chuàng)建sc為輸入類
        			System.out.println("請(qǐng)輸入用戶名:");
        			String user = sc.nextLine();
        			System.out.println("請(qǐng)輸入密碼:");
        			String psw = sc.nextLine();
        			if(username.equals(user)&&password.equals(psw)) {
        				System.out.println("登錄成功");
        				break;
        			}
        			else {
        				if(i==2) {
        					System.out.println("您輸入錯(cuò)誤次數(shù)過多,請(qǐng)聯(lián)系管理員");
        				}
        				else {
        					System.out.println("輸入失敗,您還有"+(2-i)+"嘗試機(jī)會(huì)");
        				}
        			}
        		}
        	}
        }

        StringBuilder類

        一、基本內(nèi)容:??

        StringBuilder 是一個(gè)可變的字符串類,我們可以把它看成是一個(gè)容器,這里的可變指的是 StringBuilder 對(duì)象中的內(nèi)容是可變的

        二、構(gòu)造方法:

        常用:

        JAVA面對(duì)對(duì)象的應(yīng)用方法

        代碼展示:

        StringBuilder s1 = StringBuilder(hello);
        s2 = s1.append("world");
        (s1 == s2)    //

        結(jié)果為true

        StringBuilder類的其他知識(shí)點(diǎn):

        JAVA面對(duì)對(duì)象的應(yīng)用方法

        拓展知識(shí)

        String、StringBuffer 和 StringBuilder 的區(qū)別:

        String:字符串常量,字符串長(zhǎng)度不可變。Java中String 是immutable(不可變)的。用于存放字符的數(shù)組被聲明為final的,因此只能賦值一次,不可再更改。

        StringBuffer:字符串變量(Synchronized,即線程安全)。如果要頻繁對(duì)字符串內(nèi)容進(jìn)行修改,出于效率考慮最好使用

        StringBuffer,如果想轉(zhuǎn)成 String 類型,可以調(diào)用 StringBuffer 的 toString() 方法。Java.lang.StringBuffer 線程安全的可變字符序列。在任意時(shí)間點(diǎn)上它都包含某種特定的字符序列,但通過某些方法調(diào)用可以改變?cè)撔蛄械拈L(zhǎng)度和內(nèi)容??蓪⒆址彌_區(qū)安全地用于多個(gè)線程。

        StringBuilder:字符串變量(非線程安全)。在內(nèi)部 StringBuilder 對(duì)象被當(dāng)作是一個(gè)包含字符序列的變長(zhǎng)數(shù)組。

        基本原則 :

        • 如果要操作少量的數(shù)據(jù)用 String ;

        • 單線程操作大量數(shù)據(jù)用StringBuilder ;

        • 多線程操作大量數(shù)據(jù),用StringBuffer。

        ArrayList

        1.1ArrayList類概述

        • 什么是集合

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

        • ArrayList集合的特點(diǎn)

        底層是數(shù)組實(shí)現(xiàn)的,長(zhǎng)度可以變化

        • 泛型的使用

        用于約束集合中存儲(chǔ)元素的數(shù)據(jù)類型

        1.2ArrayList類常用方法

        構(gòu)造方法 :

        public ArrayList() : 創(chuàng)建一個(gè)空的集合對(duì)象

        成員方法 :

        JAVA面對(duì)對(duì)象的應(yīng)用方法

        關(guān)于成員方法的具體操作 :

        JAVA面對(duì)對(duì)象的應(yīng)用方法

        代碼展示:

        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()); //集合長(zhǎng)度
                System.out.println(al);
            }
        }

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

        案例需求 :

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

        • 添加學(xué)生:通過鍵盤錄入學(xué)生信息,添加到集合中

        • 刪除學(xué)生:通過鍵盤錄入要?jiǎng)h除學(xué)生的學(xué)號(hào),將該學(xué)生對(duì)象從集合中刪除

        • 修改學(xué)生:通過鍵盤錄入要修改學(xué)生的學(xué)號(hào),將該學(xué)生對(duì)象其他信息進(jìn)行修改

        • 查看學(xué)生:將集合中的學(xué)生對(duì)象信息進(jìn)行展示

        • 退出系統(tǒng):結(jié)束程序

        具體界面 :

        JAVA面對(duì)對(duì)象的應(yīng)用方法

        實(shí)現(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)主界面的搭建步驟 :

        首先用輸出語句完成主界面編寫, 接著Scanner鍵盤輸入, 然后switch語句完成選擇的功能, 最后循環(huán)完成功能結(jié)束后回到主界面

        具體代碼:

        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("------歡迎來到遠(yuǎn)遠(yuǎn)學(xué)生管理軟件------\n");
                    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("      請(qǐng)輸入你的選擇: ");
                    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("確認(rèn)是否退出(Y/N):");
                            char isExit = Student.readConfirmSelection();
                            if (isExit == 'Y') {
                                isFlag = false;
                                break;
                            }
                    }
                }
            }

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

        定義一個(gè)方法,接收ArrayList集合 ,方法內(nèi)完成添加學(xué)生的功能 : 最后調(diào)用添加學(xué)生方法

        a.鍵盤錄入學(xué)生信息

        b.根據(jù)錄入的信息創(chuàng)建學(xué)生對(duì)象

        c.將學(xué)生對(duì)象添加到集合中

        d.提示添加成功信息

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

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

        具體代碼:

        public static void findStudent(ArrayList<Student> s) {
                if (s.size()==0){
                    System.out.println("無數(shù)據(jù),請(qǐng)先錄入學(xué)生信息");
                    return;
                }
                System.out.println("學(xué)號(hào)\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());
                }
        }

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

        定義一個(gè)方法,接收ArrayList集合, 方法中接收要?jiǎng)h除學(xué)生的學(xué)號(hào), 遍歷集合,獲取每個(gè)學(xué)生對(duì)象, 使用學(xué)生對(duì)象的學(xué)號(hào)和錄入的要?jiǎng)h除的學(xué)號(hào)進(jìn)行比較,如果相同,則將當(dāng)前學(xué)生對(duì)象從集合中刪除,最后在刪除學(xué)生選項(xiàng)里調(diào)用刪除學(xué)生的方法

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

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

        具體代碼:

         public static void setStudent(ArrayList<Student> s) {
                Scanner sc = new Scanner(System.in);
                System.out.println("請(qǐng)輸入你要修改的學(xué)生學(xué)號(hào):");
                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("你輸入的學(xué)號(hào)不存在,請(qǐng)重新輸入");
                } else {
                    System.out.println("請(qǐng)輸入學(xué)生新姓名");
                    String name = sc.nextLine();
                    System.out.println("請(qǐng)輸入學(xué)生新年齡");
                    String age = sc.nextLine();
                    System.out.println("請(qǐng)輸入學(xué)生新居住的");
                    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("修改成功");
                }
            }

        退出系統(tǒng)

        到此,關(guān)于“JAVA面對(duì)對(duì)象的應(yīng)用方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

        向AI問一下細(xì)節(jié)

        免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

        AI