- 博客(33)
- 收藏
- 关注
原创 Java中的异常
1. 定义一个类继承 异常类(1) 定义异常类如果为运行时异常,则需要继承 RuntimeException class(2) 定义异常类如果为非运行时异常,则需要继承 Exception class2. 提供两个构造方法(1) 一个无参数的构造方法(2) 有参数的构造方法:带有字符串类型参数的构造方法// 自定义异常类3.示例System.out.println("请输入密码:");try{=6){
2024-12-18 17:46:44
1181
原创 第十五章:反射+设计模式
1. 反射(Reflection):允许在程序运行状态中,可以获取任意类中的属性和方法,并且可以操作任意对象内部的属 性和方法,这种动态获取类的信息及动态操作对象的属性和方法对应的机制称为反射机制。(1) 单例模式(Singleton):保证在当前JVM中,该类只有一个实例(对象)存在,是一种常见的设计模式。(2) 类对象:类加载的产物,封装了一个类的所有信息(包、类名、父类、接口、属性、方法、构造方法等)(1) 类的对象:基于某个类 new 出来的对象,也称为实例对象。2. 类对象 和 类的对象(实例)
2024-12-16 19:21:10
646
原创 第十四章(2)
1. IO流:对文件中的内容进行操作。File类:对文件自身进行操作,例如:删除文件,文件重新命名等。功能方法,readLine():一次性读取一行内容,返回内容为String,读取达到尾部,返回-1。功能方法:write方法。功能方法:read方法。:将单个字符写入到文件中。:一次读取一个字符的内容。println(参数);
2024-12-15 21:17:49
253
原创 第十四章:IO流 (java.io包中)
参数:代表操作文件的路径,如果指定的文件夹不存在,则运行报错,错误信息为: java.io.FileNotFoundException: D:\test5\a.txt (系统找不到指定的路径。参数说明:参数代表操作路径,如果指定的文件不存在,则运行报错,错误信息为: java.io.FileNotFoundException: file\c.txt (系统找不到指定的文件。int read():一次性读取一个字节内容,将读取的内容作为返回值返回,达到文件尾部时,返回-1 close():关闭流,释放资源。
2024-12-15 21:08:12
759
原创 第十三章:多线程
执行原理:线程只有获取临界资源对象的锁标记,才能执行同步代码块{}中的内容,并且必须将{}中的所有代码 都执行完成,才释放该线程获取的临界资源对象的锁标记;如果没有获取到临界资源对象的锁标记(锁标记被其他线程 占用),则该线程进入阻塞状态,直到拿到临界资源对象的锁标记才会从阻塞状态结束,同时获取cpu时间片则执行{} 中的内容。1. 线程:在一个进程中,可以同时执行多个任务,每一个任务就可以说是一个线程。3. 线程同步:多线程并发时,为了保证临界资源的正确性,而不能破坏程序中的原子操作。
2024-12-12 18:17:23
613
原创 第十二章:异常(2)
1. 定义一个类继承 异常类(1) 定义异常类如果为运行时异常,则需要继承 RuntimeException class CheckedPasswordException extends RuntimeException{}(2) 定义异常类如果为非运行时异常,则需要继承 Exception class2. 提供两个构造方法(1) 一个无参数的构造方法(2) 有参数的构造方法:带有字符串类型参数的构造方法// 自定义异常类3.示例。
2024-12-12 17:48:28
445
原创 第十二章:异常
java.lang.ArrayIndexOutOfBoundsException(数组下标越界) java.lang.IndexOutOfBoundsException(下标越界-List集合) java.lang.StringIndexOutOfBoundsException(字符串下标越界)(1) 父类型:Throwable,位于 java.lang包中,Throwable 类是 Java 语言中所有错误或异常的超类(父类)java.lang.ClassCastException(类型转换异常)
2024-11-04 15:46:44
1057
原创 双链表和循环链表
在线性表的链式存储结构中,每个物理结点增加一个指向后继结点的指针域和一个指向前驱结点的指针域//指向前驱的结点//指向后继的结点。
2024-09-22 18:23:26
320
原创 第十一章:集合 (1)
存储Object类型的对象,有序、有下标,元素可以重复(下标从0开始,依次为1、2、...)boolean contains(Object o) : 检查此集合中是否包含o对象。Object get(int index) //返回集合中指定位置的元素 【重点】(1) Collection集合体系 -> List集合 -> Set集合。boolean remove(Object o) :在此集合中移除o对象。int size() :返回此集合中的元素个数 【重点】(2) Map集合体系 -> Map集合。
2024-09-22 16:43:50
330
原创 第十章:常见类(2)
字符串:由一个或是多个字符组成,用双引号引起来,底层为 字符数组进行存储(char[] value),具有下标,默 认从0开始,依次为1、2、3、.....每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。这种获取字符串的方式,先在堆空间中创建一个字符串对象,再查看字符串串池中是否存在该对象,存在-无需创 建,不存在-再次创建。(1)StringBuffer:可变长字符串,JDK1.0,线程安全,运行效率慢。这种获取字符串的方式,在串池中完成字符串对象。
2024-09-16 18:07:18
361
原创 第十章:常用类(1)
(3) boolean equals(Object obj):判断两个对象的内容是否相等,相等-true;1.Object:位于java.lang包中,是所有类的父类(直接或者间接的父类)1. 包装类:基本数据类型对应的类成为包装类(位于java.lang包中)(1) Object类型的引用可以 存储任意类型的对象,体现多态的应用。(2) Object中定义的方法,所有类都可以使用(访问权限允许)(1) getClass():返回引用中实际存储的对象类型。注意:不同的对象返回不同的哈希码值。
2024-09-16 17:32:32
462
原创 线性表的链式存储
插入操作的语句: s->next = p->next;若定义LNode *p,则p为指向单链表中某个节点的指针,用*p代替该节点。当访问过一个结点后,只能接着访问它的后继结点,无法访问它的前驱结点。(1)通常使用LinkList定义单链表,强调定义的是某个单链表头指针。用LNode *定义指向单链表中任意节点的指针变量。例:若定义LinkList L,则L为单链表的头指针。数据读入顺序和线性表中的逻辑顺序正好相反。(3)按位序插入(不带头节点)(4)按位序插入(带头节点)
2024-09-15 20:25:05
341
原创 数据结构的概念及线性表的顺序存储结构
2.在长度为n的线性表中删除一个元素时,共移动n-i个元素,所需移动的元素平均次数为(n-1)/2。1.在长度为n的线性表中插入一个元素时,共移动n-i+1个元素,所需移动的元素平均次数为n/2。(1)逻辑结构:集合,线性结构,树形结构(一对多),图状结构(多对多)3.元素地址=首地址+(元素位置-1)*元素大小。(7)按元素值查找LocateElem(L,e)(2)存储结构:顺序存储,链式存储,索引,散列。(4)求线性表的长度ListLength(L)(1)初始化 InitList(&L)
2024-09-14 21:36:22
400
2
原创 第九章:三个修饰符
1.可以修饰类:(1) 被 abstract 修饰的类称为抽象类(2) 语法:abstract class 类名{ }(3) 特点:抽象类可以声明引用,但是不能创建对象(4) 注意:抽象类中可以定义属性、成员方法、构造方法2.可以修饰方法:(1) 被 asbtract修饰的方法称为抽象方法(2) 语法: 访问修饰符 abstract 返回值类型 方法名 (形参);注意:访问修饰符 和 asbtract没有先后的顺序(3) 特点:抽象方法只有方法的声明部分,没有方法的实现。
2024-06-07 14:02:53
841
原创 第十章:接口
(4) 接口中的属性都是公开的、静态的、常量(默认被 public、static 、final修饰)(2) 语法: interface 接口名 extends 父接口1,父 接口2{ }(3) 注意:如果一个类实现多个接口,需要把所有 接口中抽象方法全部覆盖(包括父接口中的)(1) 默认方法: default 返回值类型方法名(形参列表){ // 方法实现 }(6) 接口中的方法都是公开、抽象方法(默认被 public、asbtract修饰)2. 标记接口:空接口,接口中没有定义任何的属性和方法。
2024-06-07 13:59:44
429
原创 第八章:面向对象的三大特征
a. 创建子类对象时,jvm默认创建对应的父类对象,默认使用父类中无参数的构造方法完成父类对 象的创建(见TestMyClass3)b. 如果子类定义了和父类方法名、返回值相同, 但是参数列表不同的方法时,编译通过,运行也通过,构成了父类+子类中的方法重载。c. 子类的构造方法中,如果没有使用 super()/super(实参),则在子类的构造方法第 一行默认添加super()(3) 运行过程,jvm自动检测子类是否覆盖父类中的方法,如果覆盖了,则优先调用子类覆盖后的方 法。
2024-05-24 19:44:42
1050
1
原创 第七章:面向对象(1)
(1) 面向对象:将一些内容看成一个整体,作为一 个对象,利用对象与对象之间关系,解决问题 (2) 解决复杂业务相对容易。(4) 构造方法允许重载(一个类中可以定义多个构 造方法:无参数的构造方法只能定义一个,可以定义多个有参数的构造方法)(2) 如果一个类中没有定义任何的构造方法,则 java默认提供一个公开的、无参数的构造方法。(3) 如果一个类中定义任何有参数的构造方法,则 java不会再提供公开的无参数的构造方法。(2) 类和对象的关系: 类是对象的模板 对象是类的实例。
2024-05-13 10:41:56
1033
原创 第六章:数组
(3) 显示初始化: 数据类型[] 数组名 = new 数据类型[]{值1,值2,值3};(2)数组的初始化: 给数组分配内存空间,赋值或者确定数组的长度。(1) 数组的下标:从0开始,依次为 0、1、 2...,数组的长度-1。数组的长度由{}中数据的个数决定, []中不能再指定数组的长度。(2) 数组的访问:通过数组名+下标,数组名[下 标](1) 创建一个更大空间的新数组,通常是数组的长 度2倍。(2) 将原数组中的元素一一赋值到新的数组中。1. 数组:内存中空间是连续的(方便管理)
2024-05-13 10:04:59
407
原创 第五章:函数
程序以main函数作为程序入口,进入main函数从 上往下依次执行,如果遇到函数调用,则优先执行 被调用函数内部的代码,函数执行完毕以后,带着 返回值返回到调用位置,再继续后续代码.....调用者必须提供必要的数据,才能使函数完成相应的功能,函数和调用者之间交互的数据被称为参数。(1)形式参数:简称形参,函数和调用者之间需要交互的数据约定,约定调用者需要传递哪种类型、几个参数。b.函数的实现:确定函数功能。1.理解:函数和调用者之间的一种数据交互,调用者通过函数的调用,函数需要给调用者返回的数据。
2024-04-26 19:38:49
1100
1
原创 第四章 :循环结构
(5)再次判断循环条件...如果执行循环条件不满足, 结果为false,终止、结束整个循环结构, 继续执行后续代码....1. break:终止、结束当前循环;(4)再次判断循环条件,如果满足-结果 为true,执行{}中循环体,从而执行循环变量的改变。(2)循环变量的初始化代码可以定义在for上面,此时循环变量的作用范围扩大了,不建议。2.循环的组成部分:循环变量的初始化、循环条件、循环变量的改变、循环体。(3)然后判断循环条件,条件满足,则 再次执行循环体,循环变量的改变。
2024-04-19 23:04:45
436
1
原创 第三章:分支结构
2.执行原理:首先会根据switch中的表达式结果,从上到下进行依次匹配case后的值,哪一个匹配成功,则执行case后面对应的语句,如果匹配不成功,则执行default后面的语句。(3)default:没有位置的先后要求,比如说放在switch..case结构中的第一行,判断时还是会先匹配case语句,如果匹配不成功再执行default。(2)执行原理:如果if后面()中的条件成立,结果为true,则执行{}中的语句。(2)执行原理:如果if()中的条件成立,则执行语句1,否则执行语句2。
2024-04-12 19:08:09
425
原创 六、java中的扫描仪(Scanner)
一个源文件中可以定义多个import语句。注意:定义在pacakge语句的后面,所有类的上面。import 包名1.包名2.*import 包名1.包名2.类名;1.作用:实现人机交互。
2024-03-29 17:46:30
935
1
原创 第二章: 变量、数据类型、表达式、运算符
(4) 其余情况,结果为 int byte+byte byte+short short+short byte+int short+int int+in。(1)场景:小数据类型赋值给大数据类型(存储数据的范围对应数据大小)也可以说所占小字节的数据类型可以赋值给所占大字节的数据类型。注意:被关系运算符连接的表达式称为布尔表达式,关系成立为true,关系不成立为false,结果类型也为布尔类型。(2)字符串的拼接:只要+一端为字符串类型,则+就为字符串拼接。
2024-03-23 16:46:12
731
1
原创 Java中的包和编码规范
(4)不能使用Java中的关键字,保留字(goto,const),特殊字符(true/false/nu1/1)命名。(4)变量名,函数名,方法名:第一个单词首字母小写,其余单词首字母小写(驼峰命名法)(1)java中的标识符只能以字母,数字,下划线,$组成,但不能以数字开头。(2)注释:不参与编译,可以提高代码的可读性。注意:(1)单行注释不能嵌套多行注释,但多行注释可以嵌套单行注释。(2)层级之间要严格缩进,通常缩进一个Tab键。(2)包名:全小写,例如demo.aa。(1)//:单行注释,只能写一行。
2024-03-15 18:34:24
629
1
原创 认识java语言
JavaSE:Java语言核心基础。JavaEE:企业开发。4.跨平台性:可以在不同的操作系统上执行Javad代码 windows+MACOS+linux。1.1995年,sun公司推出的一款面向对象的编程语言。2.jdk:java开发的工具19963。二,Java语言的特点 【理解】1.简单性:相对性c,c++等。一,Java的历史【记】2.开源性:开放源代码。3.编程资源的广泛性。
2024-03-01 11:59:41
155
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人