- 博客(37)
- 收藏
- 关注
原创 File类、方法递归
File:代表文本IO流:读写数据1、 File 类构建对象的方式是什么样的?File 的对象可以代表哪些东西?注意· File 对象既可以代表文件、也可以代表文件夹。● File 封装的对象仅仅是一个路径名,这个路径可以是存在的,也允许是不存在。2、绝对路径和相对路径是什么意思?.绝对路径:从盘符开始.相对路径:不带盘符,默认直接到当前工程下的目录寻找文件。File file3= new File ("模块名\\ a . txt ");
2023-11-01 22:27:10 171
原创 异常---
Java 无法为这个世界上全部的问题都提供异常类来代表,如果企业自己的某种问题,想通过异常来表示,以便用异常来管理该问题,那就需要自己来定义异常类了。异常有什么作用?1、异常是用来查寻系统 Bug 的关键参考信息!2、异常可以作为方法内部的一种特殊返回值,以便诵知上层调用者底层的执行情况!//年龄非法运行时异常//必须让这个类继承自RuntimeException,才能成为异常类//重写构造器//需求:保存一个合法年龄try {
2023-10-27 22:45:24 193
原创 JDK8新特性:Stream流
1、 Stream 是什么?有什么作用?结合了什么技术?●也叫 Stream 流,是Jdk8开始新增的一套 API ( java . util . stream .*),可以用于操作集合或者数组的数据。优势: Stream 流大量的结合了 Lambda 的语法风格来编程,提供了一种更加强大更加简单的方式操作集合或者数组中的数据,代码更简洁,可读性更好。2、说说 Stream 流处理数据的步骤是什么?
2023-10-25 23:07:37 952
原创 Map集合
说说:和上次发博有大概一个月了,快一个月没有学习了,一直在焦虑,在内耗,怎么说呢,感觉现在的毕业生压力真的太大了,也怪我前两年没有学门技术,也不是不想好好学,像是被信息差困住了,到快要毕业才体会到,执着于考研,又怕不上了没有技术傍身工作也找不到,真的很后悔,没有早早学门技术,这样才有考研的底气,能给自己留条后路,也没有好好学考研的课,没把基础打好,觉得自己真的很傻,为什么等经历了才知道这些。· Map 集合的所有键是不允许重复的,但值可以重复,键和值是一一对应的,每一个键只能找到自己对应的值。
2023-10-24 18:29:48 77
原创 集合的工具类:Collections、斗地主游戏
点数:"3","4","5","6","7","8","9","10","J"," Q "," K "," A ","2"在启动游戏房间的时候,应该提前准备好54张牌接着,需要完成洗牌、发牌、对牌排序、看牌。Collections只能支持对List集合进行排序。Collections提供的常用静态方法。斗地主:发出51张牌,剩下3张做为底牌。花色:♦, ♣,♥,♠。
2023-09-28 16:36:33 170
原创 可变参数~
●特点:可以不传数据给它;可以传一个或者同时传多个数据给它;也可以传一个数组给它。.好处:常常用来灵活的接收数据。.可变参数在方法内部就是一个数组。.一个形参列表中可变参数只能有一个可变参数必须放在形参列表的最后面。就是一种特殊形参,定义在方法、构造器的形参列表里,格式是:数据类型…可变参数的特点和好处。
2023-09-27 23:18:34 50
原创 集合的并发修改异常
由于增强 for 循环遍历集合就是迭代器遍历集合的简化写法,因此,使用增强 for 循环遍历集合,又在同时删除集合中的数据时,程序也会出现并发修改异常的错误。·如果能用 for 循环遍历时:可以倒着遍历并删除;或者从前往后遍历,但删除元素后做 i -﹣操作。.使用迭代器遍历集合时,又同时在删除集合中的数据,程序就会出现并发修改异常的错误。.使用选代器遍历集合,但用迭代器自己的删除方法删除数据即可。怎么保证遍历集合同时删除数据时不出 bug?
2023-09-27 22:36:32 142
原创 List集合,ArrayList、LinkedLisk
List系列集合特点:有序、可重复、有索引ArrayListLinkeListList集合支持的遍历方式1、for循环(因为List支持索引)2、迭代器3、增强for循环4、Lambda表达式。
2023-09-26 22:11:46 130
原创 Collection集合、遍历
集合是一种容器,用来装数据,类似于数组,但集合大小可变,开发中经常使用Collection代表单列集合,每个元素(数据)只包含一个值Map代表双列集合,每个元素包含两个值(键值对)Collection是所有单列集合的祖宗接口,它的方法全部单列集合都能继承。
2023-09-26 20:08:21 52
原创 JDK8新特性:Lambda 表达式、方法引用
●注意:将来我们见到的大部分函数式接口,上面都可能会有一个@ Functionalinterface 的注解,有该注解的接口就必定是函数式接口。●如果 Lambd 表达式中的方法体代码只有一行代码,可以省略大括号不写,同时要省略分号!Lambda 表达式的省略写法(进一步简化 Lambda 表达式的写法)注意: Lambda 表达式只能简化函数式接口的匿名内部类!●如果只有一个参数,参数类型可以省略,同时()也可以省略。(被重写方法的形参列表)->{.有且仅有一个抽象方法的接口。被重写方法的方法体代码。
2023-09-25 15:52:19 155
原创 Arrays
super T > c )对数组进行排序(支持自定义排序规则)方式一:让该对象的类实现 Comparable (比较规则)接口,然后重写 compareTo 方法,自己来制定比较规则。方式二:使用下面这个 sort 方法,创建 Comparator 比较器接口的匿名内部类对象,然后自己制定比较规则。Arrays.sort()实现数组排序。但如果数组内存放的是对象,怎么排序。
2023-09-25 10:15:22 54
原创 传统时间Date、SimpleDateFormat、Calendar
把字符串时间转换为日常对象:public Date parse(String source)代表的时系统此刻时间所对应的日历,通过它可以单独获取、修改时间中的年、月、日、时、分、秒等。Calendar是可变对象,一旦修改后其对象本身所表示的时间将发生变化。代表简单日期格式化,用来把日期对象、时间毫秒值转换成我们想要的格式。Calendar抽象类。
2023-09-24 15:57:05 43
原创 API-Math、System、Runtime、BigDecimal
用于解决浮点运算时,出现结果失真的问题,处理金额等精确度高的问题时可用。工具类,里面提供了对数据进行操作的静态方法。代表程序所在的系统,也是一个工具类。代表程序的运行环境,是一个单例类。
2023-09-23 22:13:16 50
原创 StringBulider、StringBuffer、StringJoiner
StringBuilder 代表可变字符串对象,相当于是一个容器,它里面装的字符串是可以改变的,就是用来操作字符串的。●JDK8开始才有的,跟 StringBuilder 一样,也是用来操作字符串的,也可以看成是一个容器,创建之后里面的内容是可变的。●好处: StringBuilder 比 String 更适合做字符串的修改操作,效率会更高,代码也会更简洁。对于字符串相关的操作,如频繁的拼接、修改等,建议用 StringBuidler ,效率更高!
2023-09-23 17:29:22 108
原创 API、toString,equals,clone(深克隆和浅克隆)
就是 Java 帮我们已经写好一些程序,如:类、方法等,我们直接拿过来用就可以解决一些问题。1、 Object 中 toString 方法的作用是什么?2、 Object 中 equals 方法的作用是什么?.存在的意义:让子类重写,以便用于比较对象的内容是否相同。●存在的意义:让子类重写,以便返回子类对象的内容。●基本作用:默认是比较两个对象的地址是否相等。●基本作用:返回对象的字符串形式。不要重复造轮子,可以提高开发效率。为什么要学别人写好的程序?克隆,浅克隆、深克隆。
2023-09-22 20:38:27 48
原创 泛型 <>
泛型定义类、接口、方法时,同时声明了一个或者多个类型变量(如:< E >),称为泛型类、泛型接口、泛型方法,它们统称为泛型。...作用:泛型提供了在编译阶段约束所能操作的数据类型,并自动进行检查的能力!这样可以避免强制类型转换,及其可能出现的异常。泛型的本质:把具体的数据类型作为参数传给类型变量。
2023-09-22 16:16:47 109
原创 枚举类enum
5.编译器为枚举类新增了几个方法,并且枚举类都是继承: java . lang . Enum 类的,从 enum 类也会继承到一些方法。1.枚举类的第一行只能罗列一些名称,这些名称都是常量,并且每个常量记住的都是枚举类的一个对象。2·枚举类的构造器都是私有的(写不写都只能是私有的),因此,枚举类对外不能创建对象。4·枚举类中,从第二行开始,可以定义类的其他各种成员。3·枚举都是最终类,不可以被继承。
2023-09-21 20:39:11 43
原创 内部类~~
外部类名.内部类名 对象名= new 外部类(…就是一种特殊的局部内部类,所谓匿名,就是指程序员不需要为这个类声明名字。·就是类中的一个普通成员,类似前面我们学过的普通成员变量、成员方法。.外部类名.内部类名对象名= new 外部类.内部类(.…●可以直接访问外部类的静态成员,不能直接访问外部类的实例成员。.可以拿到当前外部类对象,格式是:外部类名. this。2.成员内部类的实例方法中,访问其他成员有啥特点?1.什么是静态内部类?1.成员内部类是什么?.可以直接访问外部类的实例成员、静态成员。
2023-09-21 19:35:03 124
原创 接口interface
一个类我们说可以实现多个接口,同样,一个接口也可以被多个类实现的。.一个类可以实现多个接口(接口可以理解成干爹),实现类实现多个接口,必须重写完全部接口的全部抽象方法,否则实现类需要定义成抽象类。●可以解决类单继承的问题,通过接口,我们可以让一个类有一个亲爹的同时,还可以找多个干爹去扩展自己的功能。注意:接口不能创建对象;3、一个类继承了父类,又同时实现了接口,父类中和接口中有同名的默认方法,实现类会优先用父类的。4、一个类实现了多个接口,多个接口中存在同名的默认方法,可以不冲突,这个类重写该方法即可。
2023-09-20 22:13:19 132 1
原创 抽象类abstract、模板方法
两种主要的应用场景,一种是:用抽象类,我们可以把子类中相同的代码,包括方法签名都抽上来,这样能更好的支持多态,以提高代码的灵活性。·一种是:反过来用,我们不知道系统未来具体的业务实现时,我们可以先定义抽象类,将来让子类去继承实现,以方便系统的扩展。.在里面定义2个方法,一个是模板方法:放相同的代码里,一个是抽象方法:具体实现交给子类完成。一个类继承抽象类,必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类。抽象类中可以不写抽象方法,但有抽象方法的类一定是抽象类。1、抽象类、抽象方法是什么样的?
2023-09-20 16:24:39 92 1
原创 多态、类型转换
●运行时,如果发现对象的真实类型与强转后的类型不同,就会报类型转换异常(ClassCastException )的错误出来。.使用 instanceof 关键字,判断当前对象的真实类型,再进行强转。●存在继承/实现关系就可以在编译阶段进行强制类型转换,编译阶段不会报错。●多态是对象、行为的多态, Java 中的属性(成员变量)不谈多态。●多态是在继承/实现情况下的一种现象,表现为:对象多态、行为多态。自动类型转换:父类变量名= new 子类();强制类型转换:子类变量名=(子类)父类变量。
2023-09-19 23:34:56 67
原创 继承、Object类、方法重写、子类构造器、同类构造器
●当子类觉得父类中的某个方法不好用,或者无法满足自己的需求时,子类可以重写一个方法名称、参数列表一样的方法,去覆盖父类的这个方法,这就是方法重写。),指定去调用父类的有参数构造器。对象能直接访问什么成员,是由子父类这多张设计图共同决定的,这多张设计图对外暴露了什么成员,对象就可以访问什么成员。●默认情况下,子类全部构造器的第一行代码都是 super ()(写不写都有),它会调用父类的无参数构造器。8、如果子父类中,出现了重名的成员,会优先使用子类的,如果此时一定要在子类中使用父类的怎么办?
2023-09-19 22:04:51 35
原创 单例设计模式
定义一个类变量存储类的一个对象;提供一个类方法返回对象。1.什么是设计模式,设计模式主要学什么?单例模式解决了什么问题?在这些业务场景下,使用单例模式,可以避免浪费内存。.提供一个类方法,保证返回的是同一个对象。饿汉式单例的特点是什么?·设计模式就是具体问题的最优解决方案。·在获取类的对象时,对象已经创建好了。.任务管理器对象、获取运行时对象。3.单例有啥应用场景,有啥好处?●定义一个类变量用于存储对象。·确保一个类只有一个对象。拿对象时,才开始创建对象。.确保一个类只有一个对象。●把类的构造器私有。
2023-09-19 16:44:35 37
原创 静态代码块、实例代码块
作用:和构造器一样,都是用来完成对象的初始化的,例如:对实例变量进行初始化赋值。>特点:类加载时自动执行,由于类只会加载一次,所以静态代码块也只会执行一次。·代码块是类的5大成分之一(成员变量、构造器、方法、代码块、内部类)。>特点:每次创建对象时,执行实例代码块,并在构造器前执行。>作用:完成类的初始化,例如:对类变量的初始化赋值。>格式: static ()
2023-09-19 11:23:04 105
原创 数据结构课设 ATM机系统
让用户输入登录的卡号,先判断卡号是否正确,如果不正确要给出提示。如果卡号正确,再让用户输入账户密码,如果密码不正确要给出提示,如果密码也正确,则给出登录成功的提示。2.接下来让用户输入对方卡号,判断对方账户是否存在,账户如果存在,还需要认证对方账户的户主姓氏。用户开户功能:就是新增一个账户,也就是往系统的账户集合中添加一个账户对象。2.如果确定,要判断用户的账户中是否有钱,有则不允许销户,并回到操作界面。就是用户为自己的账户存钱,存钱后更新账户的余额即可。1.自己账户是否有钱,系统中是否有其他账户。
2023-09-18 20:57:11 270
原创 API、包
3.如果当前程序中,要调用 Java 提供的程序,也需要先导包才可以使用;2.如果当前程序中,要调用其他包下的程序,则必须在当前程序中导包,才可以访问!4.如果当前程序中,要调用多个不同包下的程序,而这些程序名正好一样,此时默认只能导入一个程序另一个程序必须带包名访问。1.如果当前程序中,要调用自己所在包下的其他程序,可以直接调用。思路二:嵌套,先Random(3),随机三种类型分别代表0~9, A~Z, a~z;●包是用来分门别类的管理各种不同程序的,类似于文件夹,建包有利于程序的管理和维护。
2023-09-14 18:22:23 143 1
原创 封装、实体类javabean
成员变量必须私有,且要为他们提供 get 、 set 方法;必须有无参数构造器。.仅仅只是一个用来保存数据的 java 类,可以用它创建对象,保存某个事物的数据。就是用类设计对象处理某一个事物的数据时,应该把要处理的数据,以及处理这些数据的方法,设计到一个对象中去。.实体类对应的是软件开发里现在比较流行的开发方式,数据和数据的业务处理相分离。面向对象的三大特征:封装、继承、多态。封装的设计规范是什么样的?2.实体类有啥应用场景?合理隐藏,合理暴露。
2023-09-13 18:17:15 137
原创 引用类型、方法重载
1.按格式打印数组(考虑情况需全面{空数组}{长度为零},三元运算符,代码优雅)在无返回值的方法中,return可直接跳出并结束当前方法的执行。continue:结束当前循环,进入下次执行。break:跳出并结束当前所在循环的执行。return:跳出并结束当前方法的执行。2.判断两数组是否完全相同。
2023-09-12 17:12:27 26
原创 java基础
表达式类型只能是byte,short,int,char, JDK5开始支持枚举,JDK7开始支持String,不支持double,float,long。//byte-->short-->int(4字节)-->long-->float-->double。//跳过当前循环,进入下次循环,只能在循环中使用。扩展赋值运算符 += -= *= /= %= 含强制类型转换。//先加再用i==2,j==2。//先用再加n==1,m==2。//a = (a的类型)a+b。
2023-09-07 23:05:44 33 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人