From 734cb97b32dbd72a16981a99b7652119f9aa682d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E7=8E=AE=E9=94=8B?= <295357613@qq.com> Date: Fri, 23 Dec 2022 14:10:57 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...41\347\220\206\347\263\273\347\273\237.md" | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 "17\351\203\221\347\216\256\351\224\213/20221222 \344\270\211\347\217\255\345\255\246\347\224\237\347\256\241\347\220\206\347\263\273\347\273\237.md" diff --git "a/17\351\203\221\347\216\256\351\224\213/20221222 \344\270\211\347\217\255\345\255\246\347\224\237\347\256\241\347\220\206\347\263\273\347\273\237.md" "b/17\351\203\221\347\216\256\351\224\213/20221222 \344\270\211\347\217\255\345\255\246\347\224\237\347\256\241\347\220\206\347\263\273\347\273\237.md" new file mode 100644 index 0000000..6d0bf49 --- /dev/null +++ "b/17\351\203\221\347\216\256\351\224\213/20221222 \344\270\211\347\217\255\345\255\246\347\224\237\347\256\241\347\220\206\347\263\273\347\273\237.md" @@ -0,0 +1,159 @@ +```java + // static 静态 continue 跳过循环 + static Scanner sc = new Scanner(System.in); + public static void main(String[] args) { +welCome(); +start(); + String []student = new String[10]; + student[0]= "小0"; + student[1]= "小1"; + while (true){ + start(); + choicMenu(sc.nextInt(), student); + } + + } + public static void welCome(){ + public static void start(){ +// 欢迎界面 + + System.out.println("===================="+ + "\n-\t\t1.浏览所有学生信息\t\t-"+ + "\n-\t\t2.添加学生信息\t\t-"+ + "\n-\t\t3.修改学生信息\t\t-"+ + "\n-\t\t4.查询学生信息\t\t-"+ + "\n-\t\t5。删除学生信息\t\t-"+ + "\n-\t\t6.退出学生信息\t\t-"+ + "\n-\t\t4.删除学生信息\t\t-"+ + "\n-\t\t5.查询学生信息\t\t-"+ + "\n-\t\t6.退出学生管理系统\t\t-"+ + "\n===================="+ + "\n请输入对应的数字选择你需要的功能"); + } + case 1: +// 浏览所有学生信息 + System.out.println("浏览所有学生信息"); + all(student); + viemAllStydent(student); + break; + case 2: +// 添加学生信息 + System.out.println("添加学生信息"); + add(student); + addStudent(student); + break; + case 3: +// 修改学生信息 + System.out.println("你选择了修改学生信息"); + editStudent(student); + break; + case 4: +// 删除学生信息 + System.out.println("你选择了删除学生信息"); + break; + deleteStudent(student); + break; + case 5: + System.out.println("你选择了查询学生信息"); +// 查询学生信息 + searchStudent(student); + break; + case 6: + System.out.println("你选择了退出管理系统"); + } + } + public static void all(String[] student){ + for (String name:student){ + if (name==null){ +// 修改学生 + private static void editStudent(String[] student){ + System.out.println("请问你要修改哪个学生"); + String name=sc.next(); + int index=searchIndex(student,name); + if (index==-1) { + System.out.println("对不起,没有该学生,无法修改"); + }else { + System.out.println("请问你要把【"+name+"】修改成谁"); + String newName=sc.next(); + student[index]=newName; + System.out.println("修改成功"); + } + } +// 删除学生 + private static void deleteStudent(String[] student){ + System.out.println("请问你要删除哪个学生"); + String name=sc.next(); + int index = searchIndex(student,name); + if (index==-1) { + System.out.println("对不起,没有该学生,无法删除"); + }else { + student[index]=null; + System.out.println("删除成功"); + } + } + + public static void viemAllStydent(String[] student) { + System.out.println("3班现在有以下学生:"); + int count = 0; + for (String name : student) { + if (name == null) { + count++; + continue; + } + System.out.println(name+"\t"); + System.out.print(name + "\t"); + } + if (count==student.length){ + + System.out.println("目前,还没有学生信息"); + } + } + public static void add(String[]student){ + System.out.println("请输入你要添加的学生:"); + // 添加学生 + + public static int addStudent(String[]stu){ + // 在数组里,0表示的是第一个元素。-1,表示不存在 + System.out.println("请输入你要添加的学生"); + String name = sc.next(); + int index =searchIndex(student,name); + if (index==-1){ + System.out.println("该学生已经在数据库了,请不要重复添加"); + int index = searchIndex(stu,name); + if (index!=-1){ + System.out.println("该学生已经存在"); + }else { + int nullIndex=searchIndex(student,name); + student[nullIndex]=name; + int nullIndex = searchIndex(stu,null); + stu[nullIndex]=name; + System.out.println("添加成功"); + all(student); + addStudent(stu); + } + return index; } + // 查找学生 + private static void searchStudent(String[]student){ + System.out.println("请输入查找的学生姓名:"); + String name = sc.next(); + int index = searchIndex(student,name); + if (index==-1){ + System.out.println("对不起,没有该学生"); + }else { + System.out.println("恭喜,找到了他在数组的第"+(index+1)+"个"); + } + } + + public static int searchIndex(String[]student , String name){ + int indext = -1; + for (int i = 0; i < student.length; i++) { + indext=i; + return indext; + } + } + return indext; + } +} + // 未完待续 +``` + -- Gitee From 270f634a1daa12e51e02b3c7334a10935156e2d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E7=8E=AE=E9=94=8B?= <295357613@qq.com> Date: Tue, 27 Dec 2022 13:49:46 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...41\347\232\204\347\254\224\350\256\260.md" | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 "17\351\203\221\347\216\256\351\224\213/20221223 \345\205\263\344\272\216\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\347\254\224\350\256\260.md" diff --git "a/17\351\203\221\347\216\256\351\224\213/20221223 \345\205\263\344\272\216\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\347\254\224\350\256\260.md" "b/17\351\203\221\347\216\256\351\224\213/20221223 \345\205\263\344\272\216\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\347\254\224\350\256\260.md" new file mode 100644 index 0000000..165e63c --- /dev/null +++ "b/17\351\203\221\347\216\256\351\224\213/20221223 \345\205\263\344\272\216\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\347\254\224\350\256\260.md" @@ -0,0 +1,86 @@ +## 一、类和对象 + +### 1.面向对象介绍 + +- 并不是一个技术,而是一种编程指导思想 +- 以什么形式组织代码;以什么思路解决问题 + +### 2.类与对象 + +- 什么是类:类是对现实生活中一类具有共同属性和行为的事物的抽象 +- 什么是对象:对象是能够看得见摸得着的真实存在的实体 +- 类是对象的抽象,对象是类的实体 + +### 3.对象的属性和行为 + +- 属性:对象具有的各种特征,每个对象的每个属性都拥有特定的值 +- 行为:对象能够执行的操作 + +### 4.类的属性和行为 + +- 属性:在类中通过成员变量来体现(类中方法外的变量) +- 行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可) + +### 5.对象的使用 + +- 创建对象 + 1. 格式:类名 对象名 = new 类名(); + 2. 示例:Phone p = new Phone(); +- 使用对象 + 1. 使用成员变量 + - 格式:对象名.变量名 + - 示例:p.brand + 2. 使用成员方法 + - 格式:对象名.方法名(参数); + - 示例:p.call(); + +### 6.练习 + +```java +//需求:定义一个学生类,然后定义一个学生测试类,在学生测试类中通过对象王城成员变量和成员方法的使用 +public class Student { + String name; + int age; + char sex; + public void eat() { + System.out.println(age + "岁的" + sex + "学生" + name + "会吃饭!"); + } + public void doHomeWork() { + System.out.println(age + "岁的" + sex + "学生" + name + "会写作业!"); + } +} + +public class StudentTest { + public static void main(String[] args) { + Student xm = new Student(); + xm.name = "小明"; + xm.age = 18; + xm.sex = '男'; + + Student xm = new Student(); + xm.name = "小红"; + xm.age = 19; + xm.sex = '女'; + + xm.eat(); + xh.eat(); + xm.doHomeWork(); + } +} +``` + +## 二、对象内存分配 + +### 1.Java内存分配 + +1. 什么是Java内存分配:Java程序在运行时,需要在内存中分配空间,为了提高运算效率就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据的方式和内存管理方式。 +2. 栈:所有局部变量都会在栈内存中创建 + - 局部变量:定义在方法中的变量或者方法声明上的变量 + - 方法执行都会加载到栈中进行 + - 局部变量特点:随着方法的调用而存在,随着方法的调用完毕而消失 +3. 堆:所有对象及其对应的实例变量和数组都将存储在此处 + - 可以理解为new出来的东西都存储在堆内存 + - 每一个new出来的东西都有一个地址值,使用完毕后会在垃圾回收期空闲时被回收 + - 实例变量(成员变量)有初始值: + - 基本引用数据类型:整数:0;浮点数:0.0;布尔:false;字符:空字符 + - 引用数据类型:null \ No newline at end of file -- Gitee