千锋教育实训day04————java
上午
学生管理系统
/StuManage/学生管理系统函数
public class StuManage {//该类定义所有相关的学生管理系统的函数方法//注册功能User[] users= new User[10];Stu[] stus= new Stu[10];//创建专门用于存储user对象的数组为了能够使该数组不会在每次调用注册功能的时候初始化。为了能够使登录函数使用Scanner sc= new Scanner(System.in);//注册功能public void zhuce(){System.out.println("请您输入注册的账户:");String username = sc.next();System.out.println("请您输入注册的密码:");String password = sc.next();//把输入的账号和密码封装在一个User对象中User user = new User();user.username=username;user.password=password;//把User对象存在数组中//创建专门用于存储user对象的数组for (int i = 0; i < users.length; i++) {if (users[i] == null) {if (username!=username) {users[i] = user;System.out.println("注册成功");return;}else {System.out.println("注册失败");}return;}System.out.println("注册失败");}}//登录功能public void login(){System.out.println("请您输入登录账号");String username =sc.next();System.out.println("请您输入登录密码");String password =sc.next();for (int i = 0; i <users.length ; i++) {if (users[i]!=null&&users[i].username.equals(username)&&users[i].password.equals(password)){System.out.println("登录成功");menu2();}else if (users[i].username.equals(username)&&users[i].password!=password) {System.out.println("登陆失败,您的密码错误!");}else if (users[i].username!=username&&users[i].password.equals(password)){System.out.println("登陆失败,您的账号不存在!");}}}//添加功能//添加学生信息public void add(){System.out.println("请您输入姓名:");String name =sc.next();System.out.println("请您输入电话:");String phone =sc.next();Stu stu =new Stu();stu.name=name;stu.phone=phone;for (int i = 0; i <stus.length ; i++) {if (stus[i]==null){stus[i]=stu;System.out.println("添加成功!");return;}}System.out.println("添加失败!");}//删除学生信息public void del(){System.out.println("请您需要删除的姓名:");String name =sc.next();for (int i = 0; i <stus.length ; i++) {if (stus[i].name.equals(name)&&stus[i].name!=null){stus[i]=null;System.out.println("删除成功!");return;}}System.out.println("删无此人!");}//修改学生信息public void update(){// 1.扫描用户需要修改的学生System.out.println("请输入需要修改的学生姓名");String name = sc.next();for (int i = 0; i < stus.length; i++) {//在循环的过程中取出每一个下标上联系人的信息,单独取name属性进行比较arr[i].nameif (stus[i]!=null&&stus[i].name.equals(name)){System.out.println("1、修改姓名 2、修改电话 ");String Lxr=sc.next();switch (Lxr){case"1":System.out.println("请您输入修改的联系人新姓名:");String updatename = sc.next();stus[i].name=updatename;System.out.println("修改成功!");stus[i].show();break;case"2":System.out.println("请您输入修改的联系人新电话:");String updatephone = sc.next();stus[i].name=updatephone;System.out.println("修改成功!");stus[i].show();break;}}}System.out.println("删无此人!");}//查询学生信息public void selectname(){System.out.println("请您输入要查询的学生姓名:");String name = sc.next();//循环数组容器判断是否存在该联系人for (int i = 0; i <stus.length ; i++) {if (stus[i]!=null&&stus[i].name.equals(name)){System.out.println("查询信息如下:");stus[i].show();break;}else {System.out.println("查无此人!");}}}public void selectall(){System.out.println("查询如下:");for (int i = 0; i <stus.length ; i++) {stus[i].show();return;}}//菜单功能public void menul(){while (true){System.out.println("——欢迎来到学生管理系统——");System.out.println("1、注册 2、登录 3、退出");System.out.println("请选择:");String key = sc.next();switch (key) {case "1"://注册功能zhuce();break;//登录功能case "2":login();break;//退出case "3":System.out.println("欢迎下次使用");System.exit(0);}}}public void menu2(){while (true){System.out.println("1、添加学生信息 2、删除学生信息 3、修改学生信息 4、查询学生信息 5、显示所有学生信息 6、退出");System.out.println("请选择:");String key = sc.next();switch (key) {case "1"://添加功能add();break;//删除功能case "2":del();break;//修改功能case "3":update();break;//查询联系人case "4":selectname();break;//显示所有联系人case "5":selectall();break;case "6":System.out.println("欢迎下次使用");return;}}}
}
/Stu/
public class Stu {String name;String phone;public void show(){System.out.println("姓名"+name +"电话"+phone);}
}
/main/主函数
public class text1 {public static void main(String[] args) {StuManage stuManage=new StuManage();stuManage.menul();}
}
面对对象
对象——个体
如何创建对象——类 new类()
类?——创建对象的模板 类是通过抽取所有对象的共性而来
面对对象的三大特征:封装、继承、多态
封装
封装指的是隐藏对象的属性和实现细节,进对外提供公共的访问方式
优势:提高了安全性、便于使用
如何封装?里面的成员变量我们就是用private修饰符进行修饰,然后提供getter、setter方法,这样外部就不能直接访问该类的成员变量了,只能通过get、set方法访问。总的来说封装就是我们用权限修饰符private对其方法和成员变量进行修饰,不让外部随意访问。
下午
继承
当子类继承父类后,子类会拥有父类所有的非私有的成员
优势:
1.提高代码的复用性
2.让类与类之间产生关系,整因为有关系,才会具有后来的多态的特征
虽然再继承的关系中,当子类继承父类的时候,子类可以拥有父类的所有的功能,但是一定要考虑清楚类于类之间是否存在现实生活中的关系。
java中用extends表示继承的关系,如:public class Student extends Person{......} 父类:Person、子类:Student
抽象类
- 抽象类需要使用abstract修饰
- 抽象方法需要定义在抽象类中
- 被abstract修饰的方法叫抽象方法(抽象方法是没有方法主体)
- 抽象类是不能创建对象
- 抽象类既存在抽象方法,又存在非抽象方法
- 抽象类一定有子类,当子类继承抽象类的时候,必须要重写抽象类中的所有的抽象方法,否则这个子类也是一个抽象类。
/My/ 不能new对象
public abstract class My {//抽象方法public abstract void a();public void b(){System.out.println("bbbbbb");}
}/Zi/不能直接继承My
public abstract class Zi extends My{}或者,重写a方法
public class Zi extends My{@Overridepublic void a() {System.out.println("bbbb");}
}
继承+抽象类例子
/Boss/
public abstract class Boss {public abstract void work();public void fagongzi(){System.out.println("10000");}
}/Yuan1/
public class Yuan1 extends Boss{@Overridepublic void work() {System.out.println("学代码!");}
}
接口
当一个抽象类全是抽象方法的时候,这时候我们可以用更加明确的修饰符 接口interface
/Dianqi/
public interface Dianqi{void c1();void c2();
}/Chatou/
public class Chatou implements Dianqi {@Overridepublic void c1() {}@Overridepublic void c2() {}
}
多态
多种形态
一个对象可以具备多种形态
水——水蒸气——冰
猫——动物
猫 cat=new 猫();
动物 cat=new 猫 ():
优势:提高代码的复用性,提高代码的扩展性。
多态的体现——当一个对象是用父类的类型接受的子类对象。(父类引用变量可以指向子类对象)
前提条件:必须有子父类关系。
/Main/
public static void main(String[] args) {Cat cat1=new Cat(); animalsyy(cat1); //吃鱼干。。。//睡觉。。。。Dog dog1 = new Dog(); animalsyy(dog1); // 吃骨头。。。//睡觉。。。。Pig pig1 =new Pig();animalsyy(pig1); //吃糠。。。//睡觉。。。。Animal cat =new Cat();cat.sleep();//睡觉。。。。cat.eat();//吃鱼干。。。//向下转型 (强制转换)Cat cat2 =(Cat)cat;((Cat) cat).zls(); //抓老鼠。。。}public static void animalsyy(Animal an){an.eat();an.sleep();}/Dog/
public class Dog extends Animal{public void eat(){System.out.println("吃骨头。。。");}}/Cat/
public class Cat extends Animal{public void eat(){System.out.println("吃鱼干。。。");}public void zls(){System.out.println("抓老鼠。。。");}}/Pig/
public class Pig extends Animal {public void eat(){System.out.println("吃糠。。。");}
}
字符串
string类
字符串是一个常量
只要创建了一个String对象,那么就不能再修改它的值,如果一个操作要修改某个字符串的内容或长度,并不能直接做到,而是要返回一个新的String对象。
String类的常用用法(上)
public static void main(String[] args) {/* String str="abc";str="cba";System.out.println(str); //cba/* String str1="abc";String str2=new String("abc");System.out.println(str1=str2);// ==符号符号只能比较地址值,equals比较的是值abc//flase */Scanner sc=new Scanner(System.in);//扫描器System.out.println("请您输入账号");String name =sc.next();//长度大于6位,必须包含数字和字母,且不能出现其他字符if (name.length()>=6){//长度和法,继续判断格式是否合法?//求出字符中数字的个数和字母的个数int sz=0;int zm=0;//循环字符串for (int i = 0; i <name.length() ; i++) {//name.lenght(i)相当每一个字符char c = name.charAt(i);if (c>='0'&&c<='9'){//判断当前是不是数字字符sz++;}if (c>='a'&&c<='z'){//判断当前是不是字母字符zm++;}}//当循环结束后,就能得出数字和字母的个数if (sz!=0&&zm!=0&&(sz+zm)==name.length()){System.out.println("注册成功");}else{System.out.println("格式有误");}}else{System.out.println("长度不合法");}/* String str="qwertyu";//根据下表获取指定下标上的字符char c =str.charAt(3);System.out.println(c);//r//获取字符串的长度int lenght =str.length();System.out.println(lenght);//7//打印所有下标的每个字符for (int i = 0; i <str.length() ; i++) {System.out.println(str.charAt(i)); //q w e r t y u}*///substring(?,?) 截取String str="abcdefg";String newstr = str.substring(1,3);System.out.println(newstr);//bcString trim = str.trim(); System.out.println(trim);//去除左右两端空格 如 “ abc ” 去除后为“abc”}
day5还有作业,请看后续~
千锋教育实训day04————java相关推荐
- 千锋教育实训day01———Java
目录 上午 Java环境变量搭建 下载JDK8.0 JDK8.0安装 配置环境变量 测试 IDEA的安装 下午 基本数据类型 概念 数据类型转换 运算符 常用运算符分类 算术运算符 赋值运算符 关系运 ...
- 千锋教育实训day07————java
项目名称:图书管理系统 项目需求: 一级菜单: 1.登录 2.注册 3.退出 登录功能: 用户输入账号密码实现登录.最多输错三次,每次输入错误 提示剩余次数.次数使用完后退出 ...
- 千锋教育实训day06————java
上午 Object中的equals方法 /main/ public static void main(String[] args) {Stu s1 = new Stu();s1.setId(111); ...
- 千锋教育实训day05————java
上午 string 敏感词过滤 public static void main(String[] args) {String src = "马化腾,你个小可爱,还我装备.你要是换我装备,我就 ...
- 千锋教育实训day02————java
目录 上午 昨天动物园代码优化 while循环 while循环的基本语法 while循环的执行过程 while循环的注意事项 while代码使用演示 break和continue语句的使用 bre ...
- 大学python实训总结-千锋Python实训总结 学好基础才能走的更远
时间飞逝,不知不觉在千锋学习Python已经一个月了,在这不长不短的一个月时间感觉我以往的生活方式和学习方式完全被改变了,希望我能继续保持这样的求学心态和学习态度.下面这个Python实训总结就是我对 ...
- 千锋教育威哥学Java教程之Java基础学习路线
一. Java到底是什么? Java是一门全球范围内使用最广泛的,面向对象的编程语言.Java语言具有功能强大和简单易用两个特征,它作为面向对象编程语言系列的代表,极好地实现了面向对象理论,允许程序员 ...
- 千锋教育威哥学Java——爆破专栏丨Spring Security系列教程之解决Spring Security环境中的跨域问题
前言 上一章节中,一一哥 给各位讲解了同源策略和跨域问题,以及跨域问题的解决方案,在本篇文章中,我会带大家进行代码实现,看看在Spring Security环境中如何解决跨域问题. 需要更多教程,微信 ...
- 千锋教育威哥学Java—最新Java学习路线图(完整详细版) 千锋Java教学出品
需要更多教程,微信扫码即可
最新文章
- 百度Q2日进2.9个亿,新基建推动Apollo上位!李彦宏开招管培生:亲自选亲自带...
- python退出程序-Python程序退出方式小结
- 07:清泉-改(prime+堆)
- 浮点数能进行取模运算吗?(不行,暂时只能是两个整数之间)
- python多态_Python面向对象教程之多态
- 东师计算机应用基础18秋在线作业3答案,奥鹏东师计算机应用基础15秋在线作业3试卷及答案(4)...
- 好色派:日省 6 小时,神策分析是我的“菜”
- 动态规划各类问题分析——LeetCode习题精讲
- jquery --- 使用when方法等待2个异步事件结束后执行某一个函数.
- 【2018.5.19】模拟赛之一-ssl2432 面积最大【数学】
- 【PostMan】postman如何发送并发请求
- 《春夜宴桃李园序》的理解
- Redisbook学习笔记(1)字典(2)
- java电商ERP源码 跨境电商ERP源码 ERP源码
- 使用量产工具合并U盘空间一例
- 关于html的实训日志,满足你的甜蜜幻想, 《我与她的实习日志》登陆NS
- 初创公司几个投资人,各占多少股份合适
- 个人博客logo如何设计?案例合集参考
- 数据库系统概论----设计ER图
- 成功的条件:高人指点、贵人相助、小人监督、个人奋斗