- 博客(39)
- 收藏
- 关注
原创 Java-抽象类(abstract)附加油站充卡案例
目录一、抽象类概述1.定义2.注意事项3.抽象的使用场景(基本作用)二、抽象类的案例1.系统需求2.分析实现3.代码展示4.运行截图一、抽象类概述1.定义(1)在java中abstract是抽象的意思,可以修饰类、成员方法。(2)abstract修饰类,这个类就是抽象类;修饰方法,这个方法就抽象方法。代码写法:修饰符 abstract class 类名{ 修饰符 abstract 返回值类型 方法名称(形参列...
2022-04-29 17:51:25 2515
原创 Java-权限修饰符
目录一、权限修饰符定义、分类和作用范围1.定义2.分类和作用范围3.代码写法二、不同成员所用的权限修饰符一、权限修饰符定义、分类和作用范围1.定义(1)权限修饰符:是用来控制一个成员能够被访问的范围。(2)可以修饰成员变量,方法,构造器,内部类,不同权限修饰符修饰的成员变量能够被访问的范围将受到限制。2.分类和作用范围权限修饰符:有四种作用范围,由小到大分别是(private < 缺省(没有修饰符) < protected < public)
2022-04-29 17:01:30 2530
原创 Java-this调用本类其他构造器案例
案例需求:(1)在学生信息登录系统中,后台创建对象去装数据的时候,如果用户没有输入学校,则默认使用“苏北皇家理工学院”。(2)如果用户输入了学校则使用用户输入的学校信息。学生类:public class Student{ private String name; private String schoolName; public Student(){} /* 如果学生不填写学校,默认这个对象的学校是霍格沃兹魔法学院 */ .
2022-04-29 11:58:25 866
原创 关于java的方法重写和@Override重写注解
目录一、方法重写的概述及其应用场景1.概述2.应用场景3.案例演示二、@Override重写注解1.定义三、方法重写注意事项和要求一、方法重写的概述及其应用场景1.概述在继承体系中,子类出现了和父类一模一样的方法说明,我们就称子类这个方法是重写的方法。2.应用场景当子类需要父类的功能,但父类的该功能不能完全满足自己的需求时,子类可以重写父类的方法。3.案例演示 一台旧手机只有最基本的打电话、发信息功能;一台新手机需要在能打电话的基础上支.
2022-04-27 11:46:43 3116
原创 反证法证明为什么Java不支持多继承
假设Java支持多继承,定义一个父类A.public class 父类A{ public void method(){ System.out.println("复习数学");}}再定义一个父类B.public class 父类B { public void method(){ System.out.println("复习语文");}}最后定义一个子类C.public class 子类C extends 父类A,父类B {
2022-04-25 11:45:20 200
原创 Java案例-继承(extends)的设计规范
需求:在某教育资源管理系统中,存在学生、老师角色会进入系统。分析:学生信息和行为(名称,年龄,所在班级,查看课表,填写听课反馈)老师信息和行为(名称,年龄,部门名称,查看课表,发布问题)定义角色类作为父类包含属性(名称,年龄),行为(查看课表)定义子类:学生包含属性(所在班级),行为(填写听课反馈)定义子类:老师包含属性(部门名称),行为(发布问题)人类(父类):public class People { private String name; pri
2022-04-25 11:33:43 384
原创 饿汉单例模式&懒汉单例模式(java)
一、饿汉单例模式一句话总结:在类获取对象的时候,对象已经提前为你创建好了。设计步骤:1.定义一个类把构造器私有2.定义一个静态变量存储一个对象饿汉单例类:public class SingleInstance { /* 饿汉单例是在获取对象前,对象已经提前准备好了一个; 这个对象只能是一个,所以定义静态成员变量记住。 */ public static SingleInstance instance = new SingleI
2022-04-24 19:26:50 565
原创 Java-静态代码应用案例(斗地主)
案例:斗地主游戏(事先发牌)需求:在启动游戏房间之前,应该提前准备好54张牌,后续才可以直接使用这些这些牌的数据。分析:(1)该房间只需要一副牌(2)定义一个静态的ArrayList集合存储54张牌对象,静态的集合只会加载一份(3)在启动游戏房间之前,应该将54张牌初始化好(4)当系统启动的同时需要准备好54张牌的数据,此时可以用静态代码块完成代码展示: /** 1.定义一个静态的集合,这样这个集合只会加载一个,因为当前房间也只需要一副牌 *.
2022-04-24 19:13:26 2493
原创 Java-static应用知识: 代码块
目录一、代码块的分类、作用1.概述2.分类二、静态代码的应用案例案例:斗地主游戏(事先发牌)一、代码块的分类、作用1.概述代码块是类的五大成分(成员变量、构造器、方法、代码块、内部类)之一,定义在类中方法外。在Java类下,使用花括号{}括起来的代码被称为代码块。2.分类(1)静态代码块① 格式: static{}② 特点:需要通过static关键字修饰,随着类的加载而加载(优先加载),并且自动触发,只执行一次。③ 使用场景:在类加载的时候做一些静态数
2022-04-24 18:03:56 2168
原创 Java-案例练习:定义数组工具类
需求:在实际开发中,经常会遇到一些数组使用的工具类。请按照如下要求编写一个数组的工具类:ArraysUtils①::我们知道数组对象直接输出的时候是输出对象的地址的,而项目中很多地方都需要返回数组的内容,请在ArraysUtils中提供一个工具类方法toString,用于返回整数数组的内容,返回的字符串格式如:[10,20,50,34,100](只考虑整数数组,且只考虑一维数组)②:定义一个测试类TestDemo,调用该工具类的工具方法,并返回结果。工具类: priv...
2022-04-23 23:44:15 1709
原创 Java-static应用知识:工具类(util)
目录工具类是什么?举个栗子1.验证码例子工具类的好处工具类的其他要求工具类是什么?类中都是一些静态方法,每个方法都是以完成一个共同的功能为目的,这个类用来是给系统开发人员共同使用的。这也是为什么Java开发人员被戏称为API调用工程师的原因。举个栗子比如在一个企业的管理系统中,通常需要一个系统的很多业务使用验证码进行防刷新等安全控制。那么就会出现一个问题:同一个功能多处开发,会出现代码重复度过高的情况。这个时候就能体现工具类的用处了。1.验证码例子工具类:
2022-04-23 23:29:01 1021
原创 Java-String类常用API:遍历,替换,截取,分割操作
1.public int length():获取字符长度String name = "我爱你中国love";System.out.println(name.length);运行截图:2.public char charAt(int index):获取某个索引位置处的字符char ch = name.charAt(1);//获取索引1位置的字符System.out.println(ch);运行截图:3.遍历字符中每个字符的长度System.out.println(
2022-04-15 11:19:33 1270
原创 Java-学生信息系统的数据搜索功能
需求:后台程序需要存储学生信息并展示然后要提供按照学号搜索学生信息的功能分析:① 定义一个Student类,定义ArrayList集合存储学生对象信息并遍历展示出来② 提供一个方法,可以接收ArrayList集合,和要搜索的学号,返回搜索的学生对象并展示.③ 使用死循环,让用户可以不停的搜索学号 姓名 年龄 班级 20180302 叶孤城 23 护理一班 20180303 东方不败 23 推拿二班 20180304
2022-04-14 12:15:57 1868
原创 Java面向对象:存储自定义类型的对象
需求:某影院系统需要在后台存储三部影片,然后依次展示出来分析:① 定义一个电影类,定义一个集合存储电影对象② 创建3个对象,封装相关数据,把3个对象存入到集合中去③ 遍历集合中的对象,输出相关信息电影类public class Movie { private String name; private double score; private String actor; public Movie(){ } public Mov
2022-04-14 12:06:39 1661
原创 Java-ArrayList集合遍历并删除元素报错解决方法
案例:遍历并删除元素需求:① 某个班级的考试在系统上进行,成绩大致为:98, 77, 66, 89, 79, 50, 100② 现在需要把先把成绩80分以下的数据去掉分析:① 定义ArrayList集合存储多名学生的成绩② 遍历集合中每个元素,如果元素值低于80分,去掉它1.先创建一个ArrayList集合存储几位学生的成绩ArrayList<Integer> scores = new ArrayList<>();scores.add(98);s
2022-04-13 19:56:57 1468
原创 Java面向对象-ArrayList集合常用方法
先创建一个集合对象,在里面添加五个字符串元素ArrayList<String> list = new ArrayList<>();list.add("Java");list.add("Java");list.add("MySQL");list.add("MyBatis");list.add("HTML");1.public E get(int index),获取某个索引位置处的元素值String e = list.get(3);//返回索引3处的值Sys
2022-04-13 19:24:44 352
原创 Java面向对象-String类手机号码屏蔽
需求:以字符串形式从键盘接收一个手机号,将中间四位号码屏蔽,最终效果为:分析:① 键盘录入一个字符串,用Scanner实现② 截取字符串前三位,截取字符串后四位③ 将截取的两个字符串,中间加上****进行拼接,输出结果即可.代码展示:public static void main(String[] args){ //键盘录入一个手机号 Scanner sc = new Scanner(System.in); System.out.println("请
2022-04-13 11:08:46 807
原创 Java面向对象-String类模拟用户登录功能
需求:模拟用户登录功能,最多只给三次机会分析:① 系统后台定义好正确的登录名称和密码② 使用循环控制三次,让用户输入正确的登录名和密码,判断是否登录成功,登录成功则不再进行登录,登录失败给出提示,并让用户继续登录代码展示:import java.util.Scanner;public static void main(String[] args) { //1.定义正确的登录名称和密码 String okLoginName = "taytay";
2022-04-12 23:59:48 727
原创 Java面向对象-String类开发验证码功能
需求:随机产生一个5位的验证码,,每位可能是大写字母,小写字母,数字分析:① 定义一个String类型的变量存储 a-z, A-Z, 0-9的全部字符② 循环5次,随机一个范围内的索引,获取对应字符连接起来即可代码展示:import java.util.Random; public static void main(String[] args) { //1.定义可能出现的字符信息 String datas = "abcdefghijklnmopq
2022-04-12 23:55:04 238
原创 Java面向对象编程案例-模仿电影信息展示
需求:使用面向对象编程,模仿电影信息展示分析:① 一部电影一个java对象,需要先设计电影类,在创建电影对象② 三部电影对象可以采用数组存储起来③ 依次遍历数组中的每个电影对象,取出器信息进行展示代码展示:/* 电影类*/import java.awt.*;public class Movie { //1.成员变量 private String name; private double score; private String
2022-04-12 00:17:02 2495
原创 Java面向对象编程-模拟购物车模块
总体架构需求:模拟购物车模块功能,需要实现添加商品到购物车中去,同是需要提供修改商品的购买数量,结算商品价格等功能分析:① 购物车中的美国商品都是一个对象,需要定义一个商品类② 购物车本身也是一个对象:可以使用数组对象代表它③ 完成界面架构,让用户选择操作的功能添加商品到购物车,查看购物车信息需求:让用户输入商品信息,并加到购物车中午,且可立即查看购物车信息分析:① 需要让用户录入商品信息,创建商品对象封装商品信息② 并把商品对象加入到购物车数组中去③ 查
2022-04-11 18:32:46 895 1
原创 Java基础案例-数字加密
需求:某系统的数字密码:比如1989,采用加密方式进行传输,规则如下: 先得到每位数,然后每位数加上5,再对10取余,最后将所有数字反转,得到一串新数.分析:① 将每位数存到数组中去,遍历数组中的每位数据按照规则进行更改,把更改后的数据重新存入到数组中去② 将数组的前后元素进行交换,数组中的最终元素就是加密后的结果.代码展示:import java.util.Scanner;public static void main(String[] args){ System.o
2022-04-10 11:46:44 831
原创 Java基础案例-模拟双色球系统(注释详解)
随机一组中奖号码分析:1. 中奖号码由6个红球和1个蓝球组成(注意:6个红球要求不能重复)2.可以定义方法用于返回一组中奖号码(7个数据),返回的形式是一个整型数组.用户输入一组双色球号码分析:1.定义一个方法,该方法可以录入用户输入的6个红球和1个蓝球号码2.该方法最终需要返回一个数组,数组中就是用户录入的号码(7位)判断中奖情况分析:1.定义一个方法,可以接收中奖号码的数组,用户选号的数组2.根据命中的红球数和蓝球数判断最终的中奖情况并输出详情和中奖金额代码展示:
2022-04-09 22:09:20 1229
原创 Java基础-验证码
需求:定义一个方法实现随机产生一个任意位数的验证码,每位可能是数字,大写英文字母,小写英文字母.分析:① 定义一个方法,生成验证码返回:方法参数是位数,方法的返回值类型时String② 在方法内使用for循环生成指定位数的随机字符并连接起来③ 把连接好的随机字符作为一组验证码进行返回代码展示:import java.util.Random;public static void main(String[] args){ //调用获取验证码的方法得到一个随机的
2022-04-09 16:02:38 307
原创 Java基础-数组元素复制
需求:把一个数组的元素复制到另一个新数组中去分析:1. 需要动态初始化一个数组,长度与原数组一样2. 遍历原数组的每个元素,依次赋值给新数组3. 输出两个数组的内容代码展示:public static void main(String[] args){ int[] arr1 = {12,23,34,45,56}; //动态初始化一个数组与arr1相等 int[] arr2 = new int[arr.length]; //调用复制数组方法
2022-04-09 15:36:02 372
原创 Java基础案例-找素数
需求:判断101-200之间有多少个素数,并输出所有素数说明:素数: 如果除了1和它本身以外,不能被其他正整数整除,就叫素数分析:① 101-200之间的数据可以采用循环依次拿到;每拿一个数,判断该数是否为素数.② 半段规则是: 从2开始遍历到该数的一半的数据,看是否有数据可以整除它,有则不是素数,没有则是素数.代码展示:public static void main(String[] args){ 1.定义一个循环,找到101-200之间的素数输出 fo
2022-04-08 23:40:16 381
原创 Java基础案例-买飞机票
需求:① 机票价格按照淡季旺季,头等舱和经济舱收费,输入机票原价,月份和头等舱或经济舱② 机票最终优惠价格的计算方案如下: 旺季(5-10月)头等舱九折,经济舱八五折;淡季(11月到来年4月)头等舱七折,经济舱六五折.分析:① 键盘录入技术机票的原价,仓位类型,月份信息,调用方法返回机票最终的优惠价格② 方法内部应该先使用if判断月份是淡季还是旺季,然后使用switch分支判断是头等舱还是经济舱.代码展示:import java.util.Scanner;public st
2022-04-08 23:25:39 1112
原创 java方法案例-比较两个数组是否一样
需求:如果两个数组的类型,元素个数,元素顺序和内容是一样的,我们就认为这两个数组是一模一样的,请使用方法完成:能够判断任意两个整型数组是否一样,并返回true或者false分析:1. 定义方法接收两个整型数组.2. 在方法内部完成判断的逻辑,并返回布尔结果.(返回值类型: boolean)代码展示:public static void main(String[] args){ int[] arr1 = {10,23,45,34}; int[] arr1 = {1
2022-04-08 21:25:34 1849
原创 java方法案例:判断整数是奇数还是偶数
需求:拿一个整数,然后调用方法,把整数交给方法,在方法中输出该数为奇数还是偶数.分析:1.根据题意编写方法2.方法内部使用if语句,并输出对应的结论代码展示:public static void main(String[] args){ check(number: 11); System.out.println("------------------------"); check(number: 8);}public static void chec
2022-04-08 15:23:48 3102
原创 Java-方法的参数传递案例:打印数组内容
需求:设计一个方法用于输出任意整型数组的内容,要求输出成如下格式:"该数组内容为: [10, 20, 30, 40, 50]"分析:1. 定义一个方法,要求该方法能够接收数组,并输出数组内容.2. 定义一个静态初始化数组,调用该方法,并传入该数组代码展示:public static void main(String[] args){ int[] ages = {10, 20, 30, 40, 50};//定义一个静态初始化数组 //调用方法 prin
2022-04-08 12:11:46 955
原创 Java数组排序之冒泡排序
1.冒泡排序的思想① 从头开始两两比较,把较大的元素与较小的元素进行交换② 每轮把当前最大的元素存入到数组当前的末尾2.冒泡排序的实现步骤① 定义一个外部循环,控制总共要冒几轮(轮数: 数组长度 - 1)② 定义一个外部循环,控制每轮依次往后比较几个位置.(位置数: 数组长度 - i - 1)图片展示:代码展示:public static void main(String[] args){ int[] arr = {5, 2, 3, 1};//定义一个数组..
2022-04-07 18:00:03 839
原创 Java数组案例-随机排名
需求:某公司开发部5名开发人员,要进行项目进展汇报演讲,现在采取随机排名后进行汇报.请先依次录入5位员工的工号,然后展示出一组随机的排名顺序.分析:① 使用数组把五位员工的工号数据存储起来② 依次遍历数组中的元素,随机一个索引的数据,让当前与该索引位置的元素进行交换.代码展示:...
2022-04-07 15:23:00 1871 1
原创 Java-数组案例:猜数字游戏
需求:开发一个幸运小游戏,游戏规则如下:游戏后台随机生成1-20之间的五个数(无所谓是否重复),然后让大家来猜数字:① 未猜中提示:"未命中",并继续猜测② 猜中提示:"运气不错,猜中了",并输出该数据第一次出现的位置,且输出全部5个数据,最终结束本游戏.分析:(1) 随机生成5个1-20之间的数据存储起来==>使用数组(2) 定义一个死循环,输入数据猜测,遍历数组,判断数据是否在数组中,如果在,进行对应提示并结束死循环;如果没有猜中,提示集训猜测直到猜中为止.代码
2022-04-06 23:45:53 2280 3
原创 Java-Random生成随机数案例:猜数字游戏
需求:随机生成一个1-100之间的数据,提示用户猜测,猜大提示过大,猜小提示过小,直到猜中结束游戏.分析:① 随机生成一个1-100之间的数据② 使用死循环让用户不断猜测并提示用户范围,猜大提示过大,猜小提示过小,猜中使用break结束游戏.public static void main(String[] args){ //1.随机生成一个1-100之间的幸运数字(0-99) + 1 Random r = new Random();//创建对象 int data
2022-04-05 23:45:24 4151
原创 Java基础案例:折纸高于珠穆朗玛峰(while循环)详解
需求:世界最高山峰珠穆朗玛峰(8848.86米 = 8848860毫米),假如有一张足够大的纸,它的厚度是0.1毫米.请问,折叠多少次可以折成山峰的高度?思路:这种不知道循环多少次的情况可以用while循环实现分析:① 定义变量存储珠穆朗玛峰的高度和纸张的厚度.② 使用while循环,循环条件是(纸张厚度 < 山峰高度),内部控制纸张折叠.每折叠一次,纸张厚度变为原来的两倍,循环外定义计数变量count,每折叠一次该变量加1. public static voi
2022-04-05 20:47:17 3327
原创 Java基础案例:查找水仙花数(for循环)详解
需求:在控制台输出所有的"水仙花数",水仙花数必须满足以下俩个要求:1.水仙花数是一个三位数(100-999)2.水仙花数的个位,十位,百位的数字立方和等于原数分析:① 定义一个for循环"100一直到999".② 每次访问到数据后,提取该数据的个十百位.③ 使用if判断:个位,十位,百位的数字立方和是否等于原数,等于则输出该数据.水仙花数:153 370 371 407//需求:找出水仙花数并输出public static void main(String[] args
2022-04-05 20:29:33 2759
原创 关于JRE和JDK
1.JRE(Java Runtime Environment)·是java程序的运行时环境,包括JVM和运行时所需的核心类库.·我们想要运行一个已有的java程序,只需要安装JRE即可.·JVM能够保证java程序的跨平台.2.JDK(Java Development Kit)·是java程序的开发工具包,包含JRE和开发人员使用的工具.·其中的开发工具包括:编译工具(javac.exe)和运行工具(java.exe)·我们想开发一个全新的java程序,必须安装JDK.3.关
2022-04-04 17:14:15 180
原创 关于Java中的switch分支问题
1.switch分支的简单概括:就是匹配条件去执行它的分支,适合做值匹配的分支选择,总体结构清晰,合适规整良好.2.switch语句的格式:switch(表达式){case 值1:执行代码...;break;case 值2:执行代码...;break; ......case 值n-1:执行代码...; break;default: 执行代码......
2022-04-04 16:48:11 591
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人