自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 网络编程(自用)

->在接收数据报时,需要创建一个空的DatagramPacket对象,用于接收数据,在收到数据后,DatagramPacket对象将包含接收到的数据和发送方的地址信息。DatagramSocket:用于创建UDP套接字的类,通过这个类可以创建一个用于发送和接收数据报的套接字,并绑定到指定的本地端口。ServerSocket:服务器监听客户端的连接请求,并在客户端连接时创建对应的Socket实例,从而建立通信连接。流式套接字(Stream Socket):基于TCP协议实现,提供可靠的,面向连接的通信。

2024-04-28 21:09:40 299

原创 JAVA异常

当try块中的语句出现异常时,就会从第一个catch开始,与catch中的异常类型进行匹配,若匹配成功则执行此catch内的语句(即捕获成功),后若try块中语句未执行完毕,则回到try中继续执行后续语句,若第一个catch捕获失败,则继续对后续catch进行匹配,直至捕获异常,或者继续抛向上层调用栈,当try块中语句执行完毕后,继续执行try...catch...finally结构后续的语句,但无论异常捕获成功与否,finally中的语句永远都会执行。的 方式查看出现异常代码的调用栈.

2023-11-20 21:55:58 26 1

原创 java接口

1.抽象类当中,可以包含和普通类一样的成员变量和成员方法,但是接口当中的成员变量只能是public static final 的 , 方法只能是public abstract。则在实现过程中,重写 一次1 2 3 即表示同时重写了 接口1 和 接口2 中的同名方法。实现关系,可以单实现,也可以多实现 , 还可以在继承一个类的同时实现多个接口。2: 实现类还可以在继承一个类的同时实现多个接口。注意: 1: 接口和类的实现关系 ,可以单实现,也可以多实现。例如: 接口1 接口2 中均含有方法 1 2 3。

2023-11-10 19:52:29 35 1

原创 java面向对象

重点:this引用指向当前对象(成员方法运行时调用该成员方法的对象),在成员方法中所有成员变量的操作,都是通过该引用去访问。4.this是“成员方法”第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器 会负责将调用成员方法对象的引用传递给该成员方法,this负责来接收。Java中,被static修饰的成员方法称为静态成员方法,是类的方法,不是某个对象所特有的。在Java中,被static修饰的成员,称之为静态成员,也可以称为类成员,其不属于某个具体的对象,是所有对象所共享的。dog2=dog1;

2023-11-10 19:44:25 32 1

原创 C语言文件

每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件名字,文件状态及文件当前的位置等)。fread要求读取count个大小为size字节的数据,如果真的读取到count个数据,返回count,如果没有读取到count个数据,返回的是真实的读取到的完整的数据个数。例如: fscanf( pf , "%f-%c-%d" , &(s.f) , &(s.c), &(s.n) );feof的作用是:当文件读取结束的时候,判断读取是否结束的原因是否是:遇到文件尾末尾。

2023-11-01 17:27:58 21 1

原创 JAVA数据类型与运算符

注:当 & 和 | 的操作数为整数(int, short, long, byte) 的时候, 表示按位运算, 当操作数为 boolean 的时候, 表。例如:int a=10,b=20;例如: System.out.println(10>20&&10/0==0);例如: System.out.println(10>20 & 10/0==0);

2023-10-25 18:40:16 29 1

原创 编译和链接

在编译一个程序的时候我们如果要将一条语句(一组语句)编译或者放弃是很方便的。#define 机制包括了一个规定,允许把参数替换到文本中,这种实现通常称为宏(macro)或定义。其中的 parament-list 是一个由逗号隔开的符号表,它们可能出现在stuff中。//如果现存的一个名字需要被重新定义,那么它的旧名字首先要被移除。1.注释的替换(删除),注释被替换成一个空格。例如:调试性的代码,删除可惜,保留又碍事,所以我们可以选择性的编译。在分模块编程的时候,最终的程序可能会出现多份相同的内容。

2023-10-21 12:38:48 24 1

原创 自定义类型

4.如果嵌套了结构体的情况,嵌套的结构体对齐到自己的(成员)最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含结构体的对齐数)的整数倍。1.平台原因(移植原因):不是所有的硬件平台都能访问任意地址的任意数据的,某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。当一个结构体包含两个位段,第二个位段成员比较大,无法容纳于第一个位段剩余的位时,是舍弃剩余的位还是利用,这是不确定的。2.当最大成员大小不是最大对齐数的整数倍的时候,则要对齐到最大对齐数的整数倍。int _a : 2;

2023-10-15 16:07:20 26 1

原创 C语言内存函数

注:事实上,在vs2022环境下,memcpy也可以实现重叠内存的拷贝,但是变更环境后可能会出现问题,因此在重叠内存的拷贝时还是优先使用memmove , 并且memmove也可以实现不重叠内存的拷贝。memmove同样作为拷贝内存的函数,与memcpy的参数完全一样,两者的区别在于memmove的拷贝源和拷贝的目标空间可以重叠的内存。正常的从前往后(低地址到高地址)开始拷贝,会出现前面目标空间的数据覆盖拷贝源的数据,导致最终得不到需要的结果。memcpy主要作用是用于拷贝不重叠的内存。

2023-10-15 14:38:25 29 1

原创 数据的存储(基础版)

原因: 在计算机系统中,(整)数值一律用补码来表示和存储,原因在于,使用补码,可以将符号位和数值域同意处理,同时,加法和减法也可以统一处理(cpu只有加法器)此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。在计算机系统中,我们是以字节为单位的,每个地址单元 都对应着一个字节,一个字节为8 bit。将一个数据的低位字节存储在内存的高地址处,高位字节存储在低地址处。将一个数据的低位字节存储在内存的低地址处,高位字节存储在高地址处。一般用于函数的返回类型,函数的参数,指针类型。

2023-08-21 09:59:51 40 1

原创 初学者简易版三子棋

三子棋”俗称“井字棋”,是我们日常生活中经常接触到的游戏,游戏上手简单,但也存在及其容易和棋的弊端。今天,我们尝试用C语言实现一款简单的三子棋游戏,对战双方设置为玩家和电脑,因此可以用两种不同的符号分别表示玩家和电脑的棋子,棋盘应为3X3的井字棋盘,由玩家先进行落子,再由电脑落子,只要满足任意一方的三颗棋子连成直线,对应方即可获得胜利,或者棋盘上已经没有可以落子的坐标,则和棋,游戏结束。头文件中包含调用库函数所需要的头文件,以及宏定义,同时声明我们将会用到的函数。

2023-08-03 22:36:55 60

原创 初学者C语言版简易扫雷

解决办法:这里用到rand函数和srand函数(需要包含头文件<stdlib.h>)进行随机数的生成,由于rand函数生成的是伪随机数,并不能满足此游戏的需求,我们使用srand函数为它赋予一个生成随机数的种子,这里我们使用时间戳作为种子,因此还需要调用time函数(需要包含头文件<time.h>),由于rand函数的返回值在 0~RAND_MAX(32767)之间,而棋盘大小是9*9,因此我们要让这个函数生成1到9以内的随机数,将rand函数的返回值对10求余即可。问题2:如何实现随机布置地雷?

2023-07-27 10:25:38 47 1

空空如也

空空如也

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

TA关注的人

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