
Java
blacop
这个作者很懒,什么都没留下…
展开
-
Java学习日记 查表法十进制转十六进制
Java学习日记查表法十进制转十六进制 心得写在注释里面,代码如下:public static void toHex(int num) { char[] str={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};//制表,自动带下标0-15原创 2016-06-25 12:24:57 · 406 阅读 · 0 评论 -
Java学习日记 求最值 排序 选择 冒泡 交换
class ArrayTool{public int getMax(int[] arr){int max = 0; for(int x=1;x {if(arr[x]>arr[max])max=x; }return arr[max]; } public void selectSort(int[] arr){for (int x原创 2016-06-25 12:27:10 · 354 阅读 · 0 评论 -
折半查找,要求必须是升序数组
public static int halfSearch(int[] arr,int key)//折半查找,要求必须是升序数组{int min,max,mid;//定义3个指针min,max,midmin=0;//下标从0开始max=arr.length-1;//防止下标越界mid=(min+max)/2;while(arr[mid]!=key){if(key>ar原创 2016-06-25 13:20:54 · 789 阅读 · 0 评论 -
静态代码块 构造代码块 构造函数 区别
构造函数:用于给对象进行初始化,是给与之对应的对象进行初始化,它具有针对性,函数中的一种。特点:1:该函数的名称和所在类的名称相同。2:不需要定义返回值类型。3:该函数没有具体的返回值。记住:所有对象创建时,都需要初始化才可以使用。注意事项:一个类在定义时,如果没有定义过构造函数,那么该类中会自动生成一个空参数的构造函数,为了方便该类创建对象,完成初始化。如果在类中转载 2016-06-25 14:40:11 · 728 阅读 · 0 评论 -
java多态-示例
/*基础班学生:学习,睡觉高级版学生:学习,睡觉可以将这两类食物进行抽取。*/class Student//抽象出一个共性做父类{public abstract void study();public void sleep(){System.out.println("躺着睡");}/*public void sleep(){原创 2016-06-28 12:05:08 · 421 阅读 · 0 评论 -
基本数据类型对象包装类Integer parseXxx
/*基本数据类型对象包装类Integer parseXxxint Integerchar Character基本数据类型对象包装类的最常见作用就是用于基本数据类型和字符串类型之间做转换基本数据类型转成字符串。 基本数据类型+"" 基本数据类型.toString(基本数据类型值); 如:Inter.toString(34);//将34整数变成"34";字符串转成基本数原创 2016-07-10 10:02:16 · 1347 阅读 · 0 评论 -
Collection共性方法
/*1.add方法的参数类型是Object.以便于接收任意类型对象。2.集合中存储的都是对象的引用(地址)什么是迭代器呢?其实就是集合的取出元素的方式。*/import java.util.*;class CollectionDemo{ public static void main(String[] args) { method_get();原创 2016-07-10 15:24:10 · 348 阅读 · 0 评论 -
ArrayListDemo
/*Collection |--List:元素是有序,元素可以重复,因为有索引 |--ArrayList:底层的数据结构使用的数组结构。特点:查询速度很快,但是增删稍慢。线程不同步 |--LinkedList:底层使用的是链表数据结构。特点:增删速度很快,查询稍慢。 |--Vector:底层是数组数据结构。 线程同步。被ArrayList替原创 2016-07-10 20:12:11 · 317 阅读 · 0 评论 -
LinkedList链表特有方法
import java.util.*;/*LinkedList 特有方法addFirst();addLast();添加元素getFirtst();getLast();获取元素,但不删除元素。如果集合中没有元素,会出现NoSuchElementExceptionremoveFirst();removeLast();获取元素,但是元素被删除。如果集合中没有元素,会出现NoSuchEle原创 2016-07-10 23:19:45 · 355 阅读 · 0 评论 -
用LinkedList链表模拟 堆栈、队列 两种数据结构
/*用LinkedList链表模拟 堆栈、队列 两种数据结构堆栈 先进后出 后进先出队列 先进先出 First In First Out: FIFO*/import java.util.*;class DuiLie//队列{ private LinkedList link; DuiLie()//构造方法 { link = new LinkedL原创 2016-07-10 23:46:28 · 543 阅读 · 0 评论 -
匿名内部类调用Test
interface Inter{void method();}class Test{//补足代码,通过匿名内部类。/*static class Inner implement Inter{public void method()} *//*static Inter function()//返回值是Inter才能调用function()原创 2016-06-29 13:44:40 · 488 阅读 · 0 评论 -
去除ArrayList集合中的重复元素
/*去除ArrayList集合中的重复元素。*/import java.util.*;class ArrayListTest{ public static void sop(Object obj) { System.out.println(obj); } public static void main(String[] args)原创 2016-07-11 16:56:24 · 663 阅读 · 0 评论 -
往ArrayList 传自定义对象并重写Equals()
/*往ArrayList 传自定义对象并重新Equals()去除ArrayList集合中的重复元素。*//*将自定义对象作为元素存到ArrayList集合中,并去除重复元素。比如:存人对象。同姓名同年龄,视为同一个人。为重复元素。思路:1.对人描述,将数据封装进人对象2.定义容器,将人存入。3.取出*/import java.util.*;//必须导入的工具util包,否则无法原创 2016-07-11 16:58:49 · 2286 阅读 · 0 评论 -
HashSetDemo
import java.util.*;/*|-- Set:元素是无序(存入和取出的不一致),元素不可以重复。 |--HashSet:底层数据结构是哈希表 HashSet是如果保证元素唯一性的呢? 是通过元素的两个方法,hashCode和equals来完成的 如果元素的HashCode值相同,才会判断equals是否为true.原创 2016-07-11 22:09:50 · 536 阅读 · 0 评论 -
TreeSet实现Comparable接口覆写compareTo()方法
import java.util.*;/*TreeSet实现Comparable接口覆写compareTo()方法Set:无序,不可以重复元素。 |--HashSet 数据结构是哈希表。线程是非同步的。 保证元素唯一性的原理:判断元素的hashCode值是否相同。 如果相同,还会继续判断equals方法是否为原创 2016-07-11 23:30:22 · 1244 阅读 · 0 评论 -
IO流拷贝图片
/*IO流拷贝图片复制一个图片思路:1,用字节读取流对象和图片关联2,用字节写入流对象创建一个图片文件。用于存储获取到的图片数据。3,通过循环读写,完成数据的存储4,关闭资源。*/import java.io.*;class CopyPic { public static void main(String[] args) { System.out原创 2016-07-23 09:23:05 · 492 阅读 · 0 评论 -
演示MP3的复制。通过IO流缓冲区。
/*演示MP3的复制。通过IO流缓冲区。演示MP3的复制。通过缓冲区。BufferedOutputStreamBufferedInputStream*/import java.io.*;class CopyMp3 { public static void main(String[] args) throws IOException { long start原创 2016-07-23 09:46:47 · 320 阅读 · 0 评论 -
TreeSet自定义比较器实现Comparator接口,覆盖Compare方法
import java.util.*;/*TreeSet自定义比较器实现Comparator接口,覆盖Compare方法当元素自身不具备比较性,或者具备的比较性不是所需要的。这是需要让容器自身具备比较性。定义了比较器,将比较器对象作为参数传递给TreeSet的构造函数当两种排序都存在时,以比较器为主定义一个类,实现Comparator接口,覆盖compare方法。以return 0 判断元原创 2016-07-12 09:59:26 · 5095 阅读 · 1 评论 -
匿名内部类new 父类或者接口(){定义子类的内容(如函数等)}
/*匿名内部类:1。匿名内部类其实就是内部类的简单样式2.定义匿名内部类的前提,内部类必须是继承一个类或者实现接口3.格式:new 父类或者接口(){定义子类的内容(如函数等)}4.其实匿名内部类就是一个匿名子类对象。而且这个对象有点胖。5.匿名内部类钟定义的方法最好不要超过3个。多了建匿名内部类的代码会太多,很冗余。*/abstract class AbsDemo{ abs原创 2016-07-12 14:30:58 · 2453 阅读 · 1 评论 -
自定义字节流缓冲区read(),write()的特点
/*自定义字节流缓冲区read(),write()的特点read()和write()的返回值int是4个字节,32个byteread()的特点,因为read()方法byte转int,8位转32位,所以为了防止第一个字节(8个byte)变32个1(即为-1),与上8个1(即为255)write()的特点,int强转byte,去除前3个字节,只保留最后1个字节。*/import java.io原创 2016-07-23 11:30:10 · 866 阅读 · 0 评论 -
IO流读取键盘录入
/*IO流读取键盘录入字符流://用于文本FileReaderFileWriterBufferedReaderBufferedWriter字节流://用于其他,如图片,音乐等FileInputStreamFileOutputStreamBufferedInputStreamBufferedOutputStream读取键盘录入System.out:对应的标准输出设备 控制台Syste原创 2016-07-23 12:54:20 · 1982 阅读 · 0 评论 -
InputStreamReader转换字节流为字符流对象调用readLine读取键盘录入
/*InputStreamReader转换字节流为字符流对象调用readLine读取键盘录入字符流://用于文本FileReaderFileWriterBufferedReaderBufferedWriter字节流://用于其他,如图片,音乐等FileInputStreamFileOutputStreamBufferedInputStreamBufferedOutputStream通过原创 2016-07-23 13:34:46 · 4485 阅读 · 0 评论 -
转换流指定编码表utf-8写入文件
/*转换流指定编码表utf-8写入文件字符流://用于文本FileReaderFileWriterBufferedReaderBufferedWriter字节流://用于其他,如图片,音乐等FileInputStreamFileOutputStreamBufferedInputStreamBufferedOutputStream通过刚才的键盘录入一行数据并打印其大写,发现其实就是读一行原创 2016-07-24 16:26:22 · 1221 阅读 · 0 评论 -
IO流以日志文件记录异常
//IO流以日志文件记录异常import java.io.*;//异常import java.util.*;//工具import java.text.*;//格式化class ExceptionInfo{ public static void main(String[] args) throws IOException { try {原创 2016-07-24 17:01:08 · 808 阅读 · 0 评论 -
IO流输出系统信息
//IO流输出系统信息import java.util.*;import java.io.*;class SystemInfo{ public static void main(String[] args) { Properties prop = System.getProperties(); //System.out.println(pro原创 2016-07-24 17:11:51 · 309 阅读 · 0 评论 -
异常处理Demo
/*Exception中有一个特殊的子类异常RuntimeException运行异常如果在函数内容抛出该异常,函数上可以不用声明,编译一样通过.如果在函数上声明了该异常.调用者可以不用进行处理.编译一样通过;之所以不用在函数上声明,是因为不需要让调用者处理.当该异常发生,希望程序停止.因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修正.原创 2016-07-02 21:49:38 · 525 阅读 · 0 评论 -
多进程实现方式Example2
/*多进程实现方式Example2 创建线程的第二种方式:实现Runnable接口 步骤: 1,定义类实现Runnable接口 2,覆盖Runnable接口中的run方法. 将线程要运行的代码存放在该run方法中. 3,通过Thread类建立线程对象. 4,将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数. 为什么要将Runnable接口的子类对象传原创 2016-07-03 23:19:29 · 578 阅读 · 0 评论 -
HashMap的两种取出方式keySet和entrySet
/*HashMap的两种取出方式keySet和entrySet每一个学生都有对应的归属地。学生Student,地址String.学生属性:姓名,年龄。注意:姓名和年龄相同的视为同一个学生。保证学生的唯一性。1,描述学生。2,定义map容器。将学生作为键,地址作为值。存入。3.获取map集合中的元素。*/class Student implements Comparable<Stud原创 2016-07-14 22:36:09 · 768 阅读 · 0 评论 -
File类常见方法
import java.io.*;/*File类常见方法:1,创建。 boolean createNewFile();在指定位置创建文件,如果该文件已经存在,则不创建,返回false。 和输出流不一样,输出流对象一建立创建文件。而且文件已经存在,会覆盖。 boolean mkdir():创建文件夹 boolean mkdirs():创建多級文件夹2,删除。原创 2016-07-26 09:46:38 · 308 阅读 · 0 评论 -
File对象功能-文件列表
//File对象功能-文件列表import java.io.*;class FileDemo2{ public static void main(String[] args) { File dir = new File("c:\\"); File[] files = dir.listFiles(); for (File f :原创 2016-07-26 10:19:53 · 532 阅读 · 0 评论 -
TreeMap利用Comparator接口排序
/*TreeMap利用Comparator接口排序需求:对学生对象的年龄进行升序排序。因为数据是以键值对形式存在的。所以要使用可以排序的Map集合。TreeMap*/import java.util.*;class StuNameComparator implements Comparator<Student>//比较器{ public int compare(Studengt原创 2016-07-15 09:32:31 · 4310 阅读 · 0 评论 -
IO流列出目录下所有内容,带层次
/*IO流列出目录下所有内容,带层次列出指定目录下文件或者文件夹,包含子目录中的内容。也就是列出指定目录下所有内容。因为目录中还有目录,只要使用同一个列出目录功能的方法即可在列出过程中出现的还是目录的话,还可以再次调用本功能。也就是函数自身调用自身这种表现形式,或者编程手法,称为递归递归要注意:1,限定条件2,要注意递归的次数,防止内存溢出*/import java.io.*;cla原创 2016-07-26 12:41:28 · 978 阅读 · 0 评论 -
IO流删除带内容的目录
/*IO流删除带内容的目录删除一个带内容的目录。删除原理:在windows中,删除目录从里面往外删除的。既然是从里往外删除。就需要用到递归*/import java.io.*;class RemoveDir{ public static void main(String[] args) { File dir new File("d:\\testdir"原创 2016-07-26 13:01:16 · 652 阅读 · 0 评论 -
IO流创建java文件列表
/*IO流创建java文件列表练习将一个指定目录下的java文件的绝对路径,存储到一个文本文件中。建立一个java文件列表文件。思路:1,对指定的目录进行递归。2,获取递归过程中所有的java文件的路径3,将这些路径存储到集合中4,将集合中的数据写入到一个文件中。*/import java.io.*;import java.util.*;//集合class JavaFileLi原创 2016-07-26 15:20:24 · 392 阅读 · 0 评论 -
Properties存取配置文件
/*Properties存取配置文件Properties是hashtable的子类。也就是说它具备map集合的特点。而且它里面存储的键值对都是字符串是集合中和IO技术相结合的集合容器。该对象的特点:可以用于键值对形式的配置文件。那么在加载数据时,需要数据有固定格式:键=值*/import java.io.*;//IO流import java.util.*;//集合class Prop原创 2016-07-27 10:37:32 · 359 阅读 · 0 评论 -
TreeSet重写比较器按照字符串长度排序
/*TreeSet重写比较器按照字符串长度排序练习:按照字符串长度排序字符串本身具备比较性。但是它的比较方式不是所需要的这时就只能使用比较器*/import java.util.*;class TreeSetTest{ public static void main(String[] args) { TreeSet ts = new TreeSet(原创 2016-07-16 16:06:48 · 1530 阅读 · 0 评论 -
多线程-死锁Test
class Test implements Runnable{ private boolean flag; Test(boolean flag) { this.flag = flag; } public void run() { if(flag) { while(true)原创 2016-07-05 22:01:38 · 298 阅读 · 0 评论 -
Collections.sort方法实现Comparator比较器进行二分查找
/*Collections.sort方法实现Comparator比较器Collections 工具类*/import java.util.*;class CollectionsDemo{ public static void main(String[] args) { sortDemo(); } public static void sor原创 2016-07-18 09:47:00 · 1369 阅读 · 0 评论 -
记录应用程序运行次数
/*用于记录应用程序运行次数.如果使用次数已到,那么给出注册提示.很容易想到的是:计数器.可是该计数器定义在程序中,随着程序的运行而在内存中存在,并进行自增可是随着该应用程序的退出,该计数器也在内存中消失了.下一次在启动该程序,又重新开始从零计数.这样不是我们想要的.程序即使结束,该计数器的值也存在.下次程序启动会加载该计数器的值并加1后再重新存储起来.所以要建立一个配置文件.用于记录该原创 2016-07-28 15:46:22 · 2952 阅读 · 0 评论 -
Arrays.asList转换数组为集合List对象
/*Arrays.asList转换数组为集合List对象Arrays:用于操作数组的工具类。里面都是静态方法。asList:将数组变成list集合*/import java.util.*;class ArraysDemo{ public static void main(String[] args) { /* int[] arr = {原创 2016-07-18 14:01:11 · 1892 阅读 · 0 评论