温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JAVA面对对象的应用方法

发布时间:2021-08-03 10:17:55 来源:亿速云 阅读:120 作者:chen 栏目:开发技术

这篇文章主要介绍“JAVA面对对象的应用方法”,在日常操作中,相信很多人在JAVA面对对象的应用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JAVA面对对象的应用方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目录
  • 常用API

    • String类

      • 关于String为啥不可改变

    • StringBuilder类

      • String、StringBuffer 和 StringBuilder 的区别:

  • ArrayList

    • 1.1ArrayList类概述

      • 1.2ArrayList类常用方法

      • 学生管理系统

        常用API

        API理解

        • 什么是API

        API (Application Programming Interface) :应用程序编程接口

        • java中的API

        指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。

        如何使用API帮助文档

        主要是以下几步:  

        1. 打开帮助文档
          2. 找到选项卡中的索引框
          3. 在输入框中输入你要查找类,例如Random
          4. 看类在哪个包下
          5. 看类的描述
          6. 看构造方法
          7. 看成员方法

        接下来讲解String类,StringBuilder类

        String类

        一. 基本内容:  

        String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!

        二. 特点:

        • 字符串不可变,它们的值在创建后不能被更改

        • 虽然 String 的值是不可变的,但是它们可以被共享

        • 字符串效果上相当于字符数组( char[] ),但是底层原理是字节数组( byte[] )

        关于String为啥不可改变

        这里可以根据 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 实例。

        三. 构造方法

        常用:

        JAVA面对对象的应用方法

        代码展示:

        /*
        登录系统
        */
        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 对象中的内容是可变的

        二、构造方法:

        常用:

        JAVA面对对象的应用方法

        代码展示:

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

        结果为true

        StringBuilder类的其他知识点:

        JAVA面对对象的应用方法

        拓展知识

        String、StringBuffer 和 StringBuilder 的区别:

        String:字符串常量,字符串长度不可变。Java中String 是immutable(不可变)的。用于存放字符的数组被声明为final的,因此只能赋值一次,不可再更改。

        StringBuffer:字符串变量(Synchronized,即线程安全)。如果要频繁对字符串内容进行修改,出于效率考虑最好使用

        StringBuffer,如果想转成 String 类型,可以调用 StringBuffer 的 toString() 方法。Java.lang.StringBuffer 线程安全的可变字符序列。在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。可将字符串缓冲区安全地用于多个线程。

        StringBuilder:字符串变量(非线程安全)。在内部 StringBuilder 对象被当作是一个包含字符序列的变长数组。

        基本原则 :

        • 如果要操作少量的数据用 String ;

        • 单线程操作大量数据用StringBuilder ;

        • 多线程操作大量数据,用StringBuffer。

        ArrayList

        1.1ArrayList类概述

        • 什么是集合

        提供一种存储空间可变的存储模型,存储的数据容量可以发生改变

        • ArrayList集合的特点

        底层是数组实现的,长度可以变化

        • 泛型的使用

        用于约束集合中存储元素的数据类型

        1.2ArrayList类常用方法

        构造方法 :

        public ArrayList() : 创建一个空的集合对象

        成员方法 :

        JAVA面对对象的应用方法

        关于成员方法的具体操作 :

        JAVA面对对象的应用方法

        代码展示:

        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);
            }
        }

        学生管理系统

        案例需求 :

        • 针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下:

        • 添加学生:通过键盘录入学生信息,添加到集合中

        • 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除

        • 修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改

        • 查看学生:将集合中的学生对象信息进行展示

        • 退出系统:结束程序

        具体界面 :

        JAVA面对对象的应用方法

        实现步骤 :

        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面对对象的应用方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

        向AI问一下细节

        免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

        AI