- 博客(126)
- 收藏
- 关注
原创 Java--IO(字符流)
当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。所以Java提供一些字符流类,以字符为单位读写数据,专门用于处理文本文件。
2025-12-19 07:00:00
522
原创 Java--IO(字节流)
当你编辑一个文本文件,忘记了 ctrl+s 可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为 输入input和 输出output,即流向内存是输入流,流出内存的输出流。Java中I/O操作主要是指使用 java.io 包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据。
2025-12-14 07:00:00
718
原创 Java--File类综合练习
定义一个方法找某一个文件夹中,是否有以avi结尾的电影(暂时不需要考虑子文件夹)需求:统计一个文件夹中每种文件的个数并打印。 找到电脑中所有以avi结尾的电影。(需要考虑子文件夹) 在当前模块下的aaa文件夹中创建一个a.txt文件。需求: 如果我们要删除一个有内容的文件夹。 需求:统计一个文件夹的总大小。1.先删除文件夹里面所有的内容。
2025-12-08 07:00:00
274
原创 Java--自定义异常
我们说了Java中不同的异常类,分别表示着某一种具体的异常情况,那么在开发中总是有些异常情况是SUN没有定义好的,此时我们根据自己业务的异常情况来定义异常类。,例如年龄负数问题,考试成绩负数问题。在上述代码中,发现这些异常都是JDK内部定义好的,但是实际开发中也会出现很多异常,这些异常很可能在JDK中没有定义过,例如年龄负数问题,考试成绩负数问题.那么能不能自己定义异常呢在开发中根据自己业务的异常情况来定义异常类.自定义一个业务逻辑异常:。一个登陆异常类。自定义一个编译期异常: 自定义类 并继承于。
2025-11-27 07:00:00
128
原创 Java--异常
异常,就是不正常的意思。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行.异常机制其实是帮助我们程序中的问题,异常的根类是与平时所说的异常指:打印异常的详细信息,包含了异常的类型,异常的原因,还包括异常出现的位置,在开发和调试阶段,都得使用printStackTrace。:获取发生异常的原因。提示给用户的时候,就提示错误原因。
2025-11-24 07:00:00
999
原创 Java--方法引用
那我们又是如何使用已经存在的方案? Lambda表达式被类的实例方法替代的时候, 第一个参数作为调用者, 后面的参数全部传递给该方法作为参数。Lambda表达式被对象的实例方法替代的时候,它的形式参数全部传递给该方法作为参数。Lambda表达式被类方法替代的时候,它的形式参数全部传递给静态方法作为参数。定义一个测试类(MyStringDemo),在测试类中提供两个方法。定义一个测试类(PrinterDemo),在测试类中提供两个方法。定义一个类(PrintString),里面定义一个方法。
2025-11-20 07:00:00
1007
原创 Java--Stream流练习
演员类Actor已经提供,里面有一个成员变量,一个带参构造方法,以及成员变量对应的get/set方法。现在有两个ArrayList集合,分别存储6名男演员名称和6名女演员名称,要求完成如下的操作。
2025-11-17 07:00:00
165
原创 Java--Stream流
中间操作的意思是,执行完此方法之后,Stream流依然可以继续执行其他操作。终结操作的意思是,执行完此方法之后,Stream流将不能再执行其他操作。对数据使用Stream流的方式操作完毕后,可以把流中的数据收集到集合中。通过Stream接口的静态方法of(T…values)生成流。通过Arrays中的静态方法stream生成流。工具类Collectors提供了具体的收集方式。使用默认方法stream()生成流,把Map转成Set集合,间接的生成流。按照下面的要求完成集合的创建和遍历。
2025-11-11 07:00:00
697
原创 集合进阶-06-HashMap、TreeMap集合
HashMap底层是哈希表结构的依赖hashCode方法和equals方法保证键的唯一如果键要存储的是自定义对象,需要重写hashCode和equals方法TreeMap底层是红黑树结构依赖自然排序或者比较器排序,对键进行排序如果键存储的是自定义对象,需要实现Comparable接口或者在创建TreeMap对象时候给出比较器排序规则。
2025-11-09 07:00:00
135
原创 集合进阶-05-Map集合
Map集合概述:interface Map<K,V> K: 键的类型:V:值的类型双列集合,一个键对应一个值键不可以重复,值可以重复//创建集合对象//V put(K key, V value) 将指定的值与该映射中的指定键相关联map.put("itheima001","林青霞");map.put("itheima002","张曼玉");map.put("itheima003","王祖贤");map.put("itheima003","柳岩");//输出集合对象。
2025-11-06 07:00:00
367
原创 集合进阶-04-HashSet集合
存储字符串并遍历:1.3 哈希值 哈希值简介 是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值如何获取哈希值 Object类中的public int hashCode():返回对象的哈希码值哈希值的特点案例需求:代码实现:学生类测试类 总结 HashSet集合存储自定义类型元素,要想实现元素的唯一,要求必须重写hashCode方法和equals方法
2025-11-01 07:00:00
146
原创 集合进阶-03-泛型、Set集合
泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制把运行时期的问题提前到了编译期间避免了强制类型转换<类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如: <E> <T><类型1,类型2…>: 指定多种类型的格式,多种类型之间用逗号隔开.例如: <E,T> <K,V>不可以存储重复元素没有索引,不能使用普通for循环遍历不可以存储重复元素没有索引可以将元素按照规则进行排序TreeSet():根据其元素的自然排序进行排序。
2025-10-29 07:00:00
831
原创 Java-List集合的实现类
底层是数组结构实现,查询快、增删慢。 底层是链表结构实现,查询慢、增删快。LinkedList集合。ArrayList集合。
2025-10-25 07:00:00
211
原创 集合进阶-02-List集合
List集合的概述有序集合,这里的有序指的是存取顺序用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素与Set集合不同,列表通常允许重复的元素List集合的特点存取有序可以重复有索引。
2025-10-22 07:00:00
194
原创 集合进阶-01-Collection集合
Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现创建Collection集合的对象多态的方式具体的实现类ArrayListCollection集合常用方法方法名说明添加元素从集合中移除指定的元素根据条件进行移除清空集合中的元素判断集合中是否存在指定的元素判断集合是否为空int size()集合的长度,也就是集合中元素的个数。
2025-10-19 07:00:00
294
原创 常见排序算法
插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过创建有序序列和无序序列,然后再遍历无序序列得到里面每一个数字,把每一个数字插入到有序序列中正确的位置。快速排序的名字起的是简单粗暴,因为一听到这个名字就知道它存在的意义,就是快,而且效率高,它是处理大数据最快的排序算法之一了。将0索引的元素到N索引的元素看做是有序的,把N+1索引的元素到最后一个当成是无序的。
2025-10-16 07:00:00
681
原创 常见查找算法-02
更多的是先计算出当前数据的哈希值,用哈希值跟数组的长度进行计算,计算出应存入的位置,再挂在数组的后面形成链表,如果挂的元素太多而且数组长度过长,我们也会把链表转化为红黑树,进一步提高效率。但是实际上,我们一般不会采取这种方式,因为这种方式容易导致一块区域添加的元素过多,导致效率偏低。分块查找适用于数据较多,但是数据不会发生变化的情况,如果需要一边添加一边查找,建议使用哈希查找。汲取了顺序查找和折半查找各自的优点,既有动态结构,又适于快速查找。哈希查找是分块查找的进阶版,适用于数据一边添加一边查找的情况。
2025-10-14 07:00:00
140
原创 常见查找算法-01
但是排序之后,会改变原有数据的顺序,查找出来元素位置跟原来的元素可能是不一样的,所以排序之后再查找只能判断当前数据是否在容器当中,返回的索引无实际的意义。从数据结构线的一端开始,顺序扫描,依次将遍历到的结点与要查找的值相比较,若相等则表示查找成功;然后就会发现,随着斐波那契数列的递增,前后两个数的比值会越来越接近0.618,利用这个特性,我们就可以将黄金比例运用到查找技术中。其实就是因为方便,简单,但是如果能在二分查找的基础上,让中间的mid点,尽可能靠近想要查找的元素,那不就能提高查找的效率了吗?
2025-10-12 07:00:00
795
原创 算法小练习
自己实现parseInt方法的效果,将字符串形式的数据转成整数。要求:字符串中只能是数字不能有其他字符最少一位,最多10位日不能开头。 判断任意的一个年份是闰年还是平年要求:用JDK7和JDK8两种方式判断提示:二月有29天是闰年一年有366天是闰年。 定义一个方法自己实现toBinaryString方法的效果,将一个十进制整数转成字符串表示的二进制。 键盘录入一些1~10日之间的整数,并添加到集合中。 请使用代码实现计算你活了多少天,用JDK7和JDK8两种方式完成。
2025-10-10 07:00:00
145
原创 常用API-06-包装类
基本类型对应的包装类(位于java.lang包中)byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean。
2025-10-07 07:00:00
902
原创 常用API-04-Date类,SimpleDateFormat类
java.text.SimpleDateFormat 是日期/时间格式化类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。格式化:按照指定的格式,把Date对象转换为String对象。解析:按照指定的格式,把String对象转换为Date对象。
2025-10-01 07:00:00
245
原创 常用API-03-正则表达式
.” : 匹配任何字符。“\d”:任何数字[0-9]的简写;“\D”:任何非数字[^0-9]的简写;“\s”: 空白字符:[ \t\n\x0B\f\r] 的简写“\S”: 非空白字符:[^\s] 的简写“\w”:单词字符:[a-zA-Z_0-9]的简写“\W”:非单词字符:[^\w]//.表示任意一个字符System.out.println("你".matches(".."));//falseSystem.out.println("你".matches("."));
2025-09-28 07:00:00
245
原创 正则表达式练习
验证座机电话号码 020-2324242 02122442 027-42424 0712-3242434。请编写正则表达式验证用户名是否满足要求。要求:大小写字母,数字,下划线一共4-16位。18位,前17位任意数字,最后一位可以是数字可以是大写或小写的x。 请编写正则表达式验证用户输入的手机号码是否满足要求。 请编写正则表达式验证用户输入的电话号码是否满足要求。 请编写正则表达式验证用户输入的邮箱号是否满足要求。请编写正则表达式验证身份证号码是否满足要求。按照身份证号码的格式严格要求。
2025-09-28 07:00:00
196
原创 常用API-02-System类
System类所在包为java.lang包,因此在使用的时候不需要进行导包。并且System类被final修饰了,因此该类是不能被继承的。System包含了系统操作的一些常用的方法。比如获取当前时间所对应的毫秒值,再比如终止当前JVM等等。
2025-09-25 07:00:00
347
原创 常用API-01-Math类
Math类所在包为java.lang包,因此在使用的时候不需要进行导包。并且Math类被final修饰了,因此该类是不能被继承的。Math类包含执行基本数字运算的方法,我们可以使用Math类完成基本的数学运算。
2025-09-23 07:00:00
294
原创 面向对象进阶-06-接口
interface 接口名称 {// 抽象方法// 接口的声明:interface// 接口名称 : 首字母大写,满足“驼峰模式”
2025-09-18 07:00:00
723
原创 面向对象进阶练习
在教学资源管理系统中,存在学生、老师角色会进入系统。 学生信息和行为(名称,年龄,所在班级,查看课表,填写听课反馈fillForm) 老师信息和行为(名称,年龄,部门名称,查看课表,发布问题publishForm) 定义角色类作为父类包含属性(名称,年龄),行为(查看课表) 定义子类:学生类包含属性(所在班级),行为(填写听课反馈) 定义子类:老师类包含属性(部门名称),行为(发布问题)
2025-09-12 07:00:00
1031
原创 面向对象进阶-04-包,final,权限修饰符
包在操作系统中其实就是一个文件夹。,方便管理和维护。路径名. 路径名.xxx.xxx/ / 例如:com.itheima.oa。
2025-09-11 07:00:00
276
原创 面向对象进阶-03-多态
多态: 是指同一行为,具有多个不同表现形式。从上面案例可以看出,Cat和Dog都是动物,都是吃这一行为,但是出现的效果(表现形式)是不一样的。前提【重点】有继承或者实现关系方法的重写【意义体现:不重写,无意义】父类引用指向子类对象【格式体现】
2025-09-08 07:00:00
1077
原创 面向对象进阶-02-继承
假如我们要定义如下类:学生类,老师类和工人类,分析如下:学生类属性:姓名,年龄行为:吃饭,睡觉老师类属性:姓名,年龄,薪水行为:吃饭,睡觉,教书班主任属性:姓名,年龄,薪水行为:吃饭,睡觉,管理如果我们定义了这三个类去开发一个系统,那么这三个类中就存在大量重复的信息(属性:姓名,年龄。行为:吃饭,睡觉)。这样就导致了相同代码大量重复,代码显得很臃肿和冗余,那么如何解决呢?
2025-09-07 07:00:00
793
原创 面向对象进阶-01-static-静态变量
3.static修饰的成员属于类,会存储在静态区,是随着类的加载而加载的,且只加载一次,所以只有一份,节省内存。我们已经知道面向对象中,存在类和对象的概念,我们在类中定义了一些成员变量,例如name,age,sex ,结果发现这些成员变量,每个对象都存在(因为每个对象都可以访问)。例如现在我们需要定义传智全部的学生类,那么这些学生类的对象的学校属性应该都是“传智”,这个时候我们可以把这个属性定义成static修饰的静态成员变量。有static修饰成员变量,说明这个成员变量是属于类的,这个成员变量称为。
2025-09-05 07:00:00
974
原创 学生管理系统升级版
1,键盘录入用户名,判断当前用户名是否存在,如不存在,直接结束方法,并提示:未注册。 用户名如果未注册,直接结束方法,并提示:用户名未注册,请先注册。 3,判断当前用户的身份证号码和手机号码是否一致, 2.密码键盘输入两次,两次一致才可以进行注册。 如果不一致,则提示:账号信息不匹配,修改失败。 属性:用户名、密码、身份证号码、手机号码。 判断验证码是否正确,如不正确,重新输入。 再判断用户名和密码是否正确,有3次机会。 如果一致,则提示输入密码,进行修改。 3.身份证号码需要验证。
2025-09-03 07:00:00
327
原创 学生管理系统
/下面是空参,有参,get和set方法loop:System.out.println("-----------------欢迎来到学生管理系统-------------------");System.out.println("1:添加学生");System.out.println("2:删除学生");System.out.println("3:修改学生");System.out.println("4:查询学生");System.out.println("5:退出");
2025-09-01 07:00:00
599
原创 Java--ArrayList介绍
提供一种存储空间可变的存储模型,存储的数据容量可以发生改变长度可以变化,只能存储引用数据类型。 用于约束集合中存储元素的数据类型。
2025-08-29 07:00:00
740
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅