- 博客(10)
- 收藏
- 关注
原创 洗牌程序
洗牌程序程序主要包含三个部分:通用牌类 Card,没有特殊花色的牌,像扑克里的“跑得快”可直接使用;扑克 Poker,继承自 Card,加入大小王两张牌,像“斗地主”可使用;麻将 Mahjong,继承自 Card,加入特殊花色的牌,如东风、北风、红中、白板等。以下为代码:package org.iword.card;/** * @文件名: org.iword.Ma
2014-06-25 13:53:04 714
原创 迷宫
迷宫用 Java 写了一个迷宫程序,算法总结起来就是将“死路”彻底封死(我称之为砌砖),最后只剩下“活路”就是查找到的迷宫通行路径了。代码如下:package org.iword;/** * @文件名: org.iword.Main.java * @作者 : iword * @日期 : 2014年6月19日 下午11:28:29 * @版本 : 1.0 * @描术 :
2014-06-20 12:01:32 624
原创 排序算法及其效率比较
排序算法及其效率比较下面比较了冒泡排序法、选择排序法和快速排序法的效率,代码如下:package org.iword;import java.util.Arrays;public class Main { public static void main(String[] args) { int[] bubble = getIntArray(20,
2014-06-19 14:59:43 714
原创 静态代码块和构造代码块
静态代码块和构造代码块的所谓代码块是指使用“{}”括起来的一段代码。Java有四种代码块,分别是普通代码块(如方法后大括号中的代码)、构造代码块、静态代码块、同步代码块(与多线程数据安全有关)。1.静态代码块使用static关键字修饰的代码块称为静态代码块,一般用于初始化类的静态属性和对象创建前的环境。静态代码块在类装载时会自动执行,换言之,一旦触发类,其中的静态代码块
2014-06-19 02:32:45 1195
原创 何时使用递归
递归的应用一、算法说明递归来源于数学中的归纳法,归纳法是数学里的一种证明方法,它通常有以下两个步骤:证明当 n 等于某一个值(通常是限定范围内的第一个值)时命题成立;假设当 n = m 时命题成立,证明当 n = m + 1 时命题也成立。数学中的归纳法由已知推向未知由前推向后,而在编程中通常是给定 n 的值(如 n = m)求结果,这与数学中的归纳法在过程
2014-06-16 19:25:37 5378
原创 提升Java的输出效率
提升Java的输出效率输出1+2+3+4+......+10000,这是一个很简单的题,相信只要学过Java就都能写出来,下面列举了几种写法:写法一:public class OutputMain { public static void main(String[] args) { for (int i = 1; i < 10000; i++) {
2014-06-15 12:04:01 733
原创 深层复制与浅层复制
深层复制与浅层复制深层复制(Deep copy)与浅层复制(Shallow copy)的区别本质上是值传递与引用传递的区别。Java针对基本类型(如int、short、float、double等,字母均小写)采用值传递,针对类类型(如String、Integer、Float等,首字母大写)则采用引用传递。所谓值传递就是将一个变量的值传递给另一个变量,传递之后二者互不影响,引用传递则类似于c
2014-06-14 13:43:42 1110
原创 Java 中的缓存
Java中的缓存Java诞生之初是为消费性数字产品而设计,这类产品自身内存及运算资源十分有限。因此,Java有着许多为节省资源而作的设计,如整型缓存池、字符串池等。这样的设计无疑节省了资源提高了效率,但如果对此一知半解很可能导致一些难以发现的问题。看看下面的代码:public class CacheMain { public static void main(String[]
2014-06-13 02:13:34 503
原创 自动装箱与拆箱中的陷阱
自动装箱与拆箱中的陷阱一、了解自动装箱与拆箱Java 的自动装箱(Autoboxing)与拆箱(AutoUnboxing)解决了基本类型的实例化问题,使得基本类型也可以当作对象来使用。但在使用过程中有一些地方需要特别注意,否则就容易掉入自动装箱与拆箱的陷阱之中。先来看一下什么是自动装箱与拆箱:public class IntegerDemoMain { public s
2014-06-12 00:35:06 722
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人