- 博客(49)
- 收藏
- 关注
原创 UDP通信
public void actionPerformed(ActionEvent e) {//单机按钮ince出发时间。//显示接收广播的文本域。//绑定按钮ince的单击事件。
2023-12-08 08:19:40
96
原创 TCP通讯
本章节主要讲解的是TCP和UDP两种通信方式它们都有着自己的优点和缺点 这两种通讯方式不通的地方就是TCP是一对一通信 UDP是一对多的通信方式 接下来会一一讲解。System.out.println("服务端与 " + ip + ":" + port + " 已建立连接");// 通过ss.accept()开始持续监听12345端口,当有连接时获取收到的包装成Socket的客户端对象。// 创建输入流接收服务端发送的消息(字节流)// 创建输入流接收客户端发送的消息(字节流)// 将输入写入缓冲。
2023-12-08 08:17:32
380
原创 第二十章Java博客
当线程的run()方法执行完毕时,线程进入死亡状态。这是由于同时创建了4个线程,这4个线程执行run()方法,在num变量为1时,线程一、线程二、线程三、线程四都对num变量有存储功能,当线程一执行run()方法时,还没有来得及做递减操作,就指定它调用sleep()方法进入就绪状态,这时线程二、线程三和线程四也都进入了run()方法,发现num变量依然大于0,但此时线程一休眠时间已到,将num变量值递减,同时线程二、线程三、线程四也都对num变量进行递减操作,从而产生了负值。
2023-11-29 17:15:06
101
原创 JAVA小游戏“简易版王者荣耀”
/ 存放将要删除的元素。然后是创建类 GameFrame 运行类。// 用户不能调整窗口大小。// 添加键盘监视器。
2023-11-29 16:54:19
167
原创 JAVA小游戏 “拼图”
JLabel background =new JLabel(new ImageIcon("D:\\学习资料\\Java\\拼图小游戏\\image\\background.png"));JLabel winJLabel = new JLabel(new ImageIcon("D:\\学习资料\\Java\\拼图小游戏\\image\\win.png"));String path = "D:\\学习资料\\Java\\拼图小游戏\\image\\animal\\animal1\\";//取消默认的居中放置。
2023-11-19 19:42:50
203
原创 java“俄罗斯方块”
/有方块的地方变为绿色。if (data[m + 1][n] == 1)// 如果下一个地方有方块,则直接返回false。if (data[i][j - 1] == 1) {//如果左移一格有方块时。if (allRect[i] == rect)//找到下落的方块对应的形状,然后进行形状改变。//把此方块区域data[][]标志为1,表示有数据。if (sum == 10) {//如果k层都有方块,则消除k层方块。
2023-11-17 14:52:45
73
原创 java“贪吃蛇”小游戏
null) {//如果长度不为空且游戏未结束。right = new ImageIcon("D:\\学习资料\\Java\\images\\right.png");down = new ImageIcon("D:\\学习资料\\Java\\images\\down.png");left = new ImageIcon("D:\\学习资料\\Java\\images\\left.png");body = new ImageIcon("D:\\学习资料\\Java\\images\\body.png");
2023-11-17 14:52:02
165
原创 第十九章 Java绘图
此方法总是用非缩放的图像来呈现缩放的矩形,并动态的执行所需的缩放,次操作不适用缓存缩放图像,执行图像从源到目标的缩放,将源矩形的第一个坐标映射到目标矩形的第一个坐标,源矩形的第二个坐标映射到目标矩形的第二个坐标,按需求缩放和反转子图像,以保持这些映射关系。Graphics类提供了绘图常用的方法,利用了这些方法可以实现,直线,矩形,多边形,椭圆,圆弧等,形状和文本,图片的绘制操作。另外,在执行这些操作之前,还可以使用相应的方法,设置绘图的颜色和字体等状态属性。//绘制指定大小的图片。
2023-11-17 08:46:00
58
原创 第18章Swing程序设计
Swing中提供两种列表组件,分别是下拉列表框与列表框。Swing中大多数数组件均为轻量级组件,使用Swing开发出的窗体风格与当前平台(如WindowsLinux等)的窗体风格保持一致 本章讲解了主要介绍了Swing的基本要素,包括窗体的布局,容器,常用组件,如何创建表格等内容。不过Swing是JDK自带的功能,并且能非常好的体现出java语言在面对对象,接口时间等方面设计模式,又能提供直观的呈现运行效果,有所以本书还能纳入此内容,本章不能深入的讲解Swing技术,仅会介绍一些常用组件的使用方法。
2023-11-10 09:13:04
59
原创 第十六章 反射与注解
例如,可在程序运行时对象用户输入的信息进行验证,还可以逆向控制程序的执行过程,讲解了反射,另外java还提供了Annotation注解功能,该功能建立在反射机制的基础上,包括定义Annotation类型的方法和程序运行时访问Anntation信息的方法。getFields(String name) Field对象 获取权限为public的指定的成员变量。利用Class类的对象demo1,可以访问用来返回该对象的demo1对象的描述信息,可以访问的主要描述信息如下。
2023-11-03 09:08:00
44
原创 第十五章 I/O(输入/输出)
想要永久的储存程序创建的数据,就需要将其保存在磁盘文件中,而中只有数据储存起来才可以在其他程序中使用它们java的I/O技术可以将数据保存起来到文本文件中,二进制文件甚至是ZIP压缩文件,以达到永久性保存数据的要求 掌握I/O处理技术能够提高对数据的处理能力。程序运行期间,大部分数据都在内存中进行操作,当程序结束或者关闭时,这些数据将消失,如果需要将数据永久保存, 就可以使用到输入输出流与指定的文件建立连接,当需要的数据永久保存到文件中就需要使用。//输出字节流 要输出到哪去 输出带file中。
2023-11-03 09:06:59
52
原创 第十四章 Iambda表达式和流处理
java开发可能出现这样一种特殊场景:把数组类型当作泛型,如果犯法返回值为泛型,在这种特殊场景下,方法就应该是返回一个数组类型的结果,如果要求抽象方法引用构造方法,又要返回数组类型结果,这种场景下抽象方法的参数有了另外一个含义:数组个数 抽象方法的参数可以决定返回的数组长度,但是数组中的元素并不是有值的,还需要再次赋值。在这实例中,函数式接口的抽象方法有两个参数,Iambda表达式的圆括号内也写了两个参数对应的抽象方法,注意 Iambda表达式中的参数不需要与抽象方法的参数名称相同,但是顺序必须相同。
2023-10-15 19:35:28
48
原创 学生管理系统 (java连接数据库版1)
/使用的是mysql中的模糊查询。//executeQuery只能用来查询 //新增修改删除都是使用另一种e。
2023-10-12 23:48:09
120
原创 学生选课系统基础版
显示创造一个Scanner对象来获取学生从键盘中输入的值 在使用for循环来遍历 再使用get方法来哎获取 学生的id 在使用for循环来判断是学生输入的数 是否为空 如果为空的话 就是用next获取学生输入的名字 再new对象来创建一个新的对象 需要传入两个参数 也是键值对 一个是传入一个 int类型和一个String类型 然后储存学生的信息。Course[] course = { new Course("3","离散数学"),new Course("4","汇编语言")};
2023-10-12 23:41:51
59
原创 第十二章 集合类
Map集合包裹了Map接口以及Map接口的所实现类。集合类于数组的不同之处是:数组的长度是固定的 但集合类不同长度是可变的:数组用来存放基本数据类型的数据,集合用来存放对象的引用。TerrMap类不仅实现了Map接口,还实现了java.util.SortedMap接口,因此集合中的映射关系具有一定的顺序,但是添加了 删除和定位映射关系是,TreeMap类比HashMap类性能稍差由于TreeMap类实现了Map结合中的映射关系是根据建对象按照一定的顺序排列的 因此不允许建对象为null。
2023-09-16 19:17:27
54
原创 第十三章 枚举类型和泛型
代码中一共new了四个对象 两个 String类型 一个double类型 一个boolean类型 依次定义 然后输出 使用泛型定义额类在生命该类对象时 可以根据不同地需求指定<T>真正地类型 ,而是在使用类中的方法传递或返回 数据类型时将不再进行类型转换操作,而是使用在生命泛型类对象是“<>”符号中设置数据类型。String value[]= {"成员1","成员2","成员3","成员4","成员5",};public void steArray(T[]array) {//使用set方法。
2023-09-16 19:11:15
55
原创 java实现简易扑克牌(炸金花)
private void swap(List<Poker> pokers, int i, int j){//传入两个参数 然后用于两个元素交换位置 然而达到洗牌的效果。System.out.println("第 "+(i+1)+"个人的牌:"+hand.get(i));public Poker(String suit, int rank) {//参数为扑克牌的花色和大小的构造方法。public void setSuit(String suit) {//使用set方法重写。i++) {//遍历牌的花色。
2023-09-16 19:09:43
164
原创 第三篇java核心技术复习博客
运行时异常的特点时java编译器不会对其进行检查,也就是说在程序中出现这类异常时,即使没有使用tyr...carch语句捕捉或者使用throws关键字抛出,程序也能通过编译,运行时异常一般是由程序中的逻辑出现错误引起的,在程序运行时无法恢复,比如通过数组的角标访问数组的元素时,如果超过了数组的最大角标,就会发生运行时异常,代码如下所示。上一节中由于调用自己写的divide()方法,因此很清楚该方法可能会发生异常,试想一下,如果去调用一个别人写的方法时,是否能知道别人写的方法是否会有异常呢?
2023-05-28 19:52:45
70
原创 第11章常用类库学习总结
java是一中面向对象语言,但在java中不能定义基本数据类型对象,为了能将基本数据类型是为对象进行处理,jaba提出了包装类的概念,他主要是将基本数据类型封装在包装类中,如int类型的包装类Intger,boolean型的包装类boolean等这样便可以把这些基本数据类型转换为对象进行处理java中的包装类及其对象的基本数据类型如下表所示。无所谓,术业有专攻,在常用类中主要包含将基本数据类型封装起来的包装类,解决常见数学问题的Math类,生成随机数的Random类,以及处理日期时间的相关类。
2023-05-28 19:40:04
70
原创 第十章 字符串学习总结
虽然使用”+“可以达到附加新字符或者新字符串的目的,但”+“会场新一个新的String实例,会在内存中创建新的字符串对象,如果重复的对字符串进行修改,将极大的增加系统开销。对字符串对象进行比较不能简单的使用比较运算符“==”,因为比较运算符比较的是两个字符串的是否相同,即使两个字符串内容相同,两个对象的内存地址也是不同的,使用比较运算符任然会返回false。通过该方法的多个重载形式,可实现接受任何类型的数据,如int ,boolean,char, String,double 或者另一个字符串生成器等。
2023-05-12 13:01:06
110
原创 第九章 异常处理 总结
从以上代码和图片所述,可以看出程序仍然输出最后的提示信息,没有应为异常而终止,在上面代码图中,将可能出现异常的代码快用try-catch语句快进行处理,当try语句块中的语句发生异常时,程序就会跳转到catch语句块中执行,执行完catch语句块中的程序代码后,将继续执行catch语句块后其他代码,而不会执行try语句块中发生的异常语句后面的代码。在Java中,如果某个方法抛出异常,既可以在当前方法中进行捕捉,而后处理该异常,也可以将该异常向上抛出,交由方法调用者来处理。
2023-04-28 03:24:00
63
原创 第二篇java核心技术 复习博客
2.数组排序在操作数组时,经常需要对数组中的元素进行排序,其中冒泡排序是比较常见的一种算法。冒泡过程中,不断比较数组中相邻的两个元素,较小者向上浮,较大者往下沉,整个过程和水中气泡上升的原理相似。数组排序的过程如下所示:(1)从第一个元素开始,将相邻的两个元素依次比较,直到最后两个元素完成比较,如果第一个元素比后一个大,则交换位置。整个过程完成后,数组中最后一个元素就是最大值。(2)除最后一个元素,将剩余的元素继续进行两两比较,过程与第一步类似,这样数组中第二大的元素放在了倒数第二个位置。
2023-04-24 02:07:18
84
原创 第八章总结 包和内部类
在成员内部类中可以随意使用外部类的成员方法及成员变量,尽管这些类被修饰为private 尽管成员变量i以及成员方法g()都是外部类中被修饰为private但在成员内部类中可以直接使用,内部类的示例一定要绑定在外部类的实例上,如果从外部类中从初始化一个内部类对象,那么内部类对象就会绑定在外部类对象上,内部类初始化与其他类的初始化方式相同,都是使用new关键字 一面一个实例演示。一个名称为Login的类,但是这两个类所实现的功能完全不同,于是问题就产生了--编译器不会允许存在同名的类文件。
2023-04-24 01:42:38
76
原创 第七次java作业
System.out.print("差价 "+(c.sum-a.sum));System.out.println(mingzi+"的价格为"+shijian+"元RMB");//调用toString方法传入参数。System.out.println(mingzi+"的价格为"+shijian+"元RMB");System.out.println("火车的速度为" +a+ ("公里每小时"));
2023-04-06 09:08:59
115
原创 第七章 继承 多态 抽象类与接口
将方法定义为final类型,可以防止子类修改父类的定义与实现方法 同时定义为final的方法执行效率要高于非final方法 在需要时股权哑巴宣布这个i部分曾经提到过private修饰符 如果一个父类的某个方法被设置为private 子类将无法访问该方法,自然无法覆盖该方法,也就是说一个定义为private的方法隐式被指定为final类型因此无需将一个定义为private的方法在定义为final类型语法如下。第六章中我们曾学习过构造方法 ,知道构造方法的名称是由类名决定,所以构造方法只有一个格名称。
2023-04-05 06:00:18
76
原创 第六章 总结
在java中提供了一个finalize()方法这个方法是Object类的方法他被声明为protected,用户可以在自己的类中定义这个方法,如果用户在类中定义finalize()方法在垃圾回收时首先调用该方法 ,在下依次垃圾回收动作发生时 才真正回收被对象占用的内存。雷士对象的抽象,它用于描述一组对象的共同特征行为。例如有一个汽车的类,该类中描述了汽车的普通特性和功能,而轿车的类中不经可以包含汽车的特性和功能,还应该增加轿车特有的功能,这时,可以让轿车类继承汽车类,在轿车类中单独添加了轿车的特性就可以了。
2023-04-02 04:11:32
56
原创 熟悉Eclipse开发工具
(2)之后单机点进第一个超链接。之后点红色方框里的链接。(3)点进去之后,如果是安卓电脑点击红色方框内的链接。如果是苹果电脑点击绿色方框内的链接。点进去之后会出现以下内容,点击红色方框下载可以了。(4)进入之后,不要动,五秒左右自动下载。
2023-04-01 22:05:58
45
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人