- 博客(59)
- 收藏
- 关注
原创 TextView,EditText,Button控件,三种点击事件的实现方式
颜色:textColor;大小:textSize;样式:textStyle;Log.i("指定onClick属性方式","button is clicked");TextView可以设置文本的颜色,大小,居中,样式;③然后实现OnClickListener接口中的方法。①在layout文件中指定onClick属性;②在Activity中实现这个click方法;(二)第二种实现方式:匿名内部类方式。①设置Button控件的点击监听事件。(一)第一种点击事件的实现方式。(三)用接口的方式实现。
2023-09-19 15:33:51
1013
原创 LinearLayout:线性布局 水平布局 垂直布局
TableRow:添加控件表示表格行列,几个TableRow就几行。1.LinearLayout:线性布局,水平布局,垂直布局;2.TableLayout表格布局。4.帧布局FrameLayout。Column:在哪列。
2023-09-06 21:33:34
249
原创 异常
运行时异常:RuntimeException及其子类,编译阶段不出现异常提醒,运行时出现异常,比如数组索引越界异常;throw:写在方法内,结束方法,手动抛出异常对象,交给调用者,方法中下面的代码不再执行了;throws:写在方法定义处,表示声明一个异常,告诉调用者,使用本方法可能会有哪些异常;编译时异常:编译阶段就会出现异常提醒;我们通常会用Exception以及它的子类来封装程序出现的问题;目的:当代码出现异常时,可以让程序继续往下执行;可以让程序继续执行下去,不停止;1.异常:代表程序出现的问题;
2023-07-16 21:29:47
213
原创 Stream流
注意:用keySet(),entrySet()中转一下;:结合Lambda表达式,简化集合数组的操作;1.单列集合获取stream流;2.双列集合获取stream流。4.同种同类型的零散数据。
2023-07-14 09:55:03
122
原创 TreeMap
注意:默认按照键的大小从小到大进行排序,也可以自己规定键的排序规则;创建集合时传递Comparator比较器对象,指定比较规则;跟TreeSet底层原理一样,都是红黑树结构的;实现Comparable接口,指定比较规则;由键决定性质,不重复,无索引,可排序;可排序:对键进行排序;
2023-07-11 22:31:27
153
原创 LinkedHashMap
原理:底层数据结构依然是哈希表,只是每个键值对元素又额外的多了一个双链表的机制记录存储的顺序;这里的有序指的是保证存储和取出的元素顺序一致;由键决定:有序,不重复,无索引;
2023-07-11 22:09:23
152
原创 eclipse导入图片image
windows-preferences-(General-editors-file assocliations-*.htmi-*.jpg-add-assocliated editors-add)即可;file-import-file System-选择来源和导入哪里即可;
2023-05-15 23:18:20
3614
1
原创 JDBC连接数据库
url后面加入的"jdbc:mysql://127.0.0.1:3306/test1"是MySQL的IP地址,test1部分不同,要看你的MySQL设置的模块名;让这个工程识别这个jar包,右键jar包,Add as Library,选择level,选择模块有效即可;概念:JDBC就是使用Java语言操作关系型数据库的一套API;复制在官网下载好的jar驱动包,复制到lib目录下;创建模块,在模块下新建一个lib目录;3.执行完毕之后,出现1,即运行成功;1.创建工程,导入驱动jar包;
2023-04-24 19:52:59
52
原创 泛型
泛型:是JDK5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查。泛型的格式:<数据类型>注意:泛型只能支持引用数据类型;//1.创建集合的对象//如果我们没有给集合指定类型,默认为所有的数据类型都是Object类型;//此时推出了泛型;//2.添加数据//3.遍历集合获取里面的每一个元素;
2023-04-18 20:42:18
338
原创 数据结构
链表中的结点是独立的对象,在内存中是不连续的,每个结点包含数据值和下一个结点的地址;数据结构是为了更加方便地管理和使用数据,需要结合具体的业务场景来进行选择;一般情况下,精心选择的数据结构可以带来更高的运行或者存储效率;数据结构是计算机底层存储,组织数据的方式;是指数据相互之间是以什么方式排列在一起的;数据从后端进入队列模型的过程:入队列;数据从前端离开队列模型的过程:出队列;数据进入栈模型的过程称为:压/进栈;数据离开栈模型的过程称为:弹/出栈;3.数组是一种查询快,增删慢的模型;但是链表增删相对快;
2023-04-11 21:24:30
416
原创 迭代器遍历,增强for遍历
1.若当前位置没有元素,还要强行获取,报错NoSuchElementException;得益于JDK8开始的新技术Lambda表达式,提供了一种更简单,更直接的遍历集合的方式;迭代器遍历:迭代器在Java中的类是Ilterator,迭代器是集合专用的遍历方式;4.迭代器遍历时,不能用集合的方法进行添加或者删除;for(元素的数据类型 变量名:数组或者集合){创建指针,判断是否有元素,获取元素,移动指针;//打印两遍和打印一遍输出结果一样;2.迭代器遍历完毕,指针不会复位;3.循环只能用一次next方法;
2023-04-10 22:29:16
487
原创 单列集合顶层接口Collection
Collection:Collection是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的。List系列集合:添加的元素是有序,可重复,有索引的;Set系列集合:添加的元素是无序,不重复,无索引;一.Collection。
2023-04-09 22:17:31
62
原创 Lambda
Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码,它可以写出更简洁,更高效的代码,作为一种更紧凑的代码风格,使Java语言表达能力得到了提升。函数式编程思想:忽略面向对象的的复杂语言,强调做什么,而不是谁去做?Lambda表达式时JDK8开始后的一种新语法形式;1.函数式编程:面向对象:先找对象,让对象做事情;必须是接口的匿名内部类,接口中只能有一个抽象方法;简化函数式接口的匿名内部类的写法;{}对应着方法的方法体;()对应着方法的形参;*Lambda的好处?
2023-04-08 23:34:53
151
原创 SQL基础
INSERT INTO表名(字段名1,字段名2...)VALUES(值1,值2,...),(值1,值1,...),(值1,值2,...);INSERT INTO表名VALUES(值1,值2,...),(值1,值2,...);INSERT INTO(字段1,字段2...)VALUES(值1,值2,...)DCL:数据控制语言,用来创建数据库对象,控制数据库的访问权限。INSERT INTO表名VALUES(值1,值2.,..)DML:数据操作语言,用来对数据库表中的数据进行增删改;多行注释:/*注释内容*/
2023-04-07 22:52:20
149
原创 什么是数据库
DB2:IBM公司的数据库产品,收费,大多应用于银行系统中;PostgreSQL:稳定性强,开放源码,最符合SQL标准;数据库中的一个表对应Java或者python中的一个类;SQL:结构化查询语言,专门用来与数据库通信的语言;DBMS:数据库管理系统,是一个软件层面的概念;SQL Server:微软开发的大型商业数据库;表中的一个列,对应类中的一个字段,属性。表中的一条数据,对应类中的一个对象;DB:数据库,本质是一个文件系统;数据库可以实现数据的持久化;开放源代码的关系型数据库;2.数据库的相关概念。
2023-04-06 21:32:39
408
原创 冒泡排序,选择排序
插入排序:将0索引的元素到N索引的元素看作是有序的,把N+1索引的元素到最后一个当成是无序的,遍历无序的数据,将遍历到的元素插入有序序列中适当位置,如遇到相同数据,插在后面。选择排序:从0索引开始,拿着每一个索引上的元素跟后面的元素一次比较,小的放前面,大的放后面,以此类推。0索引和后面的元素一一比较,第一轮结束后,最小的数据已经确定了。第一轮:把0索引的数字作为基准数,确定基准数在数组中正确的位置。1.相邻的数据两两比较,小的放前面,大的放后面。比基准数小的全部在左边,比基准数大的全部在右边;
2023-03-31 22:26:18
81
原创 分块,分块扩展,哈希查找
分块的原则2:块数数量一般等于数字的个数开根号,比如:16个数字一般分为4块左右;//需求:在1~1000之间获取100个孙技术,要求数据不重复;分块的原则1:前一块中的最大数据,小于后一块中所有的数据(核心思路:先确定要查找的元素在哪一块,然后在块内挨个查找。二分查找,插值查找,斐波那契查找是要求数据有一定顺序;基本查找是数据没有任何顺序;
2023-03-29 22:55:04
655
原创 二级Java公共基础(四)
2,外存储器的容量一般都比较大,而且大部分可以移动,便于在不同的计算机之间进行信息的交流,外存储器中数据被读入内存储器后,才能被CPU读取,CPU不能直接访问外存储器。4.动态地址重定位不要求程序装入固定的内存空间,在内存中允许程序再次移动位置,而且可以部分的装入程序运行,同时也便于多个作业共享同一程序的副本。通道控制方式可以做到一个通道控制多台设备与内存进行数据交换,因而,通道方式进一步减轻了CPU的工作负担,增加了计算机系统的并行工作程度。7.带符号的定点数中,正数的原码,反码,补码均相同;
2023-03-18 00:22:15
53
原创 二级Java知识点(三)
面向字节的操作以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStrean和OutputStream的子类,比如InputStreamReader.1.实时操作系统是指当外界事件或数据产生时,系统能够接受并且以足够快的速度予以处理和响应,能够控制所有任务协调一致运行,飞机的飞行控制系统使用的是实时操作系统;满二叉树一定是完全二叉树,在满二叉树里,只有度为2或者度为0的节点,没有度为1的节点。数据的存储结构直接决定数据的输入,而这会影响算法所执行的基本算术次数,影响算法的效率。
2023-03-17 22:03:52
103
原创 二级Java基础题(二)
1.java中构造方法的定义要求为:方法名和类名一致,没有返回值,也不能用void修饰,构造方法分为有参构造和无参构造方法,有参和无参的构造方法属于方法的重载。继承是指现在父类的基础上创建一个新的子类,子类重用了父类的方法和状态,同时还可以向新类中增添新的方法和状态。4.内部类可以使用外部类的静态成员变量,内部类可以使用外部类的实例成员变量,内部类不可以使用外部类的方法中的局部变量,内部类可以声明为abstract抽象类。2.java中规定方法名相同,参数列表和类型不同为方法的重载。
2023-03-17 21:24:53
44
原创 二级Java基础知识(一)
3.J2ME是一种高度优化的Java运行环境,主要针对消费类电子设备,例如蜂窝电话和可视电话,数字机顶盒等,他将Java语言的与平台无关性移植到小型电子设备上,允许移动无线设备之间共享应用程序,因而J2ME是为嵌入式和移动设备提供的Java平台;6.jar是Java中包的扩展名,javap是Java的反汇编命令,Java是Java中的运行命令,javac是编译命令。7.java的特点为:简单性,面向对象,分布式,健壮性,安全性,体系结构中立,可移植性,解释型,高性能,多线程,动态性。
2023-03-16 23:15:44
42
原创 基本,二分,插值,斐波那契查找
/利用黄金分割点,也就是斐波那契查找,mid=min+黄金分割点左半边长度-1;需求:定义一个方法,利用二分查找,查询某个元素在数组中的索引;需求:定义一个方法,利用基本查找,查询某个元素是否存在;核心逻辑:每一次都会排除一半的查找范围;前提条件是:数组中的数据必须是有序的;二分查找的前提条件:数据必须是有序的;二分查找的优势:提高查找效率。
2023-03-10 22:50:38
43
原创 Calendar
public int get(int field) 取日历中的某个字段信息。public void set(int field,int value) 修改日历的某个字段信息。public static Calendar getInstance() 获取当前时间的日历对象。Calendar代表了系统当前时间的日历对象,可以单独修改,获取事件中的年月日;表示一个时间的日历对象;
2023-03-08 18:59:24
61
原创 SimpleDateFormat
public SimpleDateFormat(String pattern) 构造一个SimpleDateFormat,使用指定的格式。假设你好朋友的出生年月日为:2000-11-11;请用字符串来表示这个数据,并将其转换为:2000年11月11日;(一)小明下单并且付款的时间是:2023年11月11日0:01:00,代码说明小明参加上打折活动了吗?练习2:蛋挞秒杀开始时间是:2023年11月11日 0:0:0。秒杀结束时间:2023年11月11日 0:10:0。
2023-03-07 23:26:21
78
原创 JDK以前的时间相关类,JDK8新增的时间相关类
JDK之前的相关类:Date:时间SimpleDateFormat:格式化时间Calendar:日历,有一个统一的计算标准:格林尼治/格林威治 简称GMT此计算核心:地球自转一天是24小时,太阳直射时为正午12点;现在的时间:原子钟:利用铯原子的振动频率计算出来的时间,作为世界的标准时间(UTC);
2023-03-06 15:16:04
44
原创 爬取,带条件爬取,贪婪爬取,分组
public String replaceAll(String regex,String newStr) 按照正则表达式的规则替换。java中默认贪婪爬取,如果我们在数量词+*的后面加上问号,那么此时就是非贪婪爬取;非捕获分组:分组之后不需要再用本组数据,仅仅是把数据括起来;非贪婪爬取:在爬取数据的时候尽可能地少获取数据;贪婪爬取:在爬取数据的时候尽可能地多获取数据;捕获分组就是把这一组的数据捕获出来,再用一次;每组是有括号的,也就是序号;后续还要继续使用本组的数据。正则内部使用:\\组号。
2023-03-05 19:58:19
108
原创 正则表达式
/ \转义字符 改变后面那个字符原本的含义;//.表示任意一个字符System.out.println("你".matches(".."));//falseSystem.out.println("你b".matches(".."));//true//几个.,对应几个字;// \d表示任意的一个数字;//因为所以但是\\表示\//true// \\w是单词字符[a-zA-Z_0-9]//true//数字字母下划线,至少6位;//true//必须是数字和字符,必须是4位;
2023-03-04 21:47:10
40
原创 BigDecimal
3.如果我们传递的是0~10之间的整数,包含0,包含10,那么方法会自动返回已经创建好的对象,不会重新new;1.如果要表示的数字不大,没有超出double的取值范围,建议使用静态方法;2.如果要表示的数字比较大,超出了double的取值范围,建议使用构造方法;CEILING:向正无限大方向舍入的舍入模式;FLOOR:向负无限大方向舍入的舍入模式;DOWM:向零方向舍入的舍入模式;UP:远离零方向的舍入模式;BigDecimal的使用。
2023-03-04 14:25:36
201
原创 BigInteger
在底层占用字节个数:byte1个字节,short2个字节,int4个字节,long8个字节;1.如果BigInteger表示的数字没有超出long的范围,可以用静态方法获取;2.如果BigInteger表示的超出long的范围,可以用构造方法获取;在Java中,整数有四种类型:byte,short,int,long;3.对象一旦创建,BigInteger内部记录的值不能发生改变;4.只要进行计算都会产生一个新的BigInteger对象;细节:对象一旦创建,内部记录的值不能发生改变。
2023-03-02 21:52:09
365
原创 对象 克隆
浅克隆:不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来。深克隆:基本数据类型拷贝过来,字符串复用,引用数据类型会重新创建新的。基本数据类型拷贝变量记录的数据值,引用数据类型拷贝变量的地址值。3.equals():比较对象时会重写,比较对象属性值是否相同。把对象A的属性值完全拷贝给B对象,也叫对象拷贝,对象复制。2.toString():一般会重写,打印对象时打印属性。如果要深克隆,就需要重写方法或者使用第三方工具类。所有的类都直接或者间接的继承于Object类。
2023-03-01 23:33:29
154
原创 常用API
一.Math前面有final修饰,意思是这个类是一个最终类,不能被继承;Math类包含用于执行基本数学运算的方法,初等函数的对数等;大部分数学计算都可以用Math里面的方法,不需要创建对象,直接调用;
2023-02-10 10:55:46
71
原创 内 部 类
静态内部类其实也是成员内部类的一种,在成员内部类前面用static修饰,此时就是静态内部类;创建静态内部类对象的格式:外部类名.内部类名 对象名=new 外部类名.内部类名();静态内部类只能访问外部类中的静态变量和静态方法,如果想要访问非静态的需要创建对象;当方法的参数是接口或者类时,以接口为例,可以传递这个接口的实现类对象,内部类表示的事物是外部类的一部分,内部类单独出现没有什么意义。创建格式:外部类名.内部类名 对象名=外部类对象.内部类对象;什么是内部类:就是在一个类的里面,再定义一个类;
2023-02-02 11:10:13
129
原创 接口的定义和使用
1.接口用关键字interface来定义;public interface 接口名{}2.接口不能实例化3.接口和类之间是实现关系,通过implements关键字表示;比如:public class 类名 implements 接口名 {}4.接口的子类(实现类):要么重写接口中的所有抽象方法,要么是抽象类;注意1:接口和类的实现关系,可以单实现,也可以多实现。public class 类名 implements 接口名1,接口名2{}注意2:实现类还可以在继承一个类的同时实现多个接口;
2023-01-27 15:03:59
1227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人