自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 21章网络通信

总的来说,Java提供了丰富和灵活的网络编程工具和API,能够满足各种网络通信需求,开发人员可以根据实际情况选择合适的网络通信方式,并利用Java提供的工具和API,实现客户端和服务器端的连接、数据传输等功能。因此,在开发网络通信应用时,需要深入理解所使用的协议和数据格式,并进行合理的设计和解析。总的来说,Java网络通信开发需要综合考虑多方面的因素,包括异常处理、线程管理、安全性、性能优化、协议和数据格式设计,以及测试与调试等,通过合理的设计和实践,可以开发出稳定、高效、安全的网络通信应用。

2023-12-12 17:15:09 204

原创 聊天系统UDP TCP

System.out.println("收到来自 " + receivePacket.getAddress() + ": " + message);System.out.println("服务器: " + message);System.out.println("UDP 服务器在端口上运行 " + PORT);// 从控制台读取输入并发送给服务器。// 从服务器接收消息并显示。

2023-12-12 17:07:27 521

原创 20章节多线程

20.1线程简介世间有很多工作都是可以同时完成的。例如,人体可以同时进行呼吸、血液循环、思考问题等活用户既可以使用计算机听歌,也可以使用它打印文件。同样,计算机完全可以将多种活动同时进这种思想放在 Java 中被称为并发,而将并发完成的每一件事情称为线程。在Java 中,并发机制非常重要。在以往的程序设计中,我们都是一个任务完成后再进行下一个任,这样下一个任务的开始必须等待前一个任务的结束。

2023-12-12 16:59:36 120

原创 王者荣耀代码

/ 判断攻击范围(圆形)与敌方(矩形)是否相交。/** 矩形于圆相交: 圆心到至少一个矩形定点的距离小于r */// 判断攻击范围(圆形)与敌方(矩形)是否相交。// 游戏模式 0 选择英雄,1 游戏开始,2 游戏胜利,3 游戏失败。} else if (state == 2) {//游戏胜利。} else if (state == 3) {//游戏失败。// 目标离开范围后寻找新的目标。// 将攻击功能设置为冷却状态。// 将攻击功能设置为攻击状态。// 目标死亡,寻找新目标。

2023-12-12 16:52:08 397

原创 学生选课系统(数据库版)

> (1,'张三',1234567890,'男'),-> (2,'李四',1234567890,'男'),-> (3,'王五',1234567890,'男'),-> (4,'老六',1234567890,'男'),-> (5,'小明',1234567890,'男'),-> (6,'小红',1234567890,'女'),-> (7,'小玲',1234567890,'女'),-> (8,'小兰',1234567890,'女'),-> (9,'小刘',1234567890,'男'),

2023-12-12 16:42:48 54

原创 java俄罗斯方块

String[] show_state = {"P[暂停]","C[继续]","R[重开]"};g.drawString("行数:"+ totalLine,500,440);//重新开始游戏,把游戏状态变为正在游戏。JFrame frame = new JFrame("俄罗斯方块");//判断游戏是否在运行,没有才能暂停。//判断是否越界或者重合,如果是则右移恢复原来的状态,不是则左移。//判断是否越界或者重合,如果是则左移恢复原来的状态,不是则右移。//判断,当前游戏状态在游戏中时,每隔0.5秒下落。

2023-11-22 10:02:29 31

原创 第十九章总结

此方法总是用非缩放的图像来呈现缩放的矩形,并动态的执行所需的缩放,次操作不适用缓存缩放图像,执行图像从源到目标的缩放,将源矩形的第一个坐标映射到目标矩形的第一个坐标,源矩形的第二个坐标映射到目标矩形的第二个坐标,按需求缩放和反转子图像,以保持这些映射关系。Graphics类提供了绘图常用的方法,利用了这些方法可以实现,直线,矩形,多边形,椭圆,圆弧等,形状和文本,图片的绘制操作。Font font = new Font("宋体",Font.BOLD,16);//圆的坐标是左上角 并不是圆心坐标。

2023-11-20 19:10:15 25

原创 18章swing程序设计

Swing中提供两种列表组件,分别是下拉列表框与列表框。Swing中大多数数组件均为轻量级组件,使用Swing开发出的窗体风格与当前平台(如WindowsLinux等)的窗体风格保持一致 本章讲解了主要介绍了Swing的基本要素,包括窗体的布局,容器,常用组件,如何创建表格等内容。不过Swing是JDK自带的功能,并且能非常好的体现出java语言在面对对象,接口时间等方面设计模式,又能提供直观的呈现运行效果,有所以本书还能纳入此内容,本章不能深入的讲解Swing技术,仅会介绍一些常用组件的使用方法。

2023-11-20 19:09:09 31

原创 13章枚举类型和泛型

泛型实质上就是程序员定义安全的类型,在没有出现泛型之前,java也提供了队Object类型的引用“任意化” 操作 这种任意话操作就是对object类型引用进行向上或者向下的转型操作,但某些强制类型转换的错误也许不会背编译器捕捉,而运行后出现的异常,可见强制类型转换存在安全隐患,所以在此提供了泛型机制,JDK中的集合接口,集合类都被定义了泛型,其中List<E>的泛型E实际上就是element元素的首字母Map<K,V>的泛型 K和V就是key键和value键的首字母。//创建泛型为String类型的独享。

2023-11-08 10:36:02 38

原创 十六章总结

例如,可在程序运行时对象用户输入的信息进行验证,还可以逆向控制程序的执行过程,讲解了反射,另外java还提供了Annotation注解功能,该功能建立在反射机制的基础上,包括定义Annotation类型的方法和程序运行时访问Anntation信息的方法。检查喝修改描述java对象本身的信息的功能 java反射机制功能十分强大,在java.lang.reflect包中提供了该功能的支持。//创建JTexField对象。利用Class类的对象demo1,可以访问用来返回该对象的demo1对象的描述信息。

2023-11-08 10:32:06 35

原创 第十五章 I/O(输入/输出)

想要永久的储存程序创建的数据,就需要将其保存在磁盘文件中,而中只有数据储存起来才可以在其他程序中使用它们java的I/O技术可以将数据保存起来到文本文件中,二进制文件甚至是ZIP压缩文件,以达到永久性保存数据的要求 掌握I/O处理技术能够提高对数据的处理能力。程序运行期间,大部分数据都在内存中进行操作,当程序结束或者关闭时,这些数据将消失,如果需要将数据永久保存, 就可以使用到输入输出流与指定的文件建立连接,当需要的数据永久保存到文件中就需要使用。//把路径内的数据 储存在File数组中。

2023-10-25 21:10:18 37

原创 第十四章总结

java开发可能出现这样一种特殊场景:把数组类型当作泛型,如果犯法返回值为泛型,在这种特殊场景下,方法就应该是返回一个数组类型的结果,如果要求抽象方法引用构造方法,又要返回数组类型结果,这种场景下抽象方法的参数有了另外一个含义:数组个数 抽象方法的参数可以决定返回的数组长度,但是数组中的元素并不是有值的,还需要再次赋值。在这实例中,函数式接口的抽象方法有两个参数,Iambda表达式的圆括号内也写了两个参数对应的抽象方法,注意 Iambda表达式中的参数不需要与抽象方法的参数名称相同,但是顺序必须相同。

2023-10-25 21:08:19 31

原创 第十四章总结

java开发可能出现这样一种特殊场景:把数组类型当作泛型,如果犯法返回值为泛型,在这种特殊场景下,方法就应该是返回一个数组类型的结果,如果要求抽象方法引用构造方法,又要返回数组类型结果,这种场景下抽象方法的参数有了另外一个含义:数组个数 抽象方法的参数可以决定返回的数组长度,但是数组中的元素并不是有值的,还需要再次赋值。在这实例中,函数式接口的抽象方法有两个参数,Iambda表达式的圆括号内也写了两个参数对应的抽象方法,注意 Iambda表达式中的参数不需要与抽象方法的参数名称相同,但是顺序必须相同。

2023-10-17 12:37:35 30

原创 第十七章

mysqldemo1.add(11, "丁国俊"," 179234","女");mysqldemo1.add(12, "ccd"," 179775","男");mysqldemo1.add(13, "塞班"," 119712","男");System.out.println("查询182开头的数据,结果为:");System.out.println("查询179开头的数据,结果为:");System.out.println("删除课程11,12,13");

2023-10-17 12:36:50 34

原创 学生的选课系统

需要实现Comparable接口 需要设为一样的泛型 需要使用相应的方法 如果小的话 就会输出正整数 如果大的话 就会输出负整数 如果相等的话就会输出0 然后先创建一个对象 要把名字改为字符串类型 id需要改成一千以内的正整数 再是调用该方法 然后输出 就会输出该结果 输出出来的 都是按照id的正整数来排列的 排序规则是 先数字后字母 数字0~9字母a~z的顺序 数字是先从第一位数字来排序的。//添加课程 这是同时添加了两门课程的方法。

2023-10-10 15:27:41 41

原创 12章总结

Map集合包裹了Map接口以及Map接口的所实现类。Java中提供了不同的集合类,这些类具有不同的储存对象,同时提供了相应的方法,以方便用户对集合进行遍历、添加、删除和查找指定的对象。2.TerrMap类不仅实现了Map接口,还实现了java.util.SortedMap接口,因此集合中的映射关系具有一定的顺序,但是添加了 删除和定位映射关系是,TreeMap类比HashMap类性能稍差由于TreeMap类实现了Map结合中的映射关系是根据建对象按照一定的顺序排列的 因此不允许建对象为null。

2023-09-26 18:10:44 45

原创 java炸金花

private void swap(List<Poker> pokers, int i, int j){//传入两个参数 然后用于两个元素交换位置 然而达到洗牌的效果。System.out.println("第 "+(i+1)+"个人的牌:"+hand.get(i));i++) {//遍历牌的花色。

2023-09-23 13:51:17 46

原创 java复习第三课

非检查异常一般分为是 算数异常 空指针异常 数组下标越界异常 类型转换异常 还有好多异常 都是Exception异常的子类 一个是Error 一个是Exception 这两个的父类是Throwable。try-catch以及 try-catch-finally 抛出异常 自定义异常 异常链。根据不同的异常使用不同的方法来 处理异常 先子类在父类一一处理异常。5.具体如何处理异常,要根据不同的业务需求和异常类型去决定。try抛出异常的方法 catch捕捉异常的代码块。

2023-09-23 13:36:21 40

原创 java基础复习

程序员将一个写好的程序封装起来 等使用者实例化对象 然后调用方法就可以了 如果以后有了更快捷的方法程序员可以在封装好的程序中直接调整就好了 不会打扰到使用者 使用者也不需要了解封装起来的程序的步骤 只需要调用就可以了。通过定义一个新的接口 通过对所有实现类 进行约束 不同的实现类 根据自己的特性去 进行 实现 使用的时候 跟标准的实例化 不同的 就是与实例对象不同的是 头部 不再是类名 而是接口的名字。类就是抽象的概念 是对象的模板 有着共同的特征 行为 对象的具体事物 是类的具体实例。

2023-09-19 10:43:17 41

原创 复习第一篇章

J2SE:标准版,提供了Java语言最核心的功能,是其他版本的基础J2EE:企业版,针对企业级应用开发提供了更多高级功能J2ME:嵌入式版,可为智能设备开发应用程序,目前极少使用

2023-09-19 10:38:24 38

原创 第十一章总结

ava是一中面向对象语言,但在java中不能定义基本数据类型对象,为了能将基本数据类型是为对象进行处理,jaba提出了包装类的概念,他主要是将基本数据类型封装在包装类中,如int类型的包装类Intger,boolean型的包装类boolean等这样便可以把这些基本数据类型转换为对象进行处理java中的包装类及其对象的基本数据类型如下表所示。无所谓,术业有专攻,在常用类中主要包含将基本数据类型封装起来的包装类,解决常见数学问题的Math类,生成随机数的Random类,以及处理日期时间的相关类。

2023-05-28 20:14:53 54

原创 第十章总结

compareTo()方法为按字典顺序比较两个字符串,该比较基于字符串中各个字符的Unicode的值,按字典顺序将String对象比较是字符序列与参数字符串所表示的字符序列进行比较。indexOf()方法返回的是搜索的字符或者字符串首次出现的位置lastIndexOf()方法的是搜索的字符或者字符串最后一次出现的位置。对字符串对象进行比较不能简单的使用比较运算符“==”,因为比较运算符比较的是两个字符串的是否相同,即使两个字符串内容相同,两个对象的内存地址也是不同的,使用比较运算符任然会返回false。

2023-05-28 20:13:44 133

原创 第九章总结内容

在例 9.3 中,将可能出现异常的代码用try-catch语句块进行处理,当try语句块中的语句发生异常时,程序就会跳转到catch语句块中执行,执行完catch 语句块中的程序代码后,将继续执行 catch 语句块后的其他代码,而不会执行try语句块中发生异常语句后面的代码。其中,try语句存放的是可能发生异常的Java语句;(3)如果在当前抛出异常的方法中处理异常,可以使用try-catch语句块捕获并处理,否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。

2023-05-03 15:18:57 41

原创 第八章 包和内部类

Java中每个接口或类都来自不同的类包,无论是Java API的类与接口还是自定义类与接口,都需要隶属于某一个类名,这个类包含了一些类和接口,如果没有包的存在,管理程序中的类名称是一件非常麻烦的事情,如果程序由一个类组成,自然不会出现类名重叠的问题,但是随着程序的类的数量增多,难免会出现这一问题。我们在前面的学习过程中,在一个文件中定义两个类,则其中任何一个类都不在另一个类的内部,如果在类中再定义一个类,则将在类中再定义的那个类称为内部类,成员内部类和匿名类为最常见的内部类。

2023-04-23 12:56:53 35

原创 第二次复习内容

在Java语言中,有两种比较对象的方式,分别为“==”运算符与equals()方法,两者区别在于:“==”比较的是两个对象引用内存地址是否相等,而equals()方法比较的是两个对象的实际内容,所以equals()方法判断出了这两个对象实际上是同一个,而“==”运算符无法做出有效判断,如果两个对象类型的不同,那么equals()方法就会认为两者都不同。在面向对象的思想中,最核心的就是对象,为了在程序中创建对象,首先需要定义一个类,类是对象的抽象,它用于描述一组对象的共同特征和行为。

2023-04-23 12:54:44 35

原创 第七章作业

(九) 人工包装的水果与普通水果的价格。(四)计算机械钟和石英手表的时间。(五) 多功能参数(方法的重载)(一)修改手机系统默认语言。(六)输出圆形和矩形的面积。(七) 定义人类的介绍方式。(二)设置信用卡密码。

2023-04-05 20:06:43 35

原创 第七章总结

java语言每个类只能继承一个父类,它使。整个程序架构具有一定的弹性,在程序中复用一些已经定义完善的类,不仅可以减少软件开发周期,也可以提高软件的可维护性和可扩展性。java语言每个类只能继承一个父类。(二)Object类 在Object类中,主要包括clone(),finalize(),equals(),toString()等方法,其中常用的两个方法为equals()和toString()方法。由于所有的类都是object类的子类,所以任何类都可以重写object类中的方法。(1)getClass

2023-04-05 20:06:20 35

原创 第六章总结

在抽象中将属性与方法写在一个类中就是封装,而封装就是为了保证抽象出来的特征和方法的安全性,封装就是包装的过程,注意封装不是绝对的封装,如果其他程序要获取已经封装好的数据,就要通过程序指定的接口或方法才能获取。在类中,除成员方法外,还存在一种特殊类型的方法,那就是构造方法,构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的,当类实例化一个对象时,类都会自动调用构造方法。多态的表现形式有:方法重写,方法重载,接口和接口的继承,类和类的继承。子类继承父类的属性和方法,但是私有属性和构造方法除外。

2023-03-27 20:49:09 41

原创 java基础知识复习

while语句和if条件语句有点类似,都是根据条件判断来决定是否执行后面的代码,区别在于,while循环语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立while循环结束。上述语句就相当于在内存中定义了100个int类型的变量,第一个变量的名称为x[0],第二个变量的名称为x[1],以此类推,第100个变量的名称为x[99],这些变量的初始值都是0。数组是指一组数据的集合,数组中的每个元素被称为元素,在数组中可以存放任意类型的元素,但同一个数组中存放的元素类型必须一致。

2023-03-27 20:39:39 151

原创 第六次作业

/打印输出"------------”if (j == 0 || j == i) {//判断j是否等于0或者j是否等于i的值。//打印输出"学生编号"+"语文成绩"+"数学成绩"+"英语成绩"+"平均成绩"+" 总分"achivement[i][0] = sc.nextInt();.println("学生编号"+"语文成绩"+"数学成绩"+"英语成绩"+"平均成绩"+" 总分");

2023-03-19 13:41:15 38

原创 第五章作业(1)

println("第"+num+"位同学一共答对"+sum+"道题");.println("----交换位置之后的数组----");//输出打印"----交换位置之后的数组----".println("----原始数组----");//输出打印"----原始数组----"//打印输出("第"+

2023-03-19 13:22:47 36

原创 java中的数组

遍历数组是获取数组中的每个元素。通常遍历数组都是使用for循环来实现,遍历一维数组很简单也好很理解,下面详细介绍遍历二维数组的方法。索引 = Arrays.binarySearch(数组名,前索引,后索引,后索引,元素);新数组名=Arrays.copyOfRange(旧数组名,前索引,后索引);新数组名=Arrays.copyOf(旧数组名,新数组长度);Arrays.fill(数组名,前索引,后索引,值);复制数组部分元素:前索引在新数组里,后索引不在新数组里。替换数组部分元素:前改后不改。

2023-03-19 13:17:56 48

原创 java的流程控制

使用if条件语句,可选择是否要执行紧跟在条件之后的那个语句。控制循环的跳转需要用到 break 和 continue 两个关键字,这两条跳转语句的跳转效果不同,break 语句是中断循环,continue 语句是执行下一次循环。循环语句就是在满足一定条件下的情况反复执行某一个操作的语句,java中提供了三种语句,分别是while语句,do....while循环语句和for循环语句。if 条件语句是一个重要的编程语句,用于告诉程序在某个条件成立的情况下执行某段语句,而在另一种情况下执行另外的语句。

2023-03-11 20:59:19 75

原创 java的第五次作业

0)&&(i%4==0))||(i%400==0)) {//判断i为4年一次为闰年。//i=6时跳过该次循环继续下一个循环。i++){//for语句控制循环次数。i++) {//指定循环体和循环条件。i++) {//控制循环条件以及循环次数。for(i=1949;i++) {//控制循环体的条件。if(i==6) {//判断i等于6时。//输出"请输入十个数:"=0) {//判断i是不是偶数。.println(i+"是闰年");

2023-03-11 20:52:09 51

原创 java的第四次作业

/输出打印“主要经营网上购物商城,几乎包含了所有人们需要的东西,包括书籍,日常生活用品,交通工具,电子产品系列等。//输出打印“请您输入请您输入要查询的录取分数线(比如民办本科,艺术本科,体育类本科,二本,一本)”//输出打印“主要出版专业的互联网编程语言书籍,针对零基础,本着快速上手,易学的原则。.println("请您输入要查询的录取分数线(比如民办本科,艺术本科,体育类本科,二本,一本)");.println("主要出版专业的互联网编程语言书籍,针对零基础,本着快速上手,"

2023-03-11 20:07:29 48

原创 java的第三次作业

println(boxnumber+"盒牛奶含有的蛋白质:"+chiefprotein);.println("全天总出售的总金额为:"+totalprice+"元");.println("一天总出售的汉堡数量为:"+number+"个");.println("找零:"+(sum-(num1*ticket)));.println("应付金额:"+(num1*ticket));.println("购票数量:"+num1);.println("已付金额:"+sum);.println("购票数量");

2023-03-05 00:22:28 73

原创 java的第二次作业

j++){//打印空格。j

2023-03-03 12:06:38 40

原创 JAVA的语言基础

在java中有四大类型(整数类型,字符类型,浮点类型,布尔类型)基本数据类型来储存数字,字符和布尔值,如图所示。整数类型和浮点类型来编写运行一个测自已。

2023-03-03 11:45:50 32

原创 JAVA的三元运算符

自动类型转换:一定不是丢失类型数据;强制类型转换:可能会丢失类型数据;A :一定是一个条件语句。

2023-03-03 11:29:56 29

原创 变量和常量

变量的使用是程序设计中有一个十分重要的环节,声明变量就是告诉编译器这个变量的数据类型,这样子编译器才知道需要配置多少空间给它,以及他能存放怎么样的数据,在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。变量的命名必须是合法的标识符。局部变量的生命周期取决于方法,当方法被调用时,Java 虚拟机会为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空。在类体中所声明被称为成员变量,成员变量在整个类中中都有效,类的成员变量又可分为两种,即静态变量和实例变量。

2023-03-03 08:15:08 33

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除