- 博客(39)
- 收藏
- 关注
原创 回调练习题目
4.老师批改完作业需要从键盘输入一个成绩,家长需要根据这个成绩判断是否批评孩子,成绩的判定标准自己掌握。2.孩子做完作业要通知老师批改,老师批改完作业要通知家长成绩,家长要根据成绩选择是否批评孩子.3.2中所描述的老师有数学老师,语文老师和英语老师,每个老师批改作业的方式不同。1.有三个角色,分别是孩子,家长和老师。
2022-12-08 21:23:02
242
原创 接口的实现:门锁
但是我们想改变开关方式就比较困难,因为我们不可以“拆掉门”。这是一个简单普通的Door类,可以实现开门和关门的操作。假如我们想进行升级,可以重新创建一个类,名字叫做密码开锁。
2022-11-25 06:30:05
377
原创 回调:Lambda表达式
如果我们new了一个接口的对象,然后调用方法,因为方法没有定义,所以对象就不知道要干什么了,所以说问题出在没有方法体上!这是对的,我们在new接口的时候只需要提供重写的方法就可以了。那是不是我在new接口的时候,提供方法体就可以了?如果方法体只有一行,那么甚至可以省略花括号。思考一个问题:能否new一个接口?简化写法:(参数列表)->{方法体}我直接提供一个方法可以不?
2022-11-25 00:59:43
263
原创 计算机网络的定义和分类
环形网络:所有计算机的网络接口都连接成一个环,最典型的例子是令牌环局域网,环可以是可以是单环也可以是双环,环中信号是单向传输的。星型网络:每个计算机都以单独的线路与中央设备相连,中央设备早期是计算机,后来是集线器,现在一般是是交换机或路由器。网状型网络:一般情况下,每个结点至少有两条路径和其他节点相连,多用在广域网中。缺点:重负载时,通信效率不高;缺点:成本高,中央设备对故障敏感。优点:建网容易,增减节点方便,节省线路。优点:便于网络的集中控制和管理。缺点:控制复杂线路成本高。
2022-11-24 21:11:55
372
原创 计算机网络概述及因特网
笔记本电脑、台式电脑、服务器、台式打印机以及将四者互连起来的交换机都是节点,节点之间的互联还需要链路,这样就组成了一个使用有线链路的简单网络,我们日常生活中比较常用的还有使用无线链路的简单网络。连接在因特网上的各种通信设备,例如智能手机、平板电脑、服务器、可联网家用设备等称为主机,而路由器是用于网络互连的专用设备,一般不称其为主机。随着技术的发展,计算机网络已从互联传统服务器、桌面计算机到互联笔记本电脑、手机等移动便携式计算设备,再到互联家用电器等非传统计算设备。网络之间需要通过路由器进行互联。
2022-11-24 19:53:06
369
原创 回调思想-
如果洗发师不仅仅要通知理发师,还可能要通知化妆师或服装师,应该怎么办?我们创建一个类Beauty,是化妆师、理发师、服装师的父类。一个类的一个对象完成某件事。
2022-11-24 18:49:03
147
原创 对前后端交互的理解
3.URL在浏览器地址栏看到的链接(网址)由两部分组成:域名+子路由,域名一般是www.XXX.XX(www.baidu.com)或者是一个ip地址(192.1678.0.1)f12->网络->手动发送请求->在负载里面看前端发送参数,响应里面是后端发送的原始数据,预览里面是格式化后的数据。后端:给前端提供接口的。1.理解前端页面:我们通过浏览器看到的页面都是通过代码生成的 ,代码对应的是标签语言。2.前后端交互的过程:前端:要制作出页面和用户交互,然后要利用后端提供的接口获取数据。
2022-11-23 10:42:29
412
原创 访问修饰符
如果将一个类定义成public类,类名和文件名必须相同,因此在一个.java文件中最多只能有哦一个public类。protected:可以在定义它的类的内部被访问,也可以被这个包中的其他类访问;default:可以在定义它的类的内部被访问,也可以被这个包中的其他类访问;public:可以在定义它的类的内部被访问,也可以被包内、包外所有类识别。- 写public,该类就是一个公共类,可以被包内、包外所有类识别。private:只能在定义它的类的内部被访问。类的访问控制修饰符:public。
2022-11-19 21:53:57
241
原创 排序:冒泡排序、选择排序、插入排序、堆排序、归并排序、快速排序
冒泡排序:- 重复“从序列右边开始比较相邻两个数字的大小,再根据结果交换两个数字的位置”- 在冒泡排序中,第一轮需要比较(n-1)次,第二轮需要比较(n-2)次……因此,总的比较次数为n²/2,比较次数恒定;不过,交换数字的次数和输入数据的排列顺序有关;冒泡排序的时间复杂度为O(n²);...
2022-05-17 11:19:56
202
原创 数据结构简单介绍:链表、数组、栈、队列、哈希表、堆、二叉查找树
数据存储于内存时,决定了数据顺序和位置关系的便是数据结构。链表:- 链表中的数据呈线性排列,每个数据都有一个指针,它指向下一个数据的内存地址。- 在链表中,数据一般都是分散存储于内存中的,无须存储在连续空间内。- 访问数据:从第一个数据开始,顺着指针的指向一一往下访问;时间复杂度:O(n)- 添加删除数据:改变添加(删除)位置前后的指针指向就可以;时间复杂度:O(1)数组:- 数组按顺序存储在内存的连续空间内,每个数据的内存地址都可以通过数组下标算出来- 访问数据:时
2022-05-06 20:04:37
1080
原创 java基础之泛型
语法格式:类声明的时候类名的右边可以加上一对尖括号,尖括号中写一个泛型通配符;下面用一个例子具体理解泛型的使用:public class MyList<E>{ Object[] valueList = {}; int size; /** * 泛型用于参数 * @param e */ public void add(E e){ valueList[size++] = e; } public
2022-04-12 09:12:54
289
1
原创 Java数组增、删、取
数组:- 定义:内存中用来存储数据的一段连续固定长度空间- 下标:从0开始标志数组第一个位置,然后依次递增+1;最大下标:长度-1- 优点:(1).通过下标操作:可以快速增、删、取、遍历- 缺点:(1).数组的长度是固定的,容量不能自动扩展,如果越界则会有异常产生。 (2).数组所开辟的内存是连续的,访问速度特别快。...
2022-03-18 08:25:26
456
原创 Java一维数组的申请与遍历
一维数组的申请方式:- 先申明,再赋值(最麻烦)//基本数据类型:int[] intArray =new int[3];intArray[0]=0;intArray[1]=1;intArray[2]=2; //引用数据类型:Person[] personArray=new Person[3];personArray[0]=new Person();personArray[1]=new Person();personArray[2]=new Person(); //区别:.
2022-03-08 11:38:23
303
1
原创 java数组内存理解习题
1.int[] a=new int[3];int[] b=a;a[0]=10;System.out.println(a[0]);System.out.println(b[0]);运行结果:10;10;原因:经过第二行的赋值运算后,a和b指向同一个内存空间。2.○1. int[] a=new int[3];○2. int[] b=new int[3];○3. a[0]=10;○4. b[0]=a[0];○5. a[0]=100;○6.
2022-03-08 11:26:06
267
原创 3.java继承的底层本质
实际我们new子类的过程是,先new一个父类,再new一个子类,只是我们不需要这么做,java内部这么操作。 就以上知识点,我们用一个例子来理解:class Father{ Father(){ System.out.println("父类"); } void Fat(){ System.out.println("!"); }}class Son extends Father{ Son(){ ...
2022-03-02 09:16:43
536
原创 向上转型-
2. 向上转型的特点:①对于成员方法去父类寻找这个方法(再次强调是通过方法名称和参数列表)a.若这个方法父类不存在,则不能通过编译。b.若这个方法父类存在,则访问的是子类的方法。②对于成员变量a.父类不存在这个成员变量,则不能通过编译b.仅仅能访问到父类的成员变量!③方法参数列表中的向上转型(特点同上面两点)(提高性内容:若存在方法的重载,并且重载后的方法参数列表都是父类,则选取结构图中最近的方法调用)3. 向下转型定义4.向下转型特点:①可能会产
2022-02-25 19:51:54
608
原创 java处理实现滤镜效果之提速、重绘
在处理好各种滤镜效果之后,还这样有一个问题,就是绘制比较慢,所以我们要做提速处理。我们之前绘制之所以比较慢,是因为我们每存储一个像素点,就会先把它绘制出来;那我们提速处理的思路,就是先把所有的像素点都存储起来,再统一绘制。这里有两种情况:(1).如果不绘制特殊形状,可以考虑直接设置RGB的值 //原图 public void drawImage_01(int[][] imgarr, Graphics g) { BufferedImage img = new
2022-02-22 09:35:12
335
原创 java基础之JFrame重写paint方法
1.为什么要重写paint方法?当我们使用JFrame创建出窗体时,遇到窗体的尺寸改变或者窗体的部分像素被移动到屏幕之外,都会导致窗体的刷新。窗体有一个系统自带的刷新方法。但这时如果窗体中有此前绘制出的图像,则图像会随窗体的刷新而消失,这时候我们就需要将绘制图像的方法重写入JFrame的paint方法中,让图像随窗体的刷新而同步再次被绘制出来...
2022-02-21 10:38:38
2508
原创 图片原理与处理实现滤镜效果
存储颜色的方法:把颜色存储到一个整数里面。三原色的取值范围是0-255;256=1 byte,1个int有4个byte,从高到低分别叫做b1 b2 b3 b4,取b2 b3 b4分别去存储RGB,b1放参数。我们先来绘制一个像素点: //重写JFrame的paint方法,作用是:窗体出现在屏幕上时,自动调用这个方法 @Override public void paint(Graphics g) { super.paint(g); Color c.
2022-02-09 23:11:09
346
原创 1.java基础之继承:super关键字、构造方法、方法重写
我们先简单罗列继承的相关知识点:- 关键字:extends- 格式:public class 子类名 extends 父类{}- 1. 继承的属性和方法:子类可以直接继承到父类的成员属性和成员方法(构造方法不能被继承)- 2.构造方法: 需要满足条件:子类构造方法必须调用父类的构造方法。并且要在子类构造方法的第一行调用。格式为super(参数列表). a.自己在每个子类的构造方法中老老实实地显式调用父类构造方法 b.没有显式调用父类构造方法...
2022-02-09 19:27:15
602
原创 Java通过按钮监听实现多种滤镜效果:原图、马赛克、反片、脸部提亮、灰度、二值化、美白、油画、轮廓提取、撤回
- UI - initUI(); - 添加监听器 创建监听器对象 - 获取Graphics(绘图类) 传入监听器中
2022-01-31 15:32:16
940
原创 java二维数组的申请与遍历
一.一维数组的申请方式前言:数组的长度是固定的,如果越界则会有异常产生。并且数组所开辟的内存是连续的,访问速度特别快。①先申明,再赋值(最麻烦)a.基本数据类型:int[] intArray=new int[3];intArray[0]=0;intArray[1]=1;intArray[2]=2;b.引用数据类型:Person[] personArray=new Person[3];personArray[0]=new Person();personArray[1]
2022-01-28 22:24:08
651
1
原创 关于默认复制和null的讨论
1.默认值的不同境遇①int a;②Student student;对于①首先大家可以看到的是int是一个基本数据类型,但没有初始化,但因为是基本数据类型, java会给a一个默认的0。对于②来说,student这个凭证没有任何权限,并且Student 并不是基本数据类型,没有默认赋值,所以student就等于null。2.null造成的结果假设Student 有一个成员变量,grade。正确的访问是 Student student=new Student ();student.
2022-01-27 22:49:05
455
1
原创 用java的事件监听机制实现一个简单的画板应用:通过选择图形按钮和颜色按钮来画出自己想画的图形:直线、空心矩形、圆形、折线、多边形、圆角矩形、弧线、曲线、喷枪
界面开发:我们先介绍一下界面的组成:- 可视化组件:窗体、按钮、输入框、标签- 元素规则类:尺寸、颜色、布局管理- 内容:字符串、图片包:- java.awt: 早期的界面开发包,尺寸、颜色、布局保留使用- java.swing: 升级的界面开发包,使用一些可视化组件开发界面的步骤:(1):创建一个窗体对象(2):设计窗体对象的属性(3):创建组件对象放置在窗体中(4):设置组件对象的属性、内容、尺寸、背景...
2022-01-24 10:55:27
742
1
原创 接口特性-
类:- 类的方法是具体的,方法中的结构写好之后就不能改了- 类是不完全抽象的,创建的对象是非常相似的接口:- 关键字:interface- 格式:public interface 接口名{}- 特性:1.接口中的方法是抽象的,没有方法体 2.接口中的属性默认静态常量 static final 修饰 3.接口中的属性要初始化...
2022-01-18 15:54:09
422
原创 静态变量的常见应用
static:静态的 唯一- 不由static修饰的属性,类可以创建对象,每个对象都有一份自己的属性- 由static修饰的属性与方法,属于类,且只有一份,直接由类名调用- 静态方法中不能直接使用方法外的非静态变量- 静态常量:命名要求全字母大写,命名尽量清晰- static final int num=3;...
2022-01-18 15:20:17
611
1
原创 final关键字
final class FontDialog{} //修饰一个类,表示该类不可继承class FontDialog{ public final void show(); //表示该类在被子类继承的情况下,show函数不能重写} class FontDialog{ public final double FFi=3.1415; //用final来定义常量,表示成员变量的值不允许改变.
2022-01-18 11:06:39
277
原创 2.用一个简单的pk小游戏深刻理解继承
继承:- 关键字:extends- 格式:public class 子类名 extends 父类{}- 1.继承的属性和方法:子类可以直接继承到父类的属性和方法- 2.向上转型:子类继承了父类之后,子类的对象实际也属于父类类型,子类对象可以自动转为父类对象。...
2022-01-16 21:08:51
1496
原创 面向对象基础:类与对象
类:- 定义:对具有相同属性特征的一类事物的信息描述 ,学生类(学号 成绩 考试);- 关键字:class- 格式:Public class 类名;- 构成:属性(名词性的数据,比如身高,年龄); 格式:数据类型 属性名; 方法(行为功能的描述,比如学习,考试); 格式:返回值return 方法名(参数列表){方法体} ...
2022-01-16 17:59:12
208
原创 输出一个年份和月份,打印该年该月的天数
public class Entrance { public static void main(String[] args) { String strYear=javax.swing.JOptionPane.showInputDialog("输入年份"); int year =Integer.parseInt(strYear); String strMonth=javax.swing.JOptionPane.showInputDialog("输入月份"); .
2021-11-22 17:11:15
555
原创 输出1-1000内的所有素数
public class Sushu { public static void main(String[] args) { int a = 3, b, i; System.out.println(2); for (a = 3; a < 30; a++) { for (i = 2; i <= (int) Math.sqrt(a); i++) { b = a % i; .
2021-11-05 16:44:08
419
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人