java
文章平均质量分 76
openhiker
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
黑马程序员:JAVA整数数据类型取值范围及为什么是这个范围?
整数数据类型包括:byte、short、int、long四种类型,以下分别为各类型取值范围!byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1) short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1) int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1原创 2013-10-18 14:25:19 · 2376 阅读 · 0 评论 -
黑马程序员:给class文件写说明书,java的说明说通过文档注释来完成
给class文件写说明书,java的说明说通过文档注释来完成/**类的描述信息@author 张三@version V1.1*/每个public方法都写上类似如下说明: @param param是参数的意思/**获取一个整形数组中的最大值@param arr 接收一个int类型的数组@return 会返回一个数组中的最大值*/生成说明书的方法原创 2013-10-21 14:55:11 · 747 阅读 · 0 评论 -
黑马程序员:abstract(抽象)关键字介绍
abstract:抽象 只能用来定义类、方法当多个类中出现相同功能,但是功能主体不同,这时可以进行向上抽取,只抽取功能定义,而不抽取功能主体。抽象类的特点:1.抽象方法一定在抽象类中2.抽象方法和抽象类都必须被abstract关键字修饰3.抽象类不可以用new创建对象(抽象类无法进行实例化),因为调用抽象方法没意义4.抽象类中的方法要被使用,必须由子类重写其所有的抽原创 2013-10-21 15:03:36 · 720 阅读 · 0 评论 -
黑马程序员:面向对象三大特征之一:多态的介绍
多态:面向对象的第三个特征,前两个特征为封装、继承可以理解为事物存在的多种体现形态动物:猫 狗猫 m = new 猫();动物 m = new 猫();1.多态的体现父类的引用指向了自己的子类对象 Animal a = new Cat(); //类型提升,向上转型2.多态的前提必须是类与类之间有关系,要么继承(extends),要么实现(imple原创 2013-10-21 15:51:45 · 736 阅读 · 0 评论 -
黑马程序员:package、import、jar包介绍
包 package作用:1.对类文件进行分类管理2.给类提供多层命名空间3.写在程序文件的第一行4.类名的全称是 包名.类名5.包也是一种封装形式6.包可以使class文件和java文件分离编译带有package的java文件:javac -d 存放目录 filename.java执行:java packeagename.filename示例:原创 2013-10-21 17:08:50 · 1737 阅读 · 0 评论 -
黑马程序员:多线程的介绍、应用及由安全问题引出的同步代码块介绍
进程:是一个正在执行中的程序。每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元线程:进程中一个独立的控制单元,实质上是线程在控制着进程的执行,一个进程中至少有一个线程JVM Java Virtual Machine 启动的时候会有一个进程java.exe该进程中至少有一个线程负责java程序的执行而且这个线程运行的代码存在于main方法中该线程称之为原创 2013-11-04 19:43:42 · 836 阅读 · 0 评论 -
黑马程序员:多线程同步造成的死锁示例及理解
死锁示例:示例:class SynLock implements Runnable{ private boolean flag; SynLock(boolean flag) { this.flag = flag; } public void run() { while(true) { if (flag) { synchronized(Lock原创 2013-11-04 19:59:28 · 722 阅读 · 0 评论 -
黑马程序员:String介绍及String的常用方法介绍
String类字符串是一个特殊的对象String str = "abc"; //str是一个类类型变量,"abc"是一个对象String str_object = new String("abc");字符串一旦初始化就不可以被改变(被final修饰)示例:class StringOne{ public static void main(String[] args)原创 2013-11-09 19:14:42 · 919 阅读 · 0 评论 -
黑马程序员:String练习题
/*关于String类的练习题1.实现去字符串两端空格功能(不通过trim())2.字符串反转 abcdef,要求输出结果为fedcba3.获取一个字符串在另一个字符串中出现的次数4.获取两个字符串中最大相同子串*/class StringTestTrim{ public static void main(String[] args) { String str = "原创 2013-11-09 20:14:01 · 1657 阅读 · 0 评论 -
黑马程序员:基本数据类型对象包装类
基本数据类型对象包装类byte Byteshort Shortint Integerlong Longchar Characterfloat Floatdouble Double基本数据类型转成字符串类型基本数据类型.toString(基本数据类型值);如: Integer.toString(34);//34(字符串)String.valueOf原创 2013-11-09 21:23:54 · 804 阅读 · 0 评论 -
黑马程序员:StringBuffer与StringBuilder的介绍及区别
StringBuffer是字符串缓冲区,是一个容器,有CURD功能(create,update,read,delete)增删改查特点:1.长度可以变化2.可以直接操作多个数据类型3.最终会通过toString方法变成字符串当数据长度、类型都不确定,但最终是字符串的时候,可以用StringBuffer1.存储StringBuffer append():将制定数据作为参原创 2013-11-10 12:28:41 · 859 阅读 · 0 评论 -
黑马程序员:Collections:集合框架工具类介绍及二分法原理介绍
Collections 集合框架工具类,不同于Collection(接口)常用方法:public static > T max(Collection coll)public static > void sort(List list)public static void sort(List list, Comparator public static int binarySe原创 2013-11-11 13:31:32 · 976 阅读 · 0 评论 -
黑马程序员:泛型介绍:JDK1.5新特性
泛型:JDK1.5版本以后出现新特性,用于解决安全问题,是一个安全机制格式:通过集合 ,该参数类型不可以用基本数据类型(int char等),只有用引用数据类型,如String,Integer,数组等如:ArrayList al = new ArrayList();Iterator it = al.iterator();好处:1.将运行时期出现问题ClassCastExce原创 2013-11-11 13:39:25 · 859 阅读 · 0 评论 -
黑马程序员:IO流概述与FileWriter简单介绍
IO(Input Output)流IO流用来处理设备之间的数据传输Java对数据的操作是通过流的方式Java用于操作流的对象都是在IO包中流按操作数据分两种:字节流与字符流流按流向分为:输入流,输出流字节流的抽象基类:(图片等用字节流)InputStream,OutputStream字符流的抽象基类:(文字用字符流)Reader,Writer注:原创 2013-11-11 14:30:55 · 804 阅读 · 0 评论 -
黑马程序员:FileReader介绍及应用
创建一个文件读取流对象,和指定名称的文件相关联要保证该文件已经存在,如果不存在,会发生异常FileNotFoundExceptionFileReader fr = new FileReader("demo.txt");//调用读取流对象的read方法 int ch1 = fr.read(); //第一种方式:取后直接打印int ch2 = fr.read(); //若已原创 2013-11-11 15:16:19 · 1017 阅读 · 0 评论 -
黑马程序员:IO异常处理方式
1.注意要对各个会发生IO异常的语句处理2.对变量的定义,要考虑是局部还是全局都要使用3.考虑流对象是否能创建成功,若不成功,则不需要关闭流,所以关闭前要判断引用是否为空import java.io.FileWriter;import java.io.IOException;public class IOExceptionHandle { public static void原创 2013-11-11 15:21:06 · 833 阅读 · 0 评论 -
黑马程序员:转换流介绍:InputStreamReader、OutputStreamWriter
转换流InputStreamReader:字节流转换为字符流的桥梁OutputStreamWriter:字符流转换为字节流的桥梁键盘录入最常见写法:BufferedReader b = new BufferedReader(new InputStreamReader(System.in));源(InputStream、Reader):键盘录入目的(OutputStr原创 2013-11-11 20:02:45 · 1026 阅读 · 0 评论 -
黑马程序员:Java设计模式之单例设计模式的实现
设计模式:解决某一类问题最行之有效的方法。Java中有23种设计模式,单例设计模式只是其中一种单例设计模式:解决一个类在内存中只存在一个对象如何保证一个类在内存中只存在一个对象?为了避免调用者建立多个对象,先禁止调用者建立该对象为了方便调用者使用该类对象,在本类中建立一个私有对象并提供调用者一个访问方法代码实现过程示例:第一种方式:先初始原创 2013-10-18 18:39:15 · 855 阅读 · 0 评论 -
黑马程序员:Java数组简介与数组的应用:选择排序、冒泡排序、折半查找
何为数组:同一种类型数据的集合,装数据的一个容器。使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素数组的声明格式格式1:元素类型[] 数组名 = new 元素类型[元素个数或者数组长度]12int[] arr = new int[5]; //定义一个长度为5,名称原创 2013-10-18 16:01:09 · 917 阅读 · 0 评论 -
黑马程序员:JAVA各运算符中的注意点及小技巧介绍
1.JAVA运算需要注意参与运算的数据类型例子1:1234567891011class Demo{ public static void main(String[] args) { int x原创 2013-10-18 15:25:26 · 988 阅读 · 0 评论 -
黑马程序员:Java之介绍对象、封装、构造函数、构造代码块及this关键字
什么是面向对象?面向对象是一种将复杂的东西简单化的思想,有三个特征:封装、继承、多态从生活出发,理解类与对象的关系类:对现实生活中事物的描述,描述包含事物的属性和行为对象:这类事物,实实在在存在的个体举个简单的例子:技术主管吩咐开发专员开发一个功能模块。开发专员就是一个对象,技术主管只要通过这个对象就可以实现想要的功能,而开发专员具体怎么开发原创 2013-10-18 17:23:59 · 905 阅读 · 0 评论 -
黑马程序员:final关键字介绍
final: 最终是一个修饰符1.可以修饰类、函数、变量2.被final修饰的类不可以被继承,为了避免被继承、被子类重写 final class Demo3.被final修饰的方法不可以被重写 final void getIn(){}4.被final修饰的变量是一个常量,只能赋值一次,既可以修饰成员变量,又可以修饰局部变量当描述事物时,一些数据的出现值是固定的,为了增强阅读原创 2013-10-21 15:08:34 · 648 阅读 · 0 评论 -
黑马程序员:内部类介绍
内部类内部类可以继承外部类或实现接口内部类的访问规则:1.内部类可以直接访问外部类的成员,包括私有之所以可以直接访问外部类中的成员,是因为内部类中持有一个外部类的引用,格式:外部类名.this2.外部类要访问内部类,必须建立内部类对象注:内部类可以被成员修饰符所修饰,比如private、static修饰。内部类是外部类成员当内部类被static修饰后,只能直接访问外部类原创 2013-10-22 18:18:10 · 598 阅读 · 0 评论 -
黑马程序员:如何结束线程及线程中的其他方法介绍:interrupt()、join()、yield()等方法
停止线程stop()已过时如何停止线程?只有一种:run方法结束开启多线程运行,运行代码通常是循环结构所以通常只要控制循环,就可以让run方法结束,也就是线程结束示例:class StopThread implements Runnable{ private boolean flag = true; private int count = 1;原创 2013-11-04 19:56:46 · 803 阅读 · 0 评论 -
黑马程序员:集合类:List(ArrayList、LinkedList、Vector)、Set(HashSet、TreeSet)介绍
集合类为什么出现集合类?面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式数组和集合类同是容器,有何不同?数组虽然也可以存储对象,但是长度固定;集合长度是可变的,数组中可以存储基本数据类型,集合只能存储对象集合类的特点集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象集原创 2013-11-10 15:45:52 · 1682 阅读 · 0 评论 -
黑马程序员:其他类的介绍:System、Properties、Runtime、Calendar、Math等
重点是为了讲述API查询方法import java.util.Properties;/* * System类:描述系统一些信息 * 类中的方法和属性都是静态的 * out:标准输出,默认是控制台 * in:标准输入,默认是键盘 * 获取系统属性信息:Properties getProperties(); */public class SystemClassDemo { pub原创 2013-11-11 13:22:20 · 830 阅读 · 0 评论 -
黑马程序员:字符流缓冲区介绍及readLine、LineNumberReader添加行号原理
缓冲区的出现提供了数据的都写效率对应类:BufferedReader、BufferedWriter缓冲区的出现是为了流的操作效率而出现的,所以在创建缓冲区之前,必须要现有流对象示例:1.创建一个字符写入流对象FileWriter fw = new FileWriter("buf.txt");2.为了提高字符写入流的效率,加入了缓冲技术,只要将需要被提高效率的原创 2013-11-11 21:21:00 · 1602 阅读 · 0 评论 -
黑马程序员:File类、递归介绍(包含跨平台分隔符separator的介绍)
File类:用来将文件或者文件夹封装成对象方便对文件与文件夹的属性信息进行操作File对象可以作为参数传递给流的构造函数//将a.txt封装成file对象,可以将已有的和未出现的文件或者文件夹封装成对象File f1 = new File("c:\\abc\\a.txt");或者File f2 = new File("c:\\abc",str);//str = "a原创 2013-11-12 11:19:51 · 1088 阅读 · 0 评论 -
黑马程序员:RandomAccessFile介绍:多线程下载时用到的类
RandomAccessFile 类 多线程下载用的就是这个类该类不是IO体系中的子类,而是直接继承自Object,但是它是IO包中的成员,因为它具备读和写功能内部封装了一个byte数组,而且通过指针对数组中的元素进行操作,角标位第一位为0可以通过getFilePointer获取指针位置,同时可以通过seek改变指针的位置。它完成读写的原理就是内部封装了字节输入流和字原创 2013-11-12 23:48:56 · 1110 阅读 · 0 评论 -
黑马程序员:Properties类介绍:集合中和IO技术相结合的集合容器
Properties是hashtable的子类它具备Map集合的特点,而且它里面存储的键值对都是字符串,是集合中和IO技术相结合的集合容器该对象的特点:可用于键值对形式的配置文件那么在加载数据时,通常有固定的格式 键=值设置和获取元素Properties prop = new Properties();prop.setProperty("zhangsan","3原创 2013-11-13 13:10:33 · 1055 阅读 · 0 评论 -
黑马程序员:字符编码介绍
字符编码:字符流的出现为了方便操作字符更重要的是加入了编码转换通过子类转换流来完成InputStreamReaderOutputStreamWriter在两个对象进行构造的时候可以加入字符集提示:除了这两个对象可以加入字符集外,还有PrintStream、PrintWriter,但是它们是打印流,只用于打印常见编码表:ASCII:美国标准信息交换码。用一个字原创 2013-11-13 19:09:02 · 873 阅读 · 0 评论 -
黑马程序员:自动拆装箱及享元模式的介绍
基本数据的自动拆装箱Integer iObj = 3; //自动装箱System.out.println(iObj+12);//自动拆箱Integer i1 = 127;Integer i2 = 127;Integer i3 = 128;Integer i4 = 128;Integer i5 = Integer.valueOf(127);Integer i6 = I原创 2013-11-20 16:17:26 · 823 阅读 · 0 评论 -
黑马程序员:枚举的介绍
为什么要有枚举问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday=0枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错,枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标用普通类如何实现枚举功能,定义一个Weekday的类来模拟枚举功能原创 2013-11-20 16:21:42 · 788 阅读 · 0 评论 -
黑马程序员:反射的介绍、hashCode引起的内存泄漏讲解
反射 (会导致程序性能下降,但对未知类的扩展很有用)反射的基石->Class类Java类用于描述一类事物的共性,该类事物有什么属性,没有什么属性,至于这个属性的值是什么,则是由这个类的实例对象来确定的,不同实例对象有不同的属性值Java程序中的各个Java类,它们是否属于同一类事物,是不是可以用一个类来描述这类事物呢?答案肯定是可以的,这个类的名字就是Class,要注意和小写c原创 2013-11-20 16:31:15 · 1540 阅读 · 0 评论 -
黑马程序员:JAVA判断语句、选择语句、循环语句介绍
本文主要介绍JAVA中的if else语句、switch语句、for语句、switch语句及break语句、continue语句用法及注意点。1.判断语句if else第一种形式:只有if123456789101112class I原创 2013-10-18 15:38:18 · 2453 阅读 · 1 评论 -
黑马程序员:装饰设计模式介绍及装饰模式与继承关系的区别
装饰设计模式:当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。那么自定义的该类称为装饰类如对FileReader对应的装饰类BufferedReader装饰类通常会通过构造方法接收被装饰的对象,并基于被装饰的对象的功能,提供更强的功能以人的装饰类超级人做示例class Person{ public void原创 2013-11-11 21:56:51 · 1320 阅读 · 0 评论 -
黑马程序员:对象字节流:ObjectInputStream、ObjectOutputStream
操作对象:ObjectInputStream与ObjectOutputStream注意:被操作的对象需要实现Serializable、这两个对象需要成对使用UID是根据类中的各个成员、修饰符等计算出来的。如何设置UID:ANY-ACCESS-MODIFIER(任何修饰符) static final long serialVersionUID = 42L;为什么不让JAV原创 2013-11-12 16:42:26 · 955 阅读 · 0 评论 -
黑马程序员:合并流(序列流)的介绍:SequenceInputStream
SequenceInputStream:合并流(序列流)将多个输入流对象拼接成一个流对象构造函数:两个流合并的用法:SequenceInputStream(InputStream in1, InputStream in2){}两个以上流的用法:SequenceInputStream(Enumeration e) {}练习题一:将1.txt,2.t原创 2013-11-12 20:49:17 · 1149 阅读 · 0 评论 -
黑马程序员:线程间通信介绍:wait()、notify()、Lock、Condition等介绍
线程间通信:多个线程在使用同一个资源,但操作的动作不同等待唤醒机制:线程创建后都存放在内存中的线程池,wait()的线程也存放在线程池中wait();等待 public final void wait() throws InterruptedException写wait时注意要处理异常,暂时写成try{锁名.wait();}catch(Exception e){}notify(原创 2013-11-04 19:49:17 · 882 阅读 · 0 评论 -
黑马程序员:Map集合:Hashtable、HashMap、TreeMap介绍
Map集合:该集合存储键值对,一对一对往里存,而且要保证键的唯一性,双列集合当数据之间存在着映射关系时,就要先想到Map集合1.添加put(key,value)putAll(Map m) 2.删除clear()remove(Object key)3.判断containsKey(Object key)containsValue(Object Value)i原创 2013-11-10 16:07:42 · 1356 阅读 · 0 评论
分享