Java
文章平均质量分 73
hepei_i
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java实现排序算法(一)——选择排序
给定一个可排序的元素序列,将它们按照非降序方式重新排列。解决排序问题的算法有很多,最直接了当的算法就属这里用Java实现的这两种算法了——选择排序和冒泡排序。1.选择排序 选择排序开始的时候,扫描整个列表,找到它的最小元素,然后和第一个元素交换,将最小元素放在有序表的最终位置上。然后从第二个元素开始扫描,找到n-1个元素中最小的元素和第二个元素交换位置,把第二小的元素放在最终位置。在n-1遍...原创 2018-03-24 20:24:23 · 872 阅读 · 0 评论 -
final关键字、static关键字、匿名对象与内部类
final关键字 有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写。这时需要用到一个关键字final,final的意思为最终,不可变。 final是个修饰符,可以用来修饰类,类的成员,以及局部变量。 final修饰类不可以被继承,但是可以继承其他类class Yy {}final class Fu ext...原创 2018-04-07 22:44:48 · 663 阅读 · 0 评论 -
Java中的异常以及对异常的处理
Java代码在运行时期发生的问题就是异常。在Java中,把异常信息封装成了一个类,当出现问题时,就会创建异常类对象并抛出异常相关的信息(如异常的位置、原因等)异常的继承体系 在Java中使用Exception类来描述异常。Exception类及其子类是Throwable的一种形式,它用来表示Java程序中可能会产生的异常,并要求对产生的异常进行合理的异常处理。 Exceptio...原创 2018-04-23 21:57:17 · 2160 阅读 · 0 评论 -
Java多线程
关于多线程有关的概念: 进程:进程指正在运行的程序,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。 一个程序运行后至少有一个进程,一个进程中可以包含多个线程多线程就是一个程序中有多个线...原创 2018-05-08 21:29:19 · 276 阅读 · 0 评论 -
IO流——字节流
字节输出流OutputStream 此抽象类,是表示输出字节流的所有类的超类。操作的数据都是字节,定义了输出字节流的基本共性功能方法。输出流中定义的方法: close():关闭输出流并释放与此输出流有关的所有系统资源 flush():刷新此输出流并强制写出所有缓冲的输出字节 write(byte[] b):将b.length个字节从指定的byte数组写入此输出流 wr...原创 2018-05-02 21:02:55 · 355 阅读 · 0 评论 -
IO流——字符流
字节流读取字符的问题通过以下程序读取带有中文的文件public class CharStreamDemo { public static void main(String[] args) throws IOException { //给文件中写中文 writeCNText(); //读取文件中的中文 readCNText(); } //读取中文 public static...原创 2018-05-02 21:30:39 · 264 阅读 · 0 评论 -
递归以及递归的简单使用(递归求和、递归求阶乘、递归遍历全目录、递归计算斐波那契数列)
递归,指在当前方法内调用自己的现象。public void method(){ System.out.println(“递归的演示”); //在当前方法内调用自己 method();}递归分为两种:直接递归(方法自身直接调用自己)和间接递归(可以A方法调用B方法,B方法调用C方法,C方法再调用A方法)。1.计算1~n的和,使用递归完成import java.util.Scanner;p...原创 2018-04-25 21:26:14 · 5098 阅读 · 0 评论 -
IO流——转换流
OutputStreamWriter类 OutputStreamWriter是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码乘字节。代码演示:public static void writeCN() throws Exception { //创建与文件关联的字节输出流对象 FileOutputStream fos = new FileOutputStream(...原创 2018-05-05 21:34:20 · 557 阅读 · 0 评论 -
IO流——缓冲流
在进行读取文件中数据的操作时,读取数据量大的文件时,读取的速度会很慢,Java中提供了一套缓冲流,可以提高IO流的读写速度。缓冲流 根据流的分类分为字节缓冲流与字符缓冲流字节缓冲流字节缓冲流根据流的方向有字节缓冲输出流BufferedOutputStream(写入数据到流中)和字节缓冲输入流BufferedInputStream(读取流中的数据)BufferedOutputStream ...原创 2018-05-05 22:05:25 · 478 阅读 · 0 评论 -
IO流——序列化流、反序列化流以及打印流
用于从流中读取对象的操作流 ObjectInputStream 称为反序列化流用于向流中写入对象的操作流 ObjectOutputStream 称为序列化流特点:用于操作对象。可以将对象写入文件中,也可以从文件中读取对象对象序列化流ObjectOutputStream 将Java对象的基本数据类型和图形写入OutputStream。可以使用ObjectInputStr...原创 2018-05-06 20:34:57 · 503 阅读 · 0 评论 -
Java实现模拟斗地主洗牌发牌
按照斗地主的规则,完成洗牌发牌看牌的动作。最终结果预计为:具体规则:1.组装54张扑克牌2.将54张扑克牌顺序打乱3.三个玩家参与游戏,三人交替摸牌,每人17张,最后三张做底牌4.查看三人手中各自的牌(按牌的大小排序)、底牌实现代码步骤:1.首先,要修改java文件编码,由GBK修改为UTF-8,因为默认的字符编码GBK没有梅花、方片...原创 2018-04-20 20:20:57 · 12407 阅读 · 4 评论 -
Java简单猜数字游戏
我们经常在日常生活中与朋友玩或者看到过别人玩猜数字游戏(数字炸弹),非常的有趣。现在我们通过java把这个猜数字游戏编写出来。 这个游戏的功能就是你出个数字、我来猜。游戏操作如下:1.后台预先生成一个1-100之间的随机数,用户键盘录入猜数字2.如果猜对了,打印“恭喜您,答对了”3.如果猜错了 猜大了:打印“sorry,您猜大了!” 猜小了...原创 2018-03-25 17:48:48 · 42986 阅读 · 7 评论 -
Java随机点名器案例
随机点名器,即在全班同学中随机的打印出一名同学的名字。要做到随机点名,需要具备 ①存储所有的同学姓名 ②显示全班同学姓名 ③随机点名其中的一个人,打印到控制台。需要涉及的知识点:①数组 ②随机类1.实现对全班同学姓名的存储 在存储姓名时,如果对每一个同学都定义一个变量进行姓名存储,会出现过多的变量,很难一次性将全部数据持有。可以使用数组解决多个数据的存储问题。代码如下...原创 2018-03-26 22:08:41 · 15362 阅读 · 1 评论 -
构造方法、this关键字与super关键字
一、构造方法 在开发中经常需要在创建对象的同时明确对象的属性值。构造方法就是在创建对象时要执行的方法。既然是对象创建时要执行的方法,那么只要在new对象是,知道其执行的构造方法是什么,就可以在执行这个方法的时候给对象进行属性赋值。 构造方法的格式:修饰符 构造方法名(参数列表){ } 构造方法的体现: 构造方法没有返回值类型。也不需要写返回...原创 2018-04-03 22:16:46 · 863 阅读 · 0 评论 -
面向对象的多态特性
多态是继封装、继承之后,面向对象的第三大特性。 Java作为面向对象的语言,同样可以描述一个事物的多种形态。如Student类继承了Person类,一个Student的对象便既是Student,又是Person。 Java中多态的代码体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个子类(实现类对象)的父类(接口)变...原创 2018-04-02 22:46:57 · 712 阅读 · 1 评论 -
Java实现排序算法(二)——冒泡排序
另一个直接了当的排序方法就是冒泡算法。 比较表中的相邻元素,如果是逆序的话就交换位置。重复多次后,最终最大的元素下沉到列表的最后一个位置,第二遍操作将第二大的元素沉下去,直到n-1遍后,该列表就排好序了。 代码如下:import java.util.Arrays;import java.util.Scanner;public class BubbleMain { pub...原创 2018-03-24 20:46:52 · 408 阅读 · 0 评论 -
Java打印三角形
打印三角形主要是对Java中循环嵌套的应用。 嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。while、do…while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,如最常见的在for循环中嵌套for循环。它的格式为:for(初始化表达式; 循环条件; 操作表达式) { ……… for(初始化表达式; 循环条件; 操作表达式) { ...原创 2018-03-25 18:18:43 · 9969 阅读 · 1 评论 -
数组异常
1.数组越界异常每个数组的索引都会有一个范围,即0~length-1.在访问数组的元素时,索引不能超过这个范围,否则程序会报错。如下所示: public class ArrayDemo06 { public static void main(String[] args) { int[] arr = new int[4]; // 定义一个长度为4的数组 System.out.prin...原创 2018-03-26 22:29:26 · 2303 阅读 · 0 评论 -
方法、方法重载和方法覆盖
1.方法 在Java中,方法就是用来完成解决某件事情或实现某个功能的办法。 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本,控制输入或者计算数值。我们可以通过在程序代码中引用方法名称和所需的参数,实现在该程序中执行(调用)该方法,方法一般都有一个返回值,用来作为事情的处理结果。 方法的具体语法格式:修饰符 返回值类型 方法名(参数类型 参数1,参数类...原创 2018-03-27 20:05:11 · 1375 阅读 · 3 评论 -
ArrayList集合
数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适应,因为数组的长度不可变。 为了保存数目不确定的元素,jdk中提供了一系列特殊的类,这些类可以存储任意元素,并且长度可变,统称为集合。这里主要是ArrayList集合。 ArrayList集合是程序中最常见的一种集合,属于引用数据类型。在ArrayList内部封装了一些长度...原创 2018-03-28 19:02:03 · 708 阅读 · 0 评论 -
集合框架——Map接口
Map接口 Map中的集合,元素是成对存在的。每个元素由键和值两部分组成(键值对),通过键可以找到对应的值。Map中的集合成为双列集合。需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。Map中常用的集合为HashMap集合、LinkedHashMap集合 HashMap<K,V>:存储数据采用哈希表结构,元素存取顺序不能保证一致。由于要保证键...原创 2018-04-20 19:47:56 · 941 阅读 · 0 评论 -
集合框架——Set接口
Set接口,里面的集合所存储的元素都是不重复的。通过元素的equals方法,来判断是否为重复元素。HashSet集合:此类实现Set接口,有哈希表支持。HashSet集合不能保证迭代顺序与元素顺序相同。采用哈希表结构存储数据,保证元素唯一性的方式依赖于:hashCode()与equals()方法。HashSet集合存储数据的结构是哈希表,哈希表底层使用的也是数组机制,数组中也存放对象,而这些对象往...原创 2018-04-20 11:46:41 · 401 阅读 · 0 评论 -
集合框架——List接口
List接口,是一个元素存取有序的集合;是一个带索引的集合,通过索引就可以精确的操作集合中的元素;集合中可以有重复的元素,通过元素的equals方法来比较是否为重复的元素。List接口常用的子类有 ArrayList集合和LinkedList集合。 ArrayList集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最...原创 2018-04-20 11:09:21 · 361 阅读 · 0 评论 -
集合框架——Iterator迭代器
Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续判断,如果还有就再取出来。一直把集合中的元素全部取出。这种取出方式专业术语称为迭代。集合中把这种取元素的方式描述在Iterator接口中。Iterator接口的常用方法:迭代器的代码实现:import java.util.ArrayList;import java.util.Coll...原创 2018-04-13 20:33:12 · 418 阅读 · 0 评论 -
集合框架——集合继承及Collection接口
集合的继承实现关系查看ArrayList类发现它继承了抽象类AbstractList同时实现接口List,而List接口又继承了Collection接口。Collection接口为最顶层集合接口了。interface List extends Collection{}public class ArrayList extends AbstractList implement List{}说明在...原创 2018-04-13 19:31:35 · 1176 阅读 · 0 评论 -
正则表达式
正则表达式(在代码中常简写为regex) 正则表达式是一个字符串,使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。开发中,正则表达式通常用来检索、替换那些符合某个规则的文本。 正则表达式的匹配规则 在Pattern类中有正则表达式的规则定义,正则表达式中明确区分大小写字母。 正则表达式的语法规则:字符:x含...原创 2018-04-12 19:20:54 · 379 阅读 · 0 评论 -
Java的API及Object类、String类
Java的API(Application Programming Interface)(应用程序接口)是JDK中提供的类,这些类将底层的代码实现封装了起来,使用者不需要关心这些类是如何实现的,只需要学习如何使用即可。 在JDK安装目录下有个src.zip文件,这个文件解压缩后里面的内容是所有Java类的源文件。可以在其中查看相对应的类源码。我们可以通过查帮助文档的方式...原创 2018-04-11 21:32:50 · 453 阅读 · 0 评论 -
Java实现超市库存管理系统
模拟真实的库存管理逻辑,完成超市管理系统的日常功能实现。 经过分析,首先需要一个功能菜单,然后输入所选的功能后,调用序号对应的功能方法,实现想要的操作。 具体的步骤如下: 1.完成超市商品初始化。创建商品,将商品添加到集合2.显示来到超市能做的操作,也就是显示主菜单3.根据接收到的功...原创 2018-03-30 22:04:44 · 55559 阅读 · 78 评论
分享