- 博客(54)
- 收藏
- 关注
原创 Java第二十一章网络通信
一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。传输控制协议(TCP):TCP(传输控制协议)定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。下面是简单的单向通信的实例。在TCP/IP网络体系结构中,TCP(传输控制协议,Transport Control Protocol、UDP(用户数据报协议,User Data Protocol)是传输层最重要的两种协议,为上层用户提供级别的通信可靠性。
2023-12-06 21:51:41
949
原创 Java利用UDP实现简单群聊
/ 本方法完成接收服务器消息的后续工作-在文本框中显示服务器消息,子类的receive()方法在接收服务器消息后可以调用本方法。原文链接:https://blog.csdn.net/2301_76534800/article/details/134838262。// 使用接收文本框创建滚动窗口(把文本框添加到了滚动窗口中),总是显示纵向滚动条,永不显示横向滚动条。// 在本方法中启动监听服务器线程,调用本类receiveText(String)把接收到的文本显示出来。//把接收到的消息添加到文本框中。
2023-12-06 21:45:18
1220
原创 Java利用UDP实现简单的双人聊天
centerTextArea.append(p.getAddress().getHostAddress()+":"+((InetSocketAddress)p.getSocketAddress()).getPort()+"对我说:\n"+new String(p.getData(),0,p.getLength())+"\n\n");JOptionPane.showMessageDialog(this, "端口号被占用,请重新设置端口");stateLB.setText("已在"+port+"端口监听");
2023-12-06 21:44:08
1379
原创 Java利用TCP实现简单的双人聊天
/-------------------客户器端读取回复信息----------------------//System.out.println("服务器端启动,等待连接--------------");System.out.println("这是从客户端接收的数据:" + info);//-------------------服务器端回复信息----------------------//// System.out.println("信息发送成功"+str);//3.通过Socket获取输入流。
2023-12-06 21:42:19
1190
原创 java游戏制作-王者荣耀游戏
/ 存放将要删除的元素。System.out.println("技能一冷却时间: " + coolDownTimeOne / 1000);System.out.println("三技能冷却时间: " + three / 1000);System.out.println("三技能冷却时间: " + three / 1000);System.out.println("一技能冷却时间: " + one / 1000);System.out.println("二技能冷却时间: " + two / 1000);
2023-11-28 12:41:49
2216
原创 第二十章:多线程
public static void init(JFrame frame, int width, int height) { // 初始化程序界面的方法。Thread t = new Thread(new Runnable() { // 创建匿名线程对象。i++) {//继承重写方法。private static Color getC() { // 获取随机颜色值的方法。
2023-11-28 12:39:12
944
原创 java游戏制作-拼图游戏
首先创建一个Java项目命名为puzzlegame。先在Java项目中创建图片文件夹,将图片导入其中。再在src中创建一个包,用来制作主界面。
2023-11-19 18:29:05
118
原创 俄罗斯方块
null) { //判断该位置是否有方块。String[] show_state= {"P[暂停]","C[继续]","R[重开]"};//重新开始游戏,把游戏状态变为正在游戏。//判断是否越界或者重合,如果是则右移恢复原来的状态,不是则左移。//判断是否越界或者重合,如果是则左移恢复原来的状态,不是则右移。//判断,当前游戏状态在游戏中时,每隔0.5秒下落。//判断方块是否出界,出界返回true,没有则返回false。//判断游戏是否结束,结束返回true,继续返回false。
2023-11-16 20:38:41
91
原创 使用Java实现一个简单的贪吃蛇小游戏
再在src文件下创建两个包,一个命名为com.snake.view用来存放所有的图形界面类;一个命名为com.snake.controller用来存放启动的入口类(控制类)。然后,创建贪吃蛇游戏的Java项目命名为snake_game,并在这个项目里创建一个文件夹命名为images,将图片素材导入文件夹。最后,分别在两个包下创建两个类命名为SnakeStart和SnakeJPanel。首先获取贪吃蛇小游戏所需要的头部、身体、食物以及贪吃蛇标题等图片。
2023-11-15 19:18:34
201
原创 第十八章:Swing自述
Object o[] = {new JButton("是的"), new JButton("再想想")};bl.addActionListener(new ActionListener() { // 为按钮添加点击事件。p1.setBorder(BorderFactory.createTitledBorder("面板1"));
2023-11-08 08:19:35
55
原创 第十六章总结:反射和注解
System.out.println("返回值为:" + method.invoke(demo, "7", 5));System.out.println("返回值为:" + method.invoke(demo, 168));System.out.println("返回值为:" + method.invoke(demo, parameters));System.out.println("名称为:" + field.getName());
2023-10-27 10:03:49
82
原创 第十五章:输入输出流I/O
System.out.println("文件中的信息是:" + new String(byt, 0, len));System.out.println("文件中的信息是:" + new String(ch, 0, len));System.out.println("readBoolean方法读取数据:" + dis.readBoolean());
2023-10-20 14:41:51
246
原创 第14章总结:lambda表达式与处理
list.add(new Employee("老张", 40, 9000, "男", "运营部"));list.add(new Employee("大刚", 32, 7500, "男", "销售部"));list.add(new Employee("翠花", 28, 5500, "女", "销售部"));list.add(new Employee("小马", 21, 3000, "男", "开发部"));list.add(new Employee("老王", 35, 6000, "女", "人事部"));
2023-10-15 10:36:48
111
原创 第十七章:Java连接数据库jdbc(java和myql数据库连接)
/传入参数:1.哪个数据库2.哪个用户3.密码。//用什么技术,主机地址,端口号:所有数据库默认端口号3306,需要连接的数据库名称。//第六步:关闭连接释放资源:java存在自动回收资源,不关闭会占空间。//第三步:获取statment对象,准备。//第四步:执行sql语句返回结果集。//第五步:遍历结果集。//第一步:注册驱动。//第二步:获取连接。最后在主函数直接调用。
2023-10-06 17:14:16
58
原创 13章的总结
在泛型机制中,提供了类型通配符,其主要作用是在创建一个泛型类对象时限制这个泛型类的类型实现或继承某个接口或类的子类。JDK中的集合接口、集合类都被定义了泛型,其中List<E>的泛型E实际上就是element元素的首字母,Map<K,V>的泛型K和V就是key键和value值的首字母。默认可以使用任何类型来实例化一个泛型类对象,但Java中也对泛型类实例的类型作了限制。(1)泛型的类型参数只能是类类型,不可以是简单类型,如A<int>这种泛型定义就是错误的。其中,T是泛型的名称,代表某一种类型。
2023-09-24 18:46:17
36
原创 学生选课系统1
使用set中的contains方法,set中调用contains(obj)方法,contains方法的实现机制:先调用object中的hashcode方法,再调用object中的equals方法。// 定义数组存放要删除的值。List中的contains()方法借Map中的containsValue()方法调用equals()方法来进行比较。
2023-09-24 18:44:17
38
原创 java12章
提到容器不难想到数组。常用的集合有 List 集合、Set 集合和 Map 集合,其中 List 集合与 Set 集合继Collection 接口,各接口还提供了不同的实现类。需要向集合中插入、删除对象时,使用 LinkedList 类实现的 List 集合的效率较高,但对于随机访问集合中的对象,使用 LinkedList类实现 List集合的效率较低。HashMap 类是基于哈希表的 Map 接口的实现,此实现提供所有可选的映射操作,并允许使用null值和null键,但必须保证键的唯一性。
2023-09-18 18:44:47
67
原创 java炸金花
/调用时,产生随机的花色和数字。i++) { //外循环为4种花色。System.out.println("第 "+(i+1)+"个人的牌:"+hand.get(i));System.out.println("剩下的牌");System.out.println("洗牌:");System.out.println("揭牌:");
2023-09-16 12:33:41
103
原创 java复习3
System.out.println("m 转换为String型后与整数20的求和结果为: "+(str1+20));System.out.println("str 转换为double型后与整数20的求和结果为: "+(a+20));System.out.println("装箱后的结果为:" + b + "和" + c);2.4Java中的string类的常用方法2。2.3Java中的string类的常用方法。3.4Java中基本类型和字符串之间的转换。//将基本类型转换为字符串。
2023-09-10 13:09:05
28
原创 java复习2
public class 类名{public class 类名{第四章 面向对象特性之继承和多态。第二章 面向对象的基础认知。第三章 面向对象特性之封装。2.2IDEA创建类与对象。3.1包-package。3.3面向对象特性之封装。4.1面向对象特性之继承。Java创建类的语法。Java创建类的语法。
2023-09-10 12:56:03
27
原创 java复习1
1.1Java的介绍与前景:80%互联网公司都在用,100%银行,超过80%金融机构都在用,最好的云计算方案与生态,最好的大数据架构解决方案与生态。在遇到断点后,程序只能一步一步的执行,可以按Resume Program按钮(快捷键F9)恢复程序执行,直到下一次遇到断点。1.2Java的特性与版本:a.Java代码--.java 字节码文件---.class。System.out.println("我的家乡在:"+city);j2se:标准版,提供了Java语言最核心的功能,是其他版本的基础。
2023-09-10 12:48:42
27
原创 第11章总结
System.out.println("3.14是否为非数字值:"+Double.isNaN(dNum.doubleValue()));System.out.println("取2的平方根与2商的反正弦"+Math.asin(Math.sqrt(2)/2));System.out.println("取2的平方根与2商的反余弦"+Math.asin(Math.sqrt(2)/2));System.out.println("Π/2的角度值"+Math.toDegrees(Math.PI/2));
2023-05-21 09:27:54
54
原创 第十章总结
当调用String类的lastIndexOf()方法时,会从当前字符串的开始位置检索参数字符串str,并将最后一次出现str的索引位置返回。当调用String类的indexOf()方法时,会从当前字符串的开始位置搜索s的位置。indexOf()方法返回的是搜索的字符或字符串首次出现的位置,lastIndexOf()方法返回的是搜索的字符或字符串最后一次出现的位置。replace()方法可实现将指定的字符或字符串替换成新的字符或字符串。使用String类的length()方法可获取声明的字符串对象的长度。
2023-05-07 07:10:42
50
原创 第九章总结
(3)如果在当前抛出异常的方法中处理异常,可以使用try-catch语句块捕获并处理,否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。完整的异常处理语句一定要包含finally语句,无论程序中有无异常发生,并且无论之前的try-catch语句块是否顺利执行完毕,都会执行finally语句。在Java中,提供了一些异常类用来描述经常发生的异常。在Java中,如果某个方法抛出异常,既可以在当前方法中进行捕捉,而后处理该异常,也可以将异常向上抛出,交由方法调用者来处理。
2023-04-28 09:17:21
38
原创 第八章总结
Java中每个接口或类都来自不同的类包,无论是Java API中的类与接口还是自定义的类与接口,都需要隶属于某一个类包,这个类包包含了一些类和接口。在使用import关键字时,可以指定类的完整描述,如果为了使用包中更多的类,可以在使用import关键字指定时在包指定后加上*,这表示可以在程序中使用该包中所有类。一个完整的类名需要包名与类名的组合,每个类都隶属于一个类包,只要保证同一类包中的类不同名,就可以有效地避免同名类冲突的情况。如果在类中再定义一个类,则将在类中再定义的那个类称为内部类。
2023-04-23 06:49:35
32
原创 第二次复习
所谓类的封装是指在定义一个类时,将类中的属性私有化,即使用private关键字来修饰,私有属性只能在它所在类中被访问,如果外界想要访问私有属性,需要提供一些使用public修饰的公有方法,其中包括用于获取属性值的getxx方法和设置属性值的setxx方法。在Java中,定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。3.在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类。例如下面这种情况是允许的。
2023-04-23 06:44:23
51
原创 第七章总结
因为四边形类与圆形类没有继承关系,因此两者不能使用instanceof关键字进行比较,否则会发生“不兼容”错误。父类的方法——返回参数相同,方法名相同,传入参数相同,只有方法体不同。利用多态可以使程序具有良好的扩展性,并可以对所有类对象进行通用的处理。所以Baby想要打开电视,就只能找爸爸来打开了。对象名 instanceof 类名。报错:不能覆盖Dad中的final方法。将子类对象赋值给父类引用。将父类对象赋值给父类引用。——不可以被修改(常量)需要进行强制类型转换。方法名相同,参数不同。
2023-04-04 18:26:52
37
原创 第一篇Java基础知识复习博客
9、浮点数常量就是在数学中用到的小数,分为float单精度浮点数和double双精度浮点数两种类型,其中,单精度浮点数后面以F或f结尾,而双精度浮点数则以D或a结尾,当然,在使用浮点数时也可以在结尾处不加任何的后缀,此时虚拟机会默认为double双精度浮点数。16、在为一个float类型的变量赋值时需要注意一点,所赋值的后面一定要加上字母“F”(或“f”),而为double类型的变量赋值时,可以在所赋值的后面加上字符“D”(或“d”),也可不加。3常量名所有字母都大写,单词之间用下划线连接。
2023-03-28 01:02:24
51
原创 java 类和对象(第六章)
局部变量是在方法被执行时创建,在方法执行结束时被销毁。局部变量在使用时必须进行赋值或者被初始化,否则会出现编译错误。在Java中,对象的属性也称为成员变量,成员变量可以是任意类型,整个类中均是成员变量作用范围。在相互不嵌套的作用域中可以同时声明两个名称和类型相同的局部变量。权限修饰符 可写可不写,定义的这个方法有哪些人可以使用。在同一区域中不可以定义相同名称和类型的局部变量。return有强制中断方法的作用。双击中括号后蓝色区域就是作用域。
2023-03-26 22:28:37
40
原创 面对对象概述
类似封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类,例如鸟类封装的所有鸟类共同属性和应有的行为。现实世界中随处可见的一种事物就是对象。对象是事实存在的实体,通常都会将对对象划分为两个部分,静态部分与动态部分。
2023-03-20 12:50:43
53
原创 数组排序算法
就是以相反的排序,把原有的数组内存重新排序。反转排序的基本思想比较简单,把数组的最后1个元素和第1个元素替换,倒数第2个元素与第2个元素替换,以此类推。它排序数组元素的过程总是在将小的数往上放,较大的竖往后放类似于水中气泡往上升的动作,所以称为冒泡排序。System.out.println("数组反转后内容:");选择排序也叫直接排序,它的排序速度比冒泡排序要快一些。// TODO 自动生成的方法存根。// TODO 自动生成的方法存根。// TODO 自动生成的方法存根。
2023-03-18 16:12:41
158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人