java — 常用 API

Java语言——常用 API 第一部分

1.API

定义

应用程序编辑接口

Scanner中:是以 sc.nextline();

2.String

1.定义

String类在java.lang包中,所以不需要导包,String:也代表字符串,java程序中的所有字符串文字(“abc”)都被实现为此类的实例,也就是说,java中遇到 有"" 双引号的,都是 String的对象

2.特点
  • 字符串不可变,他们的值在创建之后不可被更改
  • 虽然值是不可变的,但是他们可以被共享
  • 字符串效果上相当于字符数组(char[])。但是底层原理是字节数组(byte[])
3.构造方法

在这里插入图片描述

package com.itheima3;

public class demoone {
    public static void main(String[] args) {
        // public String():创建一个空的字符串
        String s1 = new String();
        System.out.println(s1);

        // 根据数组内容来创建字符串对象
        char[] arry = {'a','b','c'};
        String s2 = new String(arry);
        System.out.println(s2);

        // 根据 byte类型来创建字符串对象
        byte[] bys = {'c','b','a'};
        String s3 = new String(bys);
        System.out.println(s3);

        // 不加括号
        String s4 = "asd";
        System.out.println(s4);
    }
}

特点

在这里插入图片描述

4.字符串的比较

(1)"=="

基本类型:比较的是数据值是否相同

引用类型:比较的地址值是否相同

(2)“equals”

将此字符串与指定对象进行比较,由于我们比较的是字符串对象,所以参数直接传递一个字符串

package com.itheima3;

public class demoone {
    public static void main(String[] args) {
        char[] arry = {'a','b','c'};

        String s1 = new String(arry);
        String s2 = new String(arry);

        String s3 = "abc";
        String s4 = "abc";

        // 比较 “ == ”的是地址值
        System.out.println(s1 == s2);
        System.out.println(s1 == s3);
        System.out.println(s3 == s4);
        System.out.println("==============");
        // 用 equal 来进行比较,比较的值内容
        System.out.println(s1.equals(s2));
        System.out.println(s1.equals(s3));
        System.out.println(s3.equals(s4));

    }
}

在这里插入图片描述

案例:用户登陆
package com.itheima3;
import java.util.Scanner;

public class into {
    public static void main(String[] args) {
        // 模拟用户登陆
        // 需求:总共三次登陆,如果没有,将锁定用户
        String user = "xiaobai";
        String password = "xiaobai1122";

        // 创建对象
        Scanner sc = new Scanner(System.in);
        // for 循环次数
        for (int i = 3;i>=1;i--){
            System.out.print("请输入用户名:");
            String input_user = sc.nextLine();
            System.out.print("请输入密码:");
            String input_password = sc.nextLine();
            if (input_user.equals(user) && input_password.equals(password)){
                System.out.println("成功登陆");
                break;
            }else {
                if (i - 1 == 0) {
                    System.out.println("账户锁定,请联系管理员");
                } else {
                    System.out.println("输入错误,剩余" + (i - 1) + "次机会!");

                }
            }
        }
    }
}

在这里插入图片描述

(3)字符串的查询

获取变量字符串的每一个值:变量.charAt(索引)

获取变量字符串的长度:变量.length();

// 创建对象
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
// 找到字符串索引的值
System.out.println(s.charAt(0));
System.out.println(s.charAt(1));
// 长度
System.out.println(s.length());

(4)字符串的拼接

如果是将整型转换为 字符性,在方法中需要先定义初始值 string,在进行拼接并输出

// 字符串的拼接
String ss = "";
String sss = "a";
ss +=sss;

注意

在这里插入图片描述

3.StringBuilder

1.定义

是一个可变的字符串类,我们可以把它看成是一个容器这里的可变指的是StringBuilder对象中的内容是可变的

2.构造方法

在这里插入图片描述

示例:

package com.itheima3;
import java.util.Scanner;

public class into {
    public static void main(String[] args) {
        // 新建变量给一个初定的值
        StringBuilder sb1 = new StringBuilder();
        System.out.println("sb1:"+sb1);

        // 新建变量并给与字符串值
        StringBuilder sb2 = new StringBuilder("hello world");
        System.out.println("sb2:"+sb2);
        System.out.println("sb2的长度:"+sb2.length());
    }
}

添加:添加数据,并返回自身

StringBuilder sb = new StringBuilder();

// 添加值
sb.append("hello");
sb.append("world");

// 链式写法
sb.append(100).append(100);

反转:sb.resever()

//反转
sb.reverse();
System.out.println(sb);

String和StringBuilder的区别:前者是不可变的,后者是可变的

两者之间的转换方法:

在这里插入图片描述

package com.itheima3;
import java.util.Scanner;

public class into {
    public static void main(String[] args) {
        // StringBuilder 转换成 String
        StringBuilder sb = new StringBuilder("HELLO");
        String s = sb.toString();
        System.out.println(s);

        // String 转换成 StringBuilder
        String s1 = "hello";
        StringBuilder sb1 = new StringBuilder(s1);
        System.out.println(sb1);
    }
}

(1)字符串的拼接

(2)字符串的反转

package com.itheima3;
import java.util.Scanner;

public class into {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("输入:");
        String input_massage = sc.nextLine();

        // 传入一个值
        String R = s_sb(input_massage);
        System.out.print("返回:");
        System.out.println(R);
    }

    public static String s_sb(String s){
        StringBuilder sb = new StringBuilder();
        // 拼接 !!!!!!!!!!!!!!!!!!!!
        sb.append(s);
        // 反转 !!!!!!!!!!!!!!!!!!!!
        sb.reverse();
        // 转换类型
        String S = sb.toString();
        return S;
    }
}

4.集合

1.定义
2.特点

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

3.ArrayList

1.定义

  • 可调整大小的数组实现
  • :是一种特殊的数据类型,泛型

2.用法

在出现E的地方我们使用引用数据类型替代

ArrayList<String>;
ArrayList<Student>;

3.构造方法

在这里插入图片描述

package com.itheima3;
import java.util.ArrayList;
import java.util.Scanner;

public class into {

    public static void main(String[] args) {
        // 创建对象 ,后面的 <> 跟前面的 <> 关联,前面是啥后面就是啥
        ArrayList<String> arry = new ArrayList<>();

        // 添加元素,默认为public boolean add(E e),将值插入后尾
        arry.add("hello");
        arry.add("java");

        // 指定位置插入
        arry.add(2,"good");

        System.out.println(arry);

    }
}

注意:不能插入一个越界的值(原长度为2,不能插入第3个值)

在这里插入图片描述

4.常用方法

在这里插入图片描述

// 创建对象 ,后面的 <> 跟前面的 <> 关联,前面是啥后面就是啥
ArrayList<String> arry = new ArrayList<>();

// 添加元素,默认为public boolean add(E e),将值插入后尾
arry.add("hello");
arry.add("java");

// remove:删除并返回布尔值
System.out.println(arry.remove("hello"));
// 删除下标
System.out.println(arry.remove(1));

// set:修改下标
System.out.println(arry.set(1,"python"));

// get:得到下标
System.out.println(arry.get(1));

// size:返回个数
System.out.println(arry.size());

5.案例:学生管理系统

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注意

私有变量快速建立 set/get 方法:alt + insert

结束死循环:

// 结束所有程序
System.exit(0);

reutrn:对于void类型通过return让函数暂时停止在那里

(1)学生类
package com.itheima4;

// alt + insert 快捷建构造函数
// 学生系统类
public class Student {
    // 私有变量
    // 学生里面有学号,姓名,年龄,地址
    private String ID;
    private String name;
    private String year;
    private String address;

    public Student() {
    }

    public Student(String ID, String name, String year, String address) {
        this.ID = ID;
        this.name = name;
        this.year = year;
        this.address = address;
    }

    public String getID() {
        return ID;
    }

    public void setID(String ID) {
        this.ID = ID;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getYear() {
        return year;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

}
(2)测试类
package com.itheima4;
import java.util.ArrayList;
import java.util.Scanner;

//展示类
// 功能:1.添加学生 2.删除学生 3.修改学生信息 4.查看所有学生信息 5.退出
public class Show {
    // 主函数
    public static void main(String[] args) {
        // 新建集合变量
        ArrayList<Student> students = new ArrayList<>();
        // 写入循环
        while (true) {
            System.out.println("==========欢迎进入学生管理系统==========");
            System.out.println("1.添加学生信息");
            System.out.println("2.删除学生信息");
            System.out.println("3.修改学生信息");
            System.out.println("4.查看学生信息");
            System.out.println("5.退出");
            System.out.print("请输入你的选择:");
            Scanner sc = new Scanner(System.in);
            String number = sc.nextLine();
            switch (number) {
                case "1":
//                    System.out.println("添加学生信息");
                    add_student(students);
                    break;
                case "2":
//                    System.out.println("删除学生信息");
                    del_student(students);
                    break;
                case "3":
//                    System.out.println("修改学生信息");
                    modify_student(students);
                    break;
                case "4":
//                    System.out.println("查看所有学生信息");
                    show_students(students);
                    break;
                case "5":
                    System.out.println("谢谢使用");
                    // 结束所有程序
                    System.exit(0);
            }
        }
    }
    // 添加学生的方法
    public static void add_student(ArrayList<Student> students){
        Scanner sc = new Scanner(System.in);
        String student_ID;
        while (true) {
            System.out.print("请输入学号:");
            student_ID = sc.nextLine();
            // 将学号进行判断,如果没有重复就输入名字,如果重复,就不断输入
            boolean result = injudge(students,student_ID);
            if (result){
                break;
            }else {
                System.out.println("该学号已重复,请重新输入");
            }
        }

        System.out.print("请输入姓名:");
        String student_name = sc.nextLine();
        if (student_name.length() <=2) {
            if (student_name.length() <= 1) {
                student_name = student_name + "  ";
            } else {
                student_name = student_name + " ";
            }
        }
        System.out.print("请输入年龄:");
        String student_year = sc.nextLine();

        System.out.print("请输入地址:");
        String student_address = sc.nextLine();

        // 创建学生类,并将学生类给写到集合中去  【可以理解为对每一个变量写入到 students的结构体上】
        Student student = new Student();
        student.setID(student_ID);
        student.setName(student_name);
        student.setYear(student_year);
        student.setAddress(student_address);

        students.add(student);
        System.out.println("添加学生成功");
    }

    // 判断添加的学号是否一致
    public static boolean injudge(ArrayList<Student> students,String id){
        for (int i =0;i<students.size();i++){
            Student s = students.get(i);
            if (s.getID().equals(id)){
                return false;
            }
        }
        return true;
    }

    // 删除学生的方法
    public static void del_student(ArrayList<Student> students){
        if (students.size() == 0){
            System.out.println("该系统并无可删除的学生信息!");
            // return到这里停止
            return;
        }
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入要删除的学号:");
        String del_ID = sc.nextLine();
        for (int i = 0;i<students.size();i++){
            Student del_number = students.get(i);
            String choose_number = del_number.getID();
            // 取内容进行判断
            if (del_ID.equals(choose_number)){
                // 删除信息
                students.remove(i);
                System.out.println("删除学生信息成功");
                break;
            }else {
                // 如果不在该系统之内,要提示
                if (i == (students.size()-1)) {
                    System.out.println("该学号未在系统之内!");
                    break;
                }
            }
        }
    }

    // 修改学生的方法
    public static void modify_student(ArrayList<Student> students){
        Scanner sc = new Scanner(System.in);

        System.out.print("请输入要修改的学号:");
        String modify_ID = sc.nextLine();

        for (int i =0;i <students.size();i++){
            Student s = students.get(i);
            if (s.getID().equals(modify_ID)){
                System.out.print("请重新输入姓名:");
                String modify_name = sc.nextLine();
                System.out.print("请重新输入年龄:");
                String modify_year = sc.nextLine();
                System.out.print("请重新输入地址:");
                String modify_address = sc.nextLine();
                Student student = new Student();
                student.setID(modify_ID);
                student.setName(modify_name);
                student.setYear(modify_year);
                student.setAddress(modify_address);
                students.set(i,student);
                System.out.println("修改成功");
                break;
            }else {
                if (i == students.size() - 1) {
                    System.out.println("修改的学号不存在");
                }
            }
        }
    }

    // 展示学生的方法
    public static void show_students(ArrayList<Student> students){
        System.out.println("该系统中学生的人数为:"+students.size());
        if (students.size() == 0){
            System.out.println("该系统暂无学生信息!");
            // return到这里停止
            return;
        }
        System.out.println("ID\t\t姓名\t\t\t年龄\t\t地址");
        for (int i =0;i<students.size();i++){
            Student student = students.get(i);
            System.out.println(student.getID()+"\t\t"+student.getName()+"\t\t"+student.getYear()+"\t\t\t"+student.getAddress());
        }
    }

}

————————
后续将继续更新!
内有不足请指教

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值