![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaBasic
文章平均质量分 95
java入门
明里贵树
这个作者很懒,什么都没留下…
展开
-
Java第十四课——相声和群口相声
Java第十四课——相声和群口相声相声,顾名思义就是一个逗哏一个捧哏,也就是一唱一和,也就相当于双向的交流。群口相声同理,三人及三人以上,也就是群聊的效果。那么这次就来实现一个服务器和客户端双向的交流,也是客户和客户之间的交流。其实二者实现过程同理,就拿wx来举个例子,我输入了一条消息,先发送给服务器,而这条消息是需要被我自己和接收消息的人看到的,所以服务器只是获取到我自己和接收消息的人的输出流,输出这句话就完成了。群聊同理,获取当前群聊所有人的输出流,全部输出就可以了。先把单向通信的代码放上服务器原创 2021-02-03 20:48:35 · 173 阅读 · 0 评论 -
Java第十三课——客户端与服务器单向多样化数据传输
Java第十三课——客户端与服务器单线多样化数据传输之前我们完成了基本的服务器和客户端的额雏形,能实现单字节的发送,那么接下来就需要尝试多样化的数据传输。毕竟在我们日常生活中,聊天不可能每次都发送一个字节,我们所使用和汉字都是char(两个字节),那么如何来完成多样化传输,来发送大量文字,文件,视频呢?这节课内容都按上节课的基础上来改动服务器端:public class Server { ServerSocket serversocket; public void create(){ try原创 2021-01-28 17:06:54 · 266 阅读 · 0 评论 -
Java第十二课——客户端与服务器的单线通信
Java第十二课——服务器与客户端的单线通信一、通信是如何进行的?平时我们用微信、QQ进行聊天时,我们是如何把消息发送出去的?对方为什么能接到消息?两人甚至在地球的两极也能接到消息,这是如何实现的?我们知道,平时日常的对话需要面对面的进行,而其实在互联网下也是一样的。在通信刚开始时,两人必须在同一网络下才能进行通信,通过访问对方的IP地址,找到其开放的端口进行通信,先来说一下什么是IP地址?什么是端口?百度百科是这么解释的:IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每原创 2021-01-25 20:56:19 · 284 阅读 · 0 评论 -
Hashmap和Hash码
浅谈Hashmap和Hashcode参考文章:为什么重写equals就必须重写hashCodeHashMap底层实现原理震惊!!!原来HashMap的底层实现原理竟然是。。。?java中hashmap的实现原理与底层数据结构最近在写山脉生成算法时,碰到一些问题,所以就研究了一下浅层的Hashcode和Hashmap。就按照自己的理解来讲一下:一、时间复杂度在将之前先了解一下时间复杂度这里有一篇讲的比较好的文章,我就不展开聊了参考文章:一套图搞懂“时间复杂度”可见追求最优算法的原创 2021-01-01 15:58:35 · 602 阅读 · 0 评论 -
Java第十一课——多线程实现飞机大战
Java第十一课——多线程实现飞机大战一、补充讲解一下线程在第九课的基础上补充两点:1、启动线程使用start()方法而不直接使用rin()方法,因为线程是一直重复执行的,调用run方法只会执行一次,所以用start方法启动线程2、当小球跑的很远,跑出窗体时,便可以把小球移出去,用remove()方法list.remove(ball)可以给小球加入一个getX()方法获取小球的x坐标,当x大于窗体长度时移除。因为小球是放在队列里面的,所以队列里可能有很多小球,那么可以用遍历的方式获取到要移除的小原创 2020-10-31 19:04:39 · 1082 阅读 · 1 评论 -
Java第十课——封装性和哈希表实现五子棋AI
Java第十课——封装性和哈希表实现五子棋AI原创 2020-10-29 20:10:54 · 354 阅读 · 0 评论 -
Java第九课——多线程
Java第六课——多线程首先先了解一下什么是多线程:多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。通俗的说就是在同一时间做多个任务,他们之间不能有先后顺序,而是同时进行。那么为什么要使用多线程呢?举个例子,比如飞机大战游戏,假如按一下空格键就会发射一颗子弹,如果想实现子弹连发,就需要按下多次空格键。如果不使用多线程,就需要等上一个子弹飞出去了,完成了它应该要走的轨迹,下一颗子弹才会出发。使用多线程的话,二者执行没有影响,按下空格就会往发射子弹,子弹的原创 2020-10-26 17:00:16 · 242 阅读 · 0 评论 -
Java第八课——实现五子棋
Java第八课——五子棋上节课讲了数组,这节课利用数组完成五子棋,当然想完成其他的棋也可以借这节课的内容当作参考。首先在完成作品之前,先明确思路。需要一个界面,监听器,以及可能用到的其他类。在窗体上需要画出棋盘和棋子。监听器中要MouseListener和ActionListener(按钮可以用于悔棋)。其他类可以是判断输赢的类,或是用于将鼠标点下的位置转换成棋盘坐标的方法第一步:窗体和监听器的雏形1、因为窗体上需要画出棋盘和棋子,所以在创造窗体时可以继承(extends)父类,更方便作图。另外在设原创 2020-09-20 15:37:08 · 371 阅读 · 0 评论 -
Java第七课——数组
Java第七课——数组先看一下定义:数组(Array)是一个集合,用于存放多个相同类型的数据,数组中的成员也叫元素。常见的数组类型有int,string,char等等创建一个数组:数据类型[ ] 数组名 = new 类型[长度];int[] arr = new int[10];这里创建了一个空的数组,若想一开始就加入元素可以用下面的方法数据类型[ ] 数组名={元素}在上一课中用到:String[ ] name={"直线","圆形","谢尔宾斯基三角形","康托尔方形集","门格海绵"};原创 2020-09-18 23:59:11 · 292 阅读 · 0 评论 -
Java第六课——画图板
Java第六课——画图板这节课画一个画图板,可以画线画圆,还可以通过递归画出好看的图案如:谢尔宾斯基三角形,康托尔方形集,甚至立体图门格海绵。首先创建一个窗体。定义一个类和一个方法。public class Draw{ public void show(){ JFrame frame =new JFrame(); FlowLayout layout=new FlowLayout(); frame.setLayout(layout); frame.setSize(1000,1000);原创 2020-09-17 20:06:59 · 228 阅读 · 0 评论 -
Java第五课——递归
Java第五课——递归递归指的是函数调用自己,可以简化代码,下面以阶乘、斐波拉契数列和汉诺塔的实现来介绍阶乘。阶乘首先创建一个类public class Recursion{ }实现递归的关键在于找到终止条件,就以阶乘为例,要想求n的阶乘,也就是求n×(n-1)×(n-2)…×2×1,当到1的时候就终止了,也就是if(n==1)时终止,不等于1的时候就调用自己且把n-1代入。若函数为int f(int n)则2的阶乘: 2×f(2-1) = 2×13的阶乘 3×f(3-1) = 3×2×f(原创 2020-09-17 11:44:07 · 101 阅读 · 0 评论 -
Java第四课——登录界面
Java 界面goal:点击按钮,系统输出"按下"先了解一下接口和事件监听接口:什么是接口,就比如手机和电脑,有许多接口,有耳机接口,USB接口,键盘接口,充电接口。接口就类似于一个规则,比如键盘接口就是用来和键盘连接的,不能接错,也无法改变,所以接口是一个抽象类,是不能创建对象的。接口的创建: public interface 接口名{ }接口的属性:属性类型 属性名=属性的初始值...原创 2020-09-15 21:16:54 · 286 阅读 · 0 评论 -
Java第三课——事件监听
Java第三课——事件监听先了解事件监听事件监听也就是对事件源发生的动作做出反应,事件源动作就是事件源对象的动作,包括但不限于鼠标移动,鼠标点击,键盘的敲击。而究竟对键盘还是鼠标做出反应就要添加不同的监听器,每个监听器都有各自处理各类事件源的方法。监听器类的创建先创建一个类Listener,并用关键字implements一个接口(ActionListener动作监听器,也就是鼠标监听器;KeyListener键盘监听器)。利用系统补齐所有方法。至于方法写什么就看添加该监听器的对象了,在下一课会举例。原创 2020-09-15 20:09:30 · 295 阅读 · 0 评论 -
Java第二课——类与对象
Java第二课了解类与对象前面介绍过,类是一个大范围,比如说一类笔,则它就包括黑笔、蓝笔等等,但当我想要确定是我写字用的笔时,类就显得范围太大了,那么这时就需要对我的笔创建一个对象类:把具有相同属性或功能的对象归为一个类别,对这些类的共性进行描述对象:是具体的实例,而一个对象是具有属性的:大小,颜色,牌子,用途等等类的创建:public class 类名{ }对象的创建:类 对象的...原创 2019-10-21 16:49:57 · 161 阅读 · 0 评论 -
Java第一课——类及其创建
#Java 第一课goal:输出Hello World!(自己喜欢的一句话)For the first,先了解一下什么是类:java中的类与我们生活之中的类类似,比如:一类人,一类书等等。我们所写的代码便是围绕类所展开的。比如一个类——书。而这个类是干嘛的呢?那么它的作用是拿来看的。在Java中的类是需要自己定义的,每个类都有一个主方法,也就是这个类所要做的事。那么比如这里定义一个类——He...原创 2019-10-19 08:13:20 · 316 阅读 · 0 评论