大佬教程收集整理的这篇文章主要介绍了JAVA阶段五之面对对象应用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
API理解
java中的API 指的就是 JDK 中提供的各种功能的 Java类c;这些类将底层的实现封装了起来c;我们不需要关心这些类是如何实现的c;只需要学习这些类如何使用即可c;我们可以通过帮助文档来学习这些API如何使用。 如何使用API帮助文档 主要是以下几步: 1. 打开帮助文档 2. 找到选项卡中的索引框 3. 在输入框中输入你要查找类,例如random 4. 看类在哪个包下 5. 看类的描述 6. 看构造方法 7. 看成员方法 接下来讲解String类,StringBuilder类
一. 基本内容: String 类代表字符串c;Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说c;Java 程序中所有的双引号字符串c;都是 String 类的对象。String 类在 java.lang 包下c;所以使用的时候不需要导包!
二. 特点:
这里可以根据 jdk 的源码来分析。 字符串实际上就是一个 char 数组c;并且内部就是封装了一个 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 中的所有的方法c;都是对于 char 数组的改变c;只要是对它的改变c;方法内部都是返回一个新的 String 实例。
三. 构造方法 常用:
/*
登录系统
*/
public class UserLogin {
public static void @H_585_194@main(String [] args) {
String username = "hxf1688";
String @R_801_5747@d = "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)&&@R_801_5747@d.equals(psw)) {
System.out.println("登录成功");
break;
}
else {
if(i==2) {
System.out.println("您输入错误次数过多c;请联系管理员");
}
else {
System.out.println("输入失败c;您还有"+(2-i)+"尝试机会");
}
}
}
}
}
一、基本内容: StringBuilder 是一个可变的字符串类c;我们可以把它看成是一个容器c;这里的可变指的是 StringBuilder 对象中的内容是可变的 二、构造方法: 常用:
StringBuilder s1 = StringBuilder(Hello);
s2 = s1.append("world");
(s1 == s2) //结果为true
StringBuilder类的其他知识点:
String、StringBuffer 和 StringBuilder 的区别: String:字符串常量c;字符串长度不可变。Java中String 是immutable(不可变)的。用于存放字符的数组被声明为final的c;因此只能赋值一次c;不可再更改。
StringBuffer:字符串变量(Synchronizedc;即线程安全)。如果要频繁对字符串内容进行修改c;出于效率考虑最好使用 StringBufferc;如果想转成 String 类型c;可以调用 StringBuffer 的 toString() 方法。Java.lang.StringBuffer 线程安全的可变字符序列。在任意时间点上它都包含某种特定的字符序列c;但通过某些方法调用可以改变该序列的长度和内容。可将字符串缓冲区安全地用于多个线程。
StringBuilder:字符串变量(非线程安全)。在内部 StringBuilder 对象被当作是一个包含字符序列的变长数组。
基本原则 : 如果要操作少量的数据用 String ; 单线程操作大量数据用StringBuilder ; 多线程操作大量数据c;用StringBuffer。
构造方法 : public ArrayList() : 创建一个空的集合对象 成员方法 :
import java.util.ArrayList;
public class Arraylist1 {
public static void @H_585_194@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);
}
}
案例需求 : 针对目前我们的所学内容c;完成一个综合案例:学生管理系统!该系统主要功能如下: 添加学生:通过键盘录入学生信息c;添加到集合中 删除学生:通过键盘录入要删除学生的学号c;将该学生对象从集合中删除 修改学生:通过键盘录入要修改学生的学号c;将该学生对象其他信息进行修改 查看学生:将集合中的学生对象信息进行展示 退出系统:结束程序 具体界面 :
定义学生类c;包含以下成员变量 : private String sid // 学生id private String name // 学生姓名 private String age // 学生年龄 private String address // 学生所在地
学生管理系统主界面的搭建步骤 : 首先用输出语句完成主界面编写, 接着ScAnner键盘输入, 然后switch语句完成选择的功能, 最后循环完成功能结束后回到主界面 具体代码:
import java.util.ArrayList;
import java.util.ScAnner;
public class studenttext {
public static void @H_585_194@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;
}
}
}
}
学生管理系统的添加学生功能实现步骤 : 定义一个方法c;接收ArrayList集合 ,方法内完成添加学生的功能 : 最后调用添加学生方法 a.键盘录入学生信息 b.根据录入的信息创建学生对象 c.将学生对象添加到集合中 d.提示添加成功信息
学生管理系统的查看学生功能实现步骤 : 定义一个方法c;接收ArrayList集合, 方法内遍历集合c;将学生信息进行输出, 在查看所有学生选项里调用查看学生方法 具体代码:
public static void findstudent(ArrayList<student> s) {
if (s.size()==0){
System.out.println("无数据,请先录入学生信息");
return;
}
System.out.println("学号tt姓名tt年龄tt居住地");
for (int i = 0; i < s.size() ; i++) {
student a=s.get(i);
System.out.println(a.getSid()+"tt"+a.getName()+"tt"+a.getAge()+"岁t"+a.getAddress());
}
}
学生管理系统的删除学生功能实现步骤 : 定义一个方法c;接收ArrayList集合, 方法中接收要删除学生的学号, 遍历集合c;获取每个学生对象, 使用学生对象的学号和录入的要删除的学号进行比较,如果相同c;则将当前学生对象从集合中删除 ,最后在删除学生选项里调用删除学生的方法
学生管理系统的修改学生功能实现步骤 : 定义一个方法c;接收ArrayList集合, 方法中接收要修改学生的学号, 通过键盘录入学生对象所需的信息c;并创建对象, 遍历集合c;获取每一个学生对象。并和录入的修改学生学号进行比较.如果相同c;则使用新学生对象替换当前学生对象, 在修改学生选项里调用修改学生的方法 具体代码:
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("修改成功");
}
}
@H_139_1976@以上是大佬教程为你收集整理的JAVA阶段五之面对对象应用全部内容,希望文章能够帮你解决JAVA阶段五之面对对象应用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。