- 博客(84)
- 收藏
- 关注
原创 Unicode字符集(万国码)
UTF-8:可变长度字符编码。1-4个字节存储,只需记住:英文字母1个字节表示,中文汉字3个字节表示。UTF-16:16个bit位(=2个字节)存储。UTF-32:32个bit位(=4个字节)存储。
2024-11-11 17:45:07
372
原创 常用的字符集(ASCII、GBK)
GBK是简体中文window操作系统默认使用的字符集,Unicode包含了世界上绝大多数国家的字符对应的唯一编码。计算机中最小的存储单元是一个字节,一个字节=8bit。0-127 一共是128个。
2024-10-18 17:22:30
255
原创 FileInputStream类
(3)读到文件末尾了(读不到东西),如果再读的话read方法会返回-1。(2)一次读一个字节,读出来的是数据在ASCII上对应的数字。(1)如果文件不存在,直接报错。
2024-10-14 13:11:32
176
原创 FileOutputStream类
结果:可以看到my io下面已经生成了一个a.txt文件。(1)参数是字符串表示的路径或者是File对象(2)如果文件不存在会创建一个新的文件,但是要保证路径是存在的(3)如果同名文件存在,程序运行后会覆盖之前的(4)write方法的参数是整数,但是实际上写到本地文件中的是整数在ASCII上对应的字符(5)每次使用完IO流都要释放资源,不释放会一直占用,使得无法删除该文件实例代码:6.换行写和续写结果:
2024-10-12 16:54:32
423
原创 IO流概述
目录一、 IO流的作用二、 IO流的分类三、 总结IO流是存储和读取数据的解决方案以程序(内存)为参照物,程序运行在内存当中。程序读取数据(input)、程序写出数据(output)。1.两种分类方式2.什么叫纯文本文件?Windows自带的记事本打开并能够读懂的文件,包括txt、md、xml、lrc文件,word和excel不是纯文本文件。
2024-10-12 15:35:30
138
原创 Map的实现类:TreeMap
2.实现了SortedMap接口(是Map的子接口),可以对key自动排序。3.实例代码:Student类和Demo03。如果出现类转换异常 参考【1.存储结构:红黑树。
2024-10-11 17:29:24
344
原创 Set的实现类:TreeSet(红黑树)
这是因为TreeSet是红黑树,实际上就是二叉查找树。二叉查找树的要求是左边的节点都比右边的节点要小。现在需要存放的是Person的对象,程序不知道怎么比较,才能满足二叉查找树的要求。实现接口就必须要重写接口中的方法。Comparable接口只有compareTo一个方法。
2024-10-10 15:59:26
279
原创 Set子接口
1.特点:无序,无下标,元素不可以重复(与List相反)中的所有方法,本身没有方法(注:接口是抽象的,不能直接。案例:测试Set接口的使用。
2024-10-10 11:26:41
150
原创 Java 方法的重载
3.实现原理:方法名相同时,编译器会根据调用方法的参数个数,类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。(4)仅仅返回类型不同不足以成为方法的重载。(3)方法的返回类型可以相同也可以不同。不同等)(例如:身份证号必须唯一)1.重载:在一个类中,方法的。(例如:重名的人有很多)函数名相同,但形参不同。
2024-10-09 16:23:10
232
原创 Java 泛型
(1)Java泛型是JDK1.5中引入的一个新特性,把类型作为参数传递。(调用方法时需要传递实参,一般都是传递某个具体的数据;而泛型是把类型作为参数传递给方法)(2)常见形式有泛型类、泛型接口、泛型方法(类、接口、方法都可以使用泛型(3)语法:T称为类型占位符,表示一种引用类型。(4)优点:提高代码的重用性,安全性;防止类型转换异常。(5)可以把泛型当成一种模板。
2024-10-09 16:19:02
226
原创 ArrayList和LinkedList区别
LinkedList是双向链表结构,无需连续空间,只需要指针把各个节点(node)连接起来就行。如果需要删除C元素,把B的指针指向D,D指向B即可。ArrayList是数组结构,需要开辟连续的空间。
2024-10-09 10:05:38
206
原创 List的实现类
使用代码跟ArrayList差不多,替换ArrayList就行。使用代码跟ArrayList差不多,替换ArrayList就行。
2024-10-09 10:01:56
642
原创 Java 自定义异常及经验小结
Exception(1)创建自定义异常类(2)在方法中通过throw关键字抛出异常对象(3)如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处用throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。(4)在出现异常方法的调用者中捕获并处理异常(1)运行时,逻辑合理,辅助try-catch处理(程序就不至于突然卡死)(2)多重catch块后面,加一个处理可能被遗漏的异常(3)对于不确定的代码,也可以加上try-catch。
2024-09-30 14:47:03
461
原创 Java 异常处理机制
经过上面步骤中对方法异常的主动抛出,这一步在方法调用过程中需要捕获异常 try catch。如果等级高的异常在前面,就覆盖了等级低的异常,后面的异常就不会执行了。捕获异常,程序遇到异常就会停止。使用后,程序抛出异常后还能继续运行。一般选择最完整的try/catch/finally。选中需要检测的代码。中捕获的异常类型等级要越来越高。
2024-09-29 17:58:40
527
原创 Error和Exception
异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。这些异常一般由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。Error通常是灾难性的,程序无法控制和处理的,当出现这些异常时,Java虚拟机(JVM)一般会选择终止线程;Exception在程序中尽可能的去处理。
2024-09-29 10:32:34
408
原创 Java N种内部类
内部类就是在一个类的内部再定义一个类,比如,A类中定义一个B类,那么B类相对A类来说是内部类,而A类相对B类是外部类。以下这些类的写法只是开拓眼界,不建议写这么复杂。
2024-09-27 10:26:32
181
原创 Java 接口
发现报红是因为还没实现timer方法,鼠标放在红线上,点击提示的Implement methods 就可以自动重写方法。实例代码:定义了一个UserService接口,里面只能定义方法,也可以写参数,但不能写具体的方法体。(2)定义方法,让不同人实现,不同的人可能有不同的实现方法。(2)抽象类:具体实现和规范(抽象方法)都有。只有规范(自己无法实现方法,专业的约束)(5)接口不能被实例化,接口没有构造方法。(接口可以多继承,类之间只能单继承)(7)必须要在类中重写接口中的方法。(1)普通类:只有具体实现。
2024-09-25 15:27:44
420
原创 Java 抽象类
编译器将为抽象类添加默认的无参构造器,没有的话,子类将无法编译。如果修饰方法,该方法就是抽象方法;如果修饰类,该类就是抽象类。如下:Action是抽象类,同时拥有抽象方法。可以把一些公共的东西抽象出来,简化代码,提高效率。,只有方法名,没有方法体,需要等待别人去实现。(父亲没有完成的要求儿子去完成)。除非子类也是抽象类,就不需要重写。抽象类的所有方法子类必须重写。重写后,就不会报错了。
2024-09-25 10:50:21
259
原创 static关键字
静态代码块只在第一次实例化的时候执行一次,而匿名代码块和构造方法每次都要执行。静态的都是属于类的,如果能使用类去调用这个变量说明该变量是静态的。静态代码块最先执行,然后是匿名代码块,最后才是构造方法。比如,想用Math类下面的方法random(),但是。匿名代码块可以用来赋初始值。
2024-09-24 17:09:36
315
原创 instanceof和类型转换(抽象)
(1)父类的引用指向子类对象 如:Person a = new Student();(2)子类转父类,向上转型,自动转,但会丢失子类独有的方法(3)父类转子类,向下转型,强制转(4)方便方法的调用,减少重复的代码!简洁。
2024-09-24 10:46:59
615
原创 Java 多态(难)
如s1 s2 s3能执行哪些方法,主要看左边的Student Person Object类中有哪些方法。对象能执行哪些方法,主要看对象左边的类型,和右边关系不大!都有相同的方法,就会执行子类的方法。这是因为子类如果重写了父类的方法,自动执行子类的方法;Person 是父类型,虽然可以指向子类,但是不能调用子类独有的方法,除非强制转换。Person和Object都是Student直接和间接的父类,都可以指向子类。一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多。一个对象的实际类型是确定的,
2024-09-20 16:13:59
606
原创 Java 方法重写(难)
(1)重写需要有继承关系,子类重写父类的方法。(2)重写,子类和父类的方法必须要一致:方法名必须相同,参数列表必须相同,方法体可以不同。(3)子类的修饰符范围可以比父类扩大不能缩小(4)重写可能会抛出异常,子类相较于父类抛出的异常范围可以被缩小,不能扩大。(子类比父类应该越来越优化,问题应该越来越少)e.g.ClassNotFoundException的总异常为Exception(范围更大)(5)快捷键alt+insert选override。
2024-09-20 10:39:50
503
原创 super-this详解
原因是:在Student类的构造器中有一行隐藏代码,首先调用了Person的无参构造。name: 是形式参数里面的name,是用户调用时传入的xiaowang。(6)this()调用的本类的构造方法,super()调用父类的构造。this.name:是当前类Student中的name=“小王”super.sayHello() 是父类Person类中的方法。super.name:是Person类中的name=“大王”(1)super调用父类的构造方法,必须在构造方法的。(3)super和this。
2024-09-19 16:14:38
441
原创 Java 继承
创建一个Person类(父类),然后再创建Student类和Teacher类(派生类,子类)继承Person类。4.Java中只有单继承,没有多继承(一个儿子只能有一个父亲,但一个父亲可以有多个儿子)。3.继承是类与类之间的一种关系。除此之外,类与类之间的关系还有依赖、组合、聚合等。子类是父类的扩展,使用关键字。类是所有类的直接或间接的父类,属于“祖宗”、“顶级类”,“上帝类”1.继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。子类继承了父类就会有父类的全部方法和属性!但是,如果父类里面是。
2024-09-19 11:23:39
351
原创 Java 类和对象-小结(重要)
(1)属性不初始化也会默认初始化。数字:0 0.0 char:u0000 boolean:false 引用:null。(1)有构造器,必须使用new 关键字创造对象。1.类和对象:类是一个模板,抽象的,对象是一个具体的实例。(2)修饰符 属性类型 属性名 = 属性值。(1)除了八大基本类型之外,都是引用类型。(3)对象的方法 kk.sleep( )(2)对象的属性 kk.name。来操作的:栈--->堆(地址)2.方法:定义和调用。5.对象的创建和使用。
2024-09-14 11:29:14
239
原创 类与对象的创建
(2)Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体事物应该具备的特点和行为。1.类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表一个具体的事物。2.使用new关键字创建的时候,除了分配内存空间外,还会给创建好的对象 进行。3.类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。(1)张三就是人的具体实例,张三家的旺财就是狗的具体实例。上面的构造函数没有参数,下面自己创建一个有参数的方法((2)实例是具有特点和具体功能的。类只能包含属性和方法。
2024-09-13 16:16:46
399
原创 Java 回顾方法的定义
1.修饰符(public static…)详见博客【Java 方法的定义2.返回值(int, double, char[],…., void)详见博客【Java 方法的定义3. break:跳出switch 结束循环,详见博客【Java中 break、continue 关键字的使用return代表方法结束,return后面再写任何语句都会报错。4.方法名:规范,见名知意。详见博客【Java变量、作用域、常量、变量命名规则5.参数列表:(参数类型,参数名)详见博客【Java 可变参数。
2024-09-13 10:39:29
428
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人