- 博客(39)
- 收藏
- 关注
原创 Java第二十一章网络通信
一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。传输控制协议(TCP):TCP(传输控制协议)定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。下面是简单的单向通信的实例。在TCP/IP网络体系结构中,TCP(传输控制协议,Transport Control Protocol、UDP(用户数据报协议,User Data Protocol)是传输层最重要的两种协议,为上层用户提供级别的通信可靠性。
2023-12-18 12:31:48 24
原创 Java利用UDP实现简单群聊
/发送文本框,用来显示当前用户要发送的文本。// 使用socket向群组发送,socket的send()方法需要两个参数:DatagramPacket、端口号。// 本方法完成接收服务器消息的后续工作-在文本框中显示服务器消息,子类的receive()方法在接收服务器消息后可以调用本方法。// 使用接收文本框创建滚动窗口(把文本框添加到了滚动窗口中),总是显示纵向滚动条,永不显示横向滚动条。// 在本方法中启动监听服务器线程,调用本类receiveText(String)把接收到的文本显示出来。
2023-12-18 12:30:57 27
原创 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-18 12:30:13 28
原创 Java利用TCP实现简单的双人聊天
/-------------------客户器端读取回复信息----------------------//System.out.println("服务器端启动,等待连接--------------");System.out.println("这是从客户端接收的数据:" + info);//-------------------服务器端回复信息----------------------//// System.out.println("信息发送成功"+str);//3.通过Socket获取输入流。
2023-12-18 12:29:21 9
原创 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-12-18 12:28:33 18
原创 第二十章:多线程
Thread类中提供了一种礼让方法,使用yield()方法表示,它只是给当前正处于运行状态的线程一个提醒,告知它可以将资源礼让给其他线程,但这仅是一种暗示,没有任何一种机制保证当前线程会将资源礼让。public static void init(JFrame frame, int width, int height) { // 初始化程序界面的方法。// 设置进度条的当前值。
2023-12-18 12:27:25 8
原创 俄罗斯方块
null) { //判断该位置是否有方块。String[] show_state= {"P[暂停]","C[继续]","R[重开]"};//重新开始游戏,把游戏状态变为正在游戏。//判断是否越界或者重合,如果是则右移恢复原来的状态,不是则左移。//判断是否越界或者重合,如果是则左移恢复原来的状态,不是则右移。//判断,当前游戏状态在游戏中时,每隔0.5秒下落。//判断方块是否出界,出界返回true,没有则返回false。//判断游戏是否结束,结束返回true,继续返回false。
2023-12-17 21:01:42 12
原创 使用Java实现一个简单的贪吃蛇小游戏
再在src文件下创建两个包,一个命名为com.snake.view用来存放所有的图形界面类;一个命名为com.snake.controller用来存放启动的入口类(控制类)。然后,创建贪吃蛇游戏的Java项目命名为snake_game,并在这个项目里创建一个文件夹命名为images,将图片素材导入文件夹。最后,分别在两个包下创建两个类命名为SnakeStart和SnakeJPanel。首先获取贪吃蛇小游戏所需要的头部、身体、食物以及贪吃蛇标题等图片。
2023-12-17 21:00:21 23
原创 第十八章:Swing自述
System.out.println(c1.getText() + "按钮选中状态:" + c1.isSelected());System.out.println(c2.getText() + "按钮选中状态:" + c2.isSelected());System.out.println(c3.getText() + "按钮选中状态:" + c3.isSelected());
2023-12-17 20:59:01 10
原创 第十六章总结:反射和注解
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-12-17 20:58:10 11
原创 第十五章总结
FileReader类顺序地读取文件,只要不关闭流,每次调用read()方法就顺序地读取源中其余内容,直到源的末尾或流被关闭。mark(int readlimit)方法:在输入流的当前位置放置一个标记,readlimit参数告知此输入流在标记位置失效之前允许读取的字节数。返回0~255的int字节值。DataOutputStream(OutputStream out):创建一个新的数据输出流,将数据写入文件的方法。read(byte[] b):从输入流中读入一定长度的字节,并以整数的形式返回字节数。
2023-12-17 20:57:35 12
原创 第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-12-17 20:56:54 12
原创 第十七章:Java连接数据库jdbc(java和myql数据库连接)
/传入参数:1.哪个数据库2.哪个用户3.密码。//用什么技术,主机地址,端口号:所有数据库默认端口号3306,需要连接的数据库名称。//第六步:关闭连接释放资源:java存在自动回收资源,不关闭会占空间。//第三步:获取statment对象,准备。//第四步:执行sql语句返回结果集。//第五步:遍历结果集。//第一步:注册驱动。//第二步:获取连接。最后在主函数直接调用。
2023-12-17 20:56:18 14
原创 学生选课系统基础版
使用set中的contains方法,set中调用contains(obj)方法,contains方法的实现机制:先调用object中的hashcode方法,再调用object中的equals方法。// 定义数组存放要删除的值。List中的contains()方法借Map中的containsValue()方法调用equals()方法来进行比较。
2023-12-17 20:54:13 11
原创 第十三章总结
在泛型机制中,提供了类型通配符,其主要作用是在创建一个泛型类对象时限制这个泛型类的类型实现或继承某个接口或类的子类。JDK中的集合接口、集合类都被定义了泛型,其中List<E>的泛型E实际上就是element元素的首字母,Map<K,V>的泛型K和V就是key键和value值的首字母。默认可以使用任何类型来实例化一个泛型类对象,但Java中也对泛型类实例的类型作了限制。(1)泛型的类型参数只能是类类型,不可以是简单类型,如A<int>这种泛型定义就是错误的。其中,T是泛型的名称,代表某一种类型。
2023-12-17 20:51:13 11
原创 用Java实现扑克牌游戏——简易炸金花
首先新建洗牌后的牌库集合对象与揭牌人的集合对象,然后通过add()方法将揭牌得到的扑克牌添加到对应的揭牌人集合对象中。最后返回改变后的牌库集合对象。首先新建对象,并进行买牌操作,输出所有的52张扑克牌,再进行洗牌并输出结果,然后进行揭牌操作,最后通过for循环输出揭牌的结果,并输出除揭牌已获取的扑克牌外剩余的扑克牌。首先给予扑克牌4种不同的花色,再为所有扑克牌创建新的扑克牌集合对象,通过两次for循环获取除大小王外的其他52张牌,并将其添加到该集合中,最后返回所有52张扑克牌。二.代码(注释)呈现。
2023-12-17 20:50:27 94
原创 十二章总结
(2)TreeSet类不仅实现了Set接口,还实现了java.util.SortedSet接口,因此TreeSet类实现的Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增排序,即可以通过比较器对用TreeSet类实现的Set集合中的对象进行排序。常用的集合有List集合、Set集合和Map集合,其中List集合与Set集合继承了Collection接口,各接口还提供了不同的实现类。数组的长度是固定的,集合的长度是可变的:数组用来存放基本类型的数据,集合用来存放对象的引用。
2023-12-17 20:48:27 16 1
原创 学习笔记——Java入门第三季
代码中的 “yyyy-MM-dd HH:mm:ss” 为预定义字符串, yyyy 表示四位年, MM 表示两位月份, dd 表示两位日期, HH 表示小时(使用24小时制), mm 表示分钟, ss 表示秒,这样就指定了转换的目标格式,最后调用 format() 方法将时间转换为指定的格式的字符串。Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如: Math.round()
2023-12-17 20:46:37 15 1
原创 学习笔记——Java入门第二季
再用String调用format()方法,将有占位符的字符串变量和String类实例的对象传递到format方法中。方法(Method)是用于完成特定功能的整段代码。通过对一段可以实现特定功能的代码进行简单的包装,形成方法,让程序可以反复去调用同一个方法,来反复实现这个功能。解释:因为w24h()方法返回的就是一个List类型的数据集合,所以,返回的数据集合可以实例化List<HourWeather> 的对象。多态:同一个行为具有多个不同的表现形式或形态的能力,根据输入的内容不同,去产生不同的接口实现。
2023-12-17 20:43:54 14 1
原创 学习笔记 - Java入门第一季
该段代码的含义是:如果 score 值大于90,则奖励一个 Iphone 5s ,当 score 值小于等于 90 时,先判断 score 是否大于 70 ,如果 score 是介于 70--90 之间,则奖励一个红米,如果成绩小于等于 70 ,则罚做 500 个俯卧撑。执行流程:当 i = 1 时,外层循环条件成立,进入内层循环,开始打印第一行内容。在上面的代码中创建一个长度为 2 的数组,因此数组下标范围是 0 到 1 ,而程序中下标出现了 2 ,即 scores[2] ,超过了范围,造成数组访问越。
2023-12-17 20:43:07 14 1
原创 第十一章总结及代码
Java 是一种面向对象语言,但在 Java 中不能定义基本数据类型的对象,为了能将基本数据类型视为对象进行处理,Java 提出了包装类的概念,它主要是将基本数据类型封装在包装类中,如 int 型的包装类Integer、boolean型的包装类 Boolean等,这样便可以把这些基本。
2023-05-26 13:42:30 66
原创 第八章总结
2.完整的类路径:例如,一个程序中同时使用到javautil.Date类与java.sql.Date类,如果在程序中不指定完整的类路径,编译器不会知道这段代码使用的是javautil类包中的 Date类还是iava.sgl类包中的Date类,所以需要在指定代码中给出完整的类路径。在使用import关键字时,可以指定类的完整描述,如果为了使用包中更多的类,可以在使用import关键字指定时在包指定后加上*,这表示可以在程序中使用该包中的所有类。成员内部类不止可以在外部类中使用,在其他类中也可以使用。
2023-04-23 10:48:20 36
原创 熟悉Eclipse开发工具
输入System然后输入o出现选项,点击第一个,再输入p选择任意一个选项,最后在括号里输入内容。先从Eclipse官网上下载Eclipse,然后选择一个纯英文路径解压解压包。然后鼠标选中File菜单选择New中的Java Project,弹出页面。(ps:若没有变化,点击窗口Window里的新窗口New Window)然后找到Eclipse并建立桌面快捷方式,双击打开程序,弹出以下界面。然后右鍵左侧的src,点击New里的class。点击Launch确定,进入程序界面。然后输入类名,点击完成。
2023-02-22 15:35:55 43 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人