Java
文章平均质量分 54
feng之锋
去互联网大厂搬砖!
展开
-
快速排序算法(基于Java以及golang实现)
title: 快速排序算法(基于Java实现)tags: 快速排序算法快速排序算法的原理与代码实现:一、快速排序算法的原理快排算法的思想是: 如果需要排序数组中下标从p到r之间的一组数据,我们选择p到r之间的任意一个数据作为pivot(分区点)。我们遍历p到r之间的数据,将小于pivot的放到左边,将大姨pivot的放在右边,将pivot放到了中间。经过这样的操作之后,数组中的数据就被分成了三个部分了,前面的p到q-1之间的都是小于pivot的,中间是pivot,后面的q+1到r之间是大于piv.原创 2020-12-17 22:03:53 · 230 阅读 · 1 评论 -
Java实现 String类型的ip与整数之间的相互转换(2021.8.1百度提前批面试题)
题目:实现 String 类型的 ip 与整数之间的相互转化。例如:将 “192.168.0.1” 转换为整数,然后给定这个整数仍然可以得到这个 String 类型的 ip。//将一个字符串的ip地址192.168.1转换成整型的数字,它们是一一对应的关系//核心思想:现将String类型的ip分为一个String数组,然后将其转换为byte数组,然后通过byte数组转换为整数的//将整数转换为String类型的ip,道理也是一样的,同样是需要先转换为byte数组,然后通过byte类型转换为S原创 2021-08-01 18:00:46 · 411 阅读 · 0 评论 -
java集合框架史上最详解(list set 以及map)
title: Java集合框架史上最详解(list set 以及map)date: 2020-12-13 11:09:39tags: 集合框架 list set map文章目录一、集合框架总体架构1.1 集合框架在被设计时需满足的目标1.2 所有的集合框架需要包含的内容1.3 Java集合框架图1.4 常用的集合在系统中的区别二、主要分析一下Set、List以及Map三个接口以及实现它们类的方法2.1 Set接口及其实现类方法2.1.1 Set接口a.HashSet中存放null值b.HashSe.原创 2020-12-13 21:09:54 · 564 阅读 · 0 评论 -
Java编写飞机大战(超级详细的完整版)--附源码及图片
文章目录一、基本介绍二、源码分析三、总结一、基本介绍首先,先想想要完成一个飞机大战,需要完成那些步骤呢?①是不是需要有个界面去显示飞机和子弹之类的组件呢?这个时候是不是需要去绘制一个界面类呢? 答案是必须的!!!②既然画完了界面,那界面的上的飞机、子弹、敌机啥的是不是也需要创建一个类去绘制呢?答案也是必须的!!!在绘制子弹和敌机的时候,需要去考虑敌机遇到子弹爆炸的场景,以及每击毁一架飞机,怎么算我的得分的情况,这些都是需要去考虑的。二、源码分析①先绘制飞机大战的界面类GameMain类原创 2020-12-04 10:26:45 · 34067 阅读 · 22 评论 -
Java多线程编写简易飞机大战(一)
**Java多线程编写简易飞机大战(一)**利用多线程编写飞机大战,主要有3个关键:①继承Thread类,重写run方法;②线程工作代码在run方法中写;③启动时,调用线程对象的start()方法。现在来编写一个简易飞机大战程序,实现在界面上能够发射一系列的子弹的功能。代码如下:主类,其主要的功能:创建界面,并将界面画出来。package com.yf1117; import javax.swing.JButton;import javax.swing.JFrame;//编译格原创 2020-11-22 00:12:55 · 595 阅读 · 0 评论 -
Java中的多线程编程(超详细总结)
**Java中的多线程编程(超详细总结)**一、线程与多线程的概念线程,即单线程,是程序的一条执行线索,执行路径,是程序使用cpu的最小单位。线程本身不能运行,它只能运行在程序中,线程是依赖于程序存在的。多线程,从字面上理解,就是从多个单线程一起执行多个任务。在Java 编程中,已经给多线程编程提供了内置的支持。多线程是多任务的一种特别的形式,但多线程使用了更小的cpu资源开销。 多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。二、线程与进程之间的关系进程: 一个进程包括由操原创 2020-11-21 00:54:28 · 2836 阅读 · 0 评论 -
Java中实现六种图像处理的效果(灰度化、马赛克效果、去背景实现、珠纹化实现、黑白版画效果、油画效果)
**Java中实现六种图像处理的效果(灰度化、马赛克效果、去背景实现、珠纹化实现、黑白版画效果、油画效果)**本文的编程的思想:先将实现这六种效果的方法写入一个名为pic_performance的类,然后在监听器类Drawmouse类中通过pic_performance类去创建对象,然后利用该对象去调用里面相应的方法去实现相应的功能即可。先来看看代码吧。主类:package com.yf1111;import java.awt.FlowLayout;import java.awt.Gra原创 2020-11-14 00:26:04 · 1014 阅读 · 0 评论 -
Java中的图像锐化操作
**Java中的图像的锐化操作**图像锐化的代码为:package com.yf1105;import java.awt.Color;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import javax.swing.ImageIcon;import ja原创 2020-11-07 22:29:53 · 2309 阅读 · 5 评论 -
Java中 实现通过文件夹选择任一图像,从而进行图像卷积操作
**Java中 实现通过文件夹选择任一图像,从而进行图像卷积操作**之前的那篇关于图像卷积的博客(Java中实现图像的卷积效果),只是讲了给定一张图片,从而实现图片的卷积操作;而现在,需要去实现通过实现点击窗口上的一个按钮,然后弹出对话框进行图片的选择,选择图片后就能够去实现图像的卷积操作了。一、效果图为:然后:最后实现的效果为:换一张图片的实现效果为:二、实现的代码部分为:主类:package com.yf1106;import java.awt.Button;impor原创 2020-11-06 22:04:48 · 576 阅读 · 2 评论 -
Java中实现图像的卷积效果
**Java中实现图像的卷积效果**图像的卷积: 指的是使用一个卷积核(kernel)对图像中的每一个像素进行一些列操作。卷积核(算子)是用来做图像处理时的矩阵,图像处理时也称为掩膜,是于原图像做运算的参数。卷积核通常是一个方形的网格结构,该区域上的每一个方格都有一个权重值,如下图,利用一个33的卷积核与图像上的相应大小的区域进行卷积运算,即对应相乘再相加,04 + 00 + 00 + 00 + 01 + 10 + 00 + 10 + 2(-4) = -8.Java中实现的效果:主类:pack原创 2020-11-05 21:57:11 · 1379 阅读 · 1 评论 -
Java中山脉的绘制---递归方法
**Java中山脉的绘制—递归方法**山脉绘制的思路:给定两个点A(x1,y1),B(x2,y2),递归不断取中点,同时给定一个范围[-range,range]和一个比率rate。每次取中点后,这个中点的纵坐标的值加上这个范围内的随机值,同时通过range=range*rate来缩小这个变化的范围,最后,通过相邻的点连线,绘制成一个山脉的形状。整段代码如下:package com.yf1031;import java.awt.FlowLayout;import java.awt.Graph原创 2020-11-03 23:56:12 · 1161 阅读 · 1 评论 -
Java中的实现马赛克效果以及灰度效果----整张图片
**Java中的实现马赛克效果-----整张图片**实现该效果的思路:我们知道图片是由一个一个的像素组成的,比如一张图片的分辨率为800 * 800,则它是由800个像素 * 800像素=640000像素组成的。我们要实现马赛克的效果,就是要局部区域像素用一个像素值来替代,换句话说,就是比如局部区域是10像素*10像素,在这些像素中,它们的值是不一样的,现在就像着能不能将该区域中的像素用一个像素的值来进行表示这段局部区域所有的像素值,这样我们就能过实现马赛克的一个效果了。先来看整体的代码,整体的代原创 2020-11-03 22:21:52 · 1082 阅读 · 0 评论 -
Leetcode刷题第1题:两数之和(基于Java语言)
**Leetcode刷题第1题:两数之和**给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(LeetCode)链接:https://leetcode-cn.com/pr原创 2020-11-01 01:14:41 · 280 阅读 · 3 评论 -
Java中 多态的理解
**Java中 多态的理解**多态:按照字面的意思就是“多种状态”。在面向对象原创 2020-10-30 19:54:30 · 299 阅读 · 0 评论 -
Leetcode刷题 463题:岛屿的周长(基于Java语言)
**Leetcode刷题 463题:岛屿的周长(基于Java语言)**一、 题目描述:给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。示例 :输入:[[0,1原创 2020-10-30 10:57:07 · 243 阅读 · 0 评论 -
Java中的方法重载
**Java中的方法重载** 定义: 方法重载 是指一个类中定义多个同名的方法,但是要求每个方法具有不同的参数类型或者参数的个数。在调用重载方法时,Java编译器能通过检查调用方法的参数类型和个数选择一个恰当的方法。 作用域: 方法重载一般是用于创建完成一组相似但参数的类型或者参数的个数或者参数的顺序不同的方法。 解释: Java中的方法重载就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,或者是参数的个数不同,或者是参数的类型不同。调用方法时通过传递给它们不同个数和类型的原创 2020-10-28 15:23:45 · 309 阅读 · 0 评论 -
Java中图形界面重绘方法
**Java中图形界面重绘方法** 在我们编写图形界面程序的过程中,我们就会发现,当我们将窗体拉伸,缩小(或者最大化最小化)的时候,之前在窗体上画的图形会消失了。这是为什么呢? 1)原来,窗体包括其他的组件都是计算机绘制出来,我们一旦使得窗体发生改变,之前的一切都得重新绘制。但是,对于组件等有既定的重绘方法,对于我们所画的图形却没有重绘的方法。 2)也可以这样解释: 我们绘制图形的数据都存储在内存中,而整个窗体都是调用系统底层的绘图方法来绘制出来的。在创建窗体时我们已经定义了窗体的大小,如果原创 2020-10-22 13:43:24 · 2949 阅读 · 0 评论 -
Java中传参数--值传递和引用传递
**Java中传参数–值传递和引用传递**在Java中,传参数分为值传递和引用传递。在Java中的数据类型分为两大类:一类是引用类型,也叫类类型(除了String以外的所有复合数据类型,包括数组、类和接口),是指通过类创建的对象的变量名字,这种类型在传递的时候就要遵守“引用传递”的规则;另一种是原始类型,即为8大基本类型(字节型(byte),短整形(short),整型(int),长整型(long),字符型(char),浮点型(float),双精度(double),布尔型(boolean)),这类型的原创 2020-10-21 16:09:26 · 623 阅读 · 1 评论 -
Java中 this关键字详解
客官如果大家喜欢我总结的知识点,请给我一个一键三连支持一下噢!原创 2020-10-18 00:48:54 · 1725 阅读 · 0 评论 -
Java中的构造方法(构造函数)与普通方法区别
**Java中的构造方法(构造方法)与普通方法区别**一、明白什么是构造方法,什么是普通方法?所谓的构造方法,是一种特殊的方法,其作用是用来创建对象时初始化对象,即为对象成员变量赋初始值,总是与new运算符一起使用在创建对象的语句中。特别的,一个类是可以有多个构造函数,可以根据参数个数的不同或者参数类型的不同来区分它们,即为构造函数的重载。构造方法是类的一个特殊的成员,在类实例化时会自动调用,其构造方法定义格式如下:修饰符 方法名(){}其中需要注意的是:方法名与类名相同;没有返回值原创 2020-10-17 00:50:29 · 14636 阅读 · 11 评论 -
Java中public,private,protected以及default的访问权限区别
**Java中public,private,protected以及default的访问权限区别**首先,从public的字面意思上就能够知道public所指的是公共的,从而我们可以知道public的访问权限是最为宽松的,它可以在同一个包内访问,也可以在不同的包内进行访问,其作用:它对任何地方的类都是可见的,换言之,就是所有其他的类都可以访问它,它对任何地方的类都是可见的。如图:其次,从private的字面上看就能知道它是表示私有的,从而我们可以知道它的访问权限是比较严格的。它表示是除了类原创 2020-10-15 14:19:12 · 1351 阅读 · 0 评论 -
Java 类与对象
**Java 类与对象**一、首先,我们需要了解一下面向对象和面向过程的基本概念。1.面向过程:在分析出解决问题的时候,首先把问题分成若干个步骤,然后将每个步骤都定义为一个函数,函数定义好了就意味着这个问题的解决步骤已经确定,使用时候就可以直接调用就行;2.面向对象:将构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事务在整个解决问题的步骤中的状态和行为。面对对象中体现的是产生行为的各个对象之间的关系。3.面向对象与面向过程的关系:面向对象是一种现在最为流行的程序原创 2020-10-11 00:10:46 · 2021 阅读 · 2 评论