- 博客(49)
- 收藏
- 关注
原创 UDP多人群聊
centerTextArea.append(p.getAddress().getHostAddress()+":"+((InetSocketAddress)p.getSocketAddress()).getPort()+"对我说:\n"+new String(p.getData(),0,p.getLength())+"\n\n");JOptionPane.showMessageDialog(Liao.this, "出错了,发送不成功");stateLB.setText("已在"+port+"端口监听");
2023-12-25 23:15:10 887
原创 TCP通讯
System.out.println("A说:"+mr);System.out.println("服务端已启动等待连接");System.out.println("B说:"+mr);System.out.println("连接成功!System.out.println("连接成功!1.ChatSocketServer类。2.ChatSocketClient类。* 用于接收对方消息。* 用于接收对方消息。三,结果(先服务 再客户)* 用于发送消息线程类。*用于接收消息线程类。
2023-12-25 23:14:26 795
原创 20-多线程
这种多线程的程李通常会爱生问题,以大车站售票系统为例,在代码中判断当前票数是否大于 0,如果大于0则执行蕊该票出售绘乘客的功能,但当两个线程同时访问这段代码时(假如这时只剩下一张票),第一个线稳蒋票售出,与此同时第二个线程也已经执行完成判断是否有票的操作,并得出票数大于0的结论,是它也获行售出操作,这样就会产生负数。如果当前某程序为多线程程序,假如存在一个线程 A,现在需要插入线程 B,并要求线程B免行完毕,然后再继续执行线程 A,此时可以使用 Thread 类中的join0方法来完成。
2023-12-25 23:11:21 942
原创 拼图小游戏
", "拼图完成", JOptionPane.INFORMATION_MESSAGE);原文链接:https://blog.csdn.net/2302_76552038/article/details/135185396。System.out.println("不能移动这个数字,请重新输入。System.out.print("请输入要移动的数字(1-8): ");System.out.println("恭喜你,拼图完成!// 交换空白格和要移动的数字的位置。// 寻找要移动的数字的位置。
2023-12-25 23:08:30 794
原创 王者荣耀java版
作用:初始化基本变量,定义addHp()方法,两点之间的距离方法,矩形与矩形的碰撞检测方法,矩形与圆形的碰撞检测方法,定义防御塔,英雄,小兵的攻击方法,用线程实现攻击的冷却时间。setImg("C:\\Users\\23839\\IdeaProjects\\HonorOfKings\\src\\imgs\\beast\\红隼.jpg");setImg("C:\\Users\\23839\\IdeaProjects\\HonorOfKings\\src\\imgs\\beast\\蜥蜴.jpg");
2023-12-25 23:06:20 329
原创 JAVA小游戏“飞翔的小鸟”
原文链接:https://blog.csdn.net/2302_76552038/article/details/134632986。版权声明:本文为CSDN博主「新一」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。再创建一个包 来存储照片。
2023-12-25 23:04:03 775
原创 第十九章Java绘图
9.1.1——Graphics类Graphics类是所有图形上下文的抽象基类,它允许应用程序在组件以及闭屏图像上进行绘制,Graphics类封装了Java支持的基本绘图操作所需要的状态信息,主要包括颜色,字体,画笔,文本,图像等。Graphics 类提供了绘图常用的方法,利用这些方法可以实现直线、矩形、多边形、椭圆、圆弧等意状和文本、图片的绘制操作。另外,在执行这些操作之前,还可以使用相应的方法设置绘图的颜色和字体等状态属性。19.1.2——Graphics2D类。
2023-12-25 23:00:47 936
原创 Java实现俄罗斯方块游戏
然后是方块本身,尽管它们的形状不统一,但是它们可以用一个4X4比例的方块所包围,因此用16个字节就可以把一个 方块的信息保存者,//有方块的地方变为绿色。if (data[m + 1][n] == 1)// 如果下一个地方有方块,则直接返回false。// 所有的方块类型,用16个字节来存储,俄罗斯方块图形都是在4*4格子里。if (data[i][j - 1] == 1) {//如果左移一格有方块时。if (allRect[i] == rect)//找到下落的方块对应的形状,然后进行形状改变。
2023-12-25 22:57:30 869
原创 18章总结—Swing程序设计
System.out.println(c1.getText() + "按钮选中状态:" + c1.isSelected());System.out.println(c2.getText() + "按钮选中状态:" + c2.isSelected());System.out.println(c3.getText() + "按钮选中状态:" + c3.isSelected());
2023-12-25 22:54:29 771
原创 第十六章总结
System.out.println("返回值为:" + method.invoke(demo, "7", 5));System.out.println("返回值为:" + method.invoke(demo, parameters));System.out.println("在执行方法时抛出异常," + "下面执行setAccessible()方法!i++) { // 遍历构造方法。System.out.println("修改前的值为:" + field.get(example));
2023-12-25 22:45:24 767
原创 枚举类型与泛型
泛型的类型参数只能是类类型,不可以是简单型,如A<int>这种泛型定义就是错的泛型的类型个数可以是多个可以使用extends关键字限制泛型的类型可以使用通配符限制泛型的类型版权声明:本文为CSDN博主「新一」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/2302_76552038/article/details/134516880。
2023-12-25 22:43:17 781
原创 第十五章---I/O(输入/输出)
15.1输入输出流流是一组有序的数据序列,根据操作的类型,可分为输入流和输出流两种。I/O(Input/Output,(输出)流提供了一条通道程序,可以使用这条通道把源中的字节序列送到目的地。虽然 I/O 流疆盘文件存取有关,但是程序的源和目的地也可以是键盘、鼠标、内存或显示器窗口等。Jaa 语言定义了许多类专门负责各种方式的输入/输出,这些类都被放在java.io 包中。其中输入流类都是抽象类input stream(字节输入流)或抽象reader(字符输入流)的子类;
2023-12-25 22:38:06 853
原创 17章总结
JDBC是一种可用于执行SQL语句的Java API(Application Programming Interface,应用程序设计接口),是连接数据库和Java应用程序的纽带。原文链接:https://blog.csdn.net/2302_76552038/article/details/134516738。此接口用来动态地执行SQL语句,通过实例执行的动态SQL语句,将被预编译并保存到实例中,从而反复的执行该SQL语句。这个接口代表与特定的数据库的连接,在连接上下文中执行SQL语句并返回结果。
2023-12-25 20:14:51 326
原创 lambda表达式
一:lambda表达式lambda表达式可以用非常少的代码实现抽象方法。lambda 表达式不能独立执行,因此必须实现函数式接口,并且会返回一个函数式接口的对象。语法格式如下:() -> 结果表达式参数 -> 结果表达式(参数1,参数2,...,参数n) -> 结果表达式二.lambda 表达式实现函数式接口lambda表达式可以实现函数式接口,本节将讲解函数式接口概念以及用 lambda 表达式实现不同类型的函数式接口。1.函数式接口。
2023-12-25 20:14:06 761
原创 学生管理系统数据库版
insert into student values(1,"李盼盼",13928376253,"男"),(2,"李萍萍",18276373453,"女"),(3,"王明",12734647499,"男"),(4,"小明",13963547382,"男"),(5,"李华",19283746573,"女"),(6,"李四",18236455748,"男"),(7,"王五",17364537288,"男"),(8,"张三",18236473838,"男"),
2023-10-15 19:15:10 66
原创 实现炸金花
System.out.println("玩家" + flag + "和" + flag2 + "的牌一样大");System.out.println("玩家" + flag + "的牌最大");System.out.println("三个玩家的牌一样大");System.out.println("玩家1:");System.out.println("玩家2:");System.out.println("玩家3:");
2023-10-15 19:09:41 21
原创 第三篇复习
在上面的代码中,我们首先抛出一个新的Exception对象,然后在捕获该异常时,我们创建一个新的Exception对象,并将原始的异常对象作为第二个参数传递给构造函数。然后我们重新抛出这个新的异常。虽然使用 + 运算符能够达到附加新字符或新字符串的目的,但是 + 运算符是产生一个新的String实例,创建一个新的字符串对象,如果大量的对字符串进行修改,会极大的增加系统开销。总的来说,Java中的字符串之所以具有不变性,是因为其底层结构是基于字符数组实现的,并且操作字符串时是通过创建新的字符串来实现的。
2023-09-17 19:20:39 27
原创 第二篇复习
继承是指子类可以继承父类的属性和方法,并且可以在子类中添加新的属性和方法或者重写父类的方法。定义一个Shape类作为父类,定义一个Circle类和一个Rectangle类作为子类,它们都重写了Shape类的draw方法。定义一个Animal类作为父类,定义一个Dog类作为子类,Dog类继承了Animal类的属性和方法。继承:通过extends关键字实现继承,子类继承了父类的属性和方法,并可以添加自己的属性和方法。封装:通过访问修饰符将类的属性和方法隐藏起来,外部无法直接访问,提高了代码的安全性和可维护性。
2023-09-17 19:16:43 22
原创 第一篇复习
赋值运算符: 用于给变量赋值,包括 =(赋值)、+=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)和 %=(模等于)。位运算符: 用于按位操作二进制数据,包括 &(按位与)、|(按位或)、^(按位异或)、~(按位非)、<<(左移)和 >>(右移)。=(不等于)、<(小于)、>(大于)、<=(小于等于)和 >=(大于等于)。概念: 在Java中,数组是一种可以存储固定大小的同类型元素的数据结构。算术运算符: 用于数学运算,包括 +(加法)、-(减法)、*(乘法)、/(除法)和 %(取模)。
2023-09-17 19:13:34 23
原创 炸金花代码
System.out.print("第一个人的牌:");System.out.print("第二个人的牌:");System.out.print("第三个人的牌:");System.out.println("买牌");System.out.println("洗牌");System.out.println("发牌");l.add("红桃");l.add("黑桃");l.add("方片");l.add("梅花");public class 炸金花 {package 课本;
2023-09-17 19:09:16 145
原创 第五章总结
注意这里与冒泡排序的区别,不是交换相邻元素,而是把满足条件的元素与指定的排序位置元素交换(如从最后一个元素开始排序),这样排序好的位置逐渐扩大,直至整个数组都变成已排序好的格式。声明数组后,还不能立即访问它的任何元素,因为声明数组只是给出了数组名字和元素的数据类型,要想真正使用数组,还要为它分配内存空间。基本思想:对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把较大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底层上升到顶部。例:int[ ] a;
2023-06-12 19:13:53 21
原创 第四章总结
switch语句中表达式的值必须是整型、字符型、字符串类型或枚举类型,常量值1~n的数据类型必须与表达式的值的类型相同。过程:1->2->条件真->2->条件真->...->2->条件假->3。过程:1->条件真->2->...条件真->2->条件假->3。(2)do...while循环嵌套while循环。3->条件2真->...->3->条件2真->3->条件2真->...->3->条件2真->2->条件1真->3->...->条件1真。->3->条件1假->4->条件2假->5。
2023-06-12 19:09:37 23
原创 数据类型转换
在把高精度的变量的值赋给低精度的变量时使用。除boolean类型外,其他基本类型都能以显式类型转换的方法实现转换。按精度从低到高排序的顺序为byte<short<int<long<float<double。指从低级向高级类型的转换,系统会自动执行,程序员无须进行任何操作。过程: (1)首先分别定义各个类型的变量,并赋上相应的值。类型转换是将一个值从一种类型更改为另一种类型的过程。1.隐式类型转换(自动类型转换)(2)再将各个类型的运算结果输出。2.显式类型转换(强制类型转换)(3)最后得到最终结果。
2023-06-12 19:03:28 47
原创 java流程控制
do...while循环语句与while循环语句相似,它们之间的区别就是while语句先判断条件是否成立再执行循环体,而do...while语句则先执行一次循环后再判断条件是否成立。switch(g) {//使用switch判断数字,如果输入的值满足对应的case则输出对应的语句。System.out.println("抱歉,我们店暂时没有这么大的包厢");System.out.println("密码正确,欢迎登录");System.out.println("回答"+count+"人");
2023-06-12 19:01:09 34
原创 第四次java作业
else if(true==a.equals("艺术类本科") ){//判断所输入的数据是否正确,正确则输出以下语句,不正确则执行下一个if语句。}else if(true==a.equals("体育类本科") ){//判断所输入的数据是否正确,正确则输出以下语句,不正确则执行下一个if语句。}else if(true==a.equals("民办本科") ){//判断所输入的数据是否正确,正确则输出以下语句,不正确则执行下一个if语句。default: System.out.println("输入错误!
2023-06-12 18:53:42 33
原创 java语言基础
逻辑运算符:逻辑运算符包括&(&&(逻辑与)),||(逻辑或),!6.”按位与“运算的运算符位”&“,为双目运算符,”按位与“运算的运算法则是:如果两个整形数据a,b对应位都是1,则结果位才是1,否则为0,如果两个操作数的精度不同,则结果的精度和及精度高的操作数相同。如果最高位是1,右移空的位就填入1。7.”按位或“运算的运算符为”|“,为双目运算符,”按位或“运算的运算规则是:如果两个操作数对应位都是0,则结果位也是0,否则为1,如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。
2023-06-12 18:45:25 42
原创 第二次Java作业
2.再输入一个字符型数值c2,找到Unicode转义字符中对应的字符代码,3.输出Unicode值的代码,使用空格在各行排列出想要的形状并换行。5.运行代码,得到如图所示。输入一个字符型数值c1,
2023-06-12 18:41:52 29
原创 第九章总结
Java语言的异常捕获结构有try,catch,finally3部分组成,其中,try语句块存放的是可能发生异常的Java语句:catch语句块在try语句块之后,用来激发被捕获的异常;finally语句块是异常处理结果的最后执行部分,无论try语句块中的代码如何退出,都执行finally语句块。(c)如果在当前抛出异常的方法中处理异常,可以使用try-catch语句块捕获并处理,否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
2023-06-09 22:56:57 30
原创 第十章总结
虽然使用“+”可以达到附加新字符或字符串的目的,但“+”会产生一个新的 String 实例,会在内存中创建新的字符串对象。正则表达式中的元字符及其v。通过该方法的多个重载形式,可实现接受任何类型的费据,如int、boolean、char、String、double 或者另一个字符串生成器等。System.out.println("现在是:"+hour+"时"+minute +"分"+second + "秒");2.即使两个字符串的内容相同,两个对象的内存地址也是不同的,使用比较运算符仍然会返回false。
2023-06-09 22:56:45 48
原创 java核心技术复习
一个对象成为垃圾后会被暂时的保留在内存中,当这样的垃圾堆积到一定程度时java虚拟机就会启动垃圾回收器将这些垃圾回收外从内存中释放,从而使程序获得更多的可用内存空间,除了等待java虚拟机进行垃圾回收外 还可以通过调用System.gc()方法来通知java虚拟机立即进行垃圾回收,当一个对象在内存中被释放时 他的finalize()方法被自动调用,因此可以在类中通过定义finalize()方法来观察对象何时被释放。在面向对象的思想中最核心的就是对象,为了在程序中创建对象,首先需要定义一个类。
2023-06-09 22:54:25 17
原创 第十章总结-常用库类
前面介绍了 Java 中的包装类,对于数值型的包装类,它们有一个共同的父类一Number 类,该类是一个抽象类,它是 Byte、Integer、Short、Long、Float 和 Double 类的父类,其子类必须提供将表示的数值转换为 byte、int、short、long、float 和 double 的方法。Double类和Float 类是对 double、float 基本类型的封装,它们都是Number 类的子类,都是对浮点数进行操作,所以常用方法基本相同,本节将对 Double 类进行讲解。
2023-06-09 22:54:22 57
原创 包和内部类
Java中每个接口或类都来自不同的类包,无论是Java API中的类与接口还是自定义的类与接口,都需要隶属于某一个类包,这个类包包含了一些类和接口。我们在前面的学习过程中,在一个文件中定义两个类,则其中任何一个类都不在另一个类的内如股票在类中再定义一个类,则将在类中再定义的那个类中称为内部类。在使用import关键字时,可以指定类的完整描述,如果为了使用包中更多的类,可以在使用import关键字指定时在包指定后加上*,这表示可以在程序中使用该包中的所有类。解决这类问题的办法是将这两个类放置在不同的类包中。
2023-06-07 14:28:42 20
原创 java第七次作业
System.out.println("将智能手机的默认语言设置为"+defaultLanguage);public changephonelanguage(String defaultLanguage) {//主方法。System.out.println("智能手机的默认语言为英文");public static void main(String[] args) {//主方法。public changephonelanguage() {//主方法。九:人工包装的水果与普通水果的价格。
2023-06-07 14:25:20 15
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人