java基础
海明1993
这个作者很懒,什么都没留下…
展开
-
进制转换
package com.test.test;/** * toy 进制转换[说明/描述] * * @author CaiHaiming * @date 2016-5-17 下午8:59:48 * @company chm * @version 1.0 * @copyright copyright (c) 2016 */// << : 左移运算符,num << 1,相当于num原创 2016-05-17 23:33:31 · 238 阅读 · 0 评论 -
1初识IO
1.IO流用来处理设备之间的数据传输2.JAVA对数据的操作是通过流的方式3.java用于操作流的对象都在IO包中4.流按照惭怍的数据分为:字节流与字符流5.按照流向分为:输入流,输出流通用字节流,字符流基于字节流4个基本类字节流的抽象基类 两个 inputStream outputStream字符流的抽象基类 两个 Reader Writer原创 2016-07-24 23:01:26 · 146 阅读 · 0 评论 -
15拷贝媒体文件
拷贝图片音乐视频等。使用字节流。字符流可以做,但是不一定能打开,字符流一次读取2字节,找不到的字节会使用相似值代替。所以在这里字符流只能处理文字。public static void copy() {BufferedInputStream bis = null;BufferedOutputStream bos = null;try {bis = new Buffered原创 2016-07-25 22:04:18 · 196 阅读 · 0 评论 -
16标准(键盘,控制台)输入输出流
标准输入输出流System.in 标准输入流获取源为:键盘System.out 标准输出流目的地:控制台-- 可通过 setIn(InputStream in) 重新分配“标准”输入流。 static void setOut(PrintStream out) 重新分配“标准”输出流。 设置新的源及目的地publ原创 2016-07-26 10:13:19 · 278 阅读 · 0 评论 -
17缓冲流原理
bufferedInputStream read()每次读应该是读取byte的但是返回值是int。这样做是为了防止一次读一个字节全是1的情况。即开始读就是-1又因为byte一个字节,1111111那么int将存11111111 11111111 11111111 11111111还是-1若将前三个字节补0标识00000000 00000000 00000000 11111111 表原创 2016-07-26 10:14:46 · 342 阅读 · 0 评论 -
18字节转换字符。包装流(转换流)
使用转换流将字节流转换为字符流。使用字符流的简单操作处理数据。InputStreamReaderOutputStreamWriterpublic static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(Syst原创 2016-07-26 10:16:29 · 352 阅读 · 0 评论 -
19流总结
1首先明确源与目的。源:读取的内容。涉及输入流,分为字节输入和字符输入。inputStream,Reader目的:输出到的目的地。涉及输出流,分为字节输出和字符输出。OutputSteam,Writer2区别操作数据是否是文本。是:字符流否:字节流3明确体系:确定要使用那个具体的对象。3.1通过设备区别:源设备:内存,硬盘,键盘目的设别:内存,硬盘,控制台。原创 2016-07-26 10:47:40 · 222 阅读 · 0 评论 -
21File练习
File练习,创建,删除,打印,重命名,获取file属性等原创 2016-07-27 07:32:58 · 184 阅读 · 0 评论 -
字符串
1String类 描述字符串事物。String特殊的对象;final修饰,一丹初始化就不可被改变,不能有子类。String str = "abc";String str1 = new String("abc");注: ""双引号引起来的就是一个实例(对象)String s = new String(); == String s = "";String s1 = "a原创 2016-07-17 17:31:36 · 240 阅读 · 0 评论 -
异常
异常:异常就是程序在运行时出现的不正常情况异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述,并封装成对象。其实就是java对不正常情况进行描述的对象体现。对于问题的划分,1严重的2非严重的。对于严重的:Error描述。对于Error一般不编写针对性的代码处理。对于非严重的:Exception类进行描述。对于Exception可以使用针对性原创 2016-07-01 22:32:59 · 291 阅读 · 0 评论 -
包装类
基本数据类型包装类:byte Byteshort Shortint Integerlong Longboolean Booleanfloat Floatdouble Double 注:对象做比较应该是做减法char Charcter可以判断是否是某以数据类型的最大值然后处理Integer.MAX_VALUE;常见操作:基本数据类型和字符串原创 2016-07-17 17:38:51 · 165 阅读 · 0 评论 -
21编码问题
字符编码问题:字符流的出现为了方便操作字符。更重要的是加入了编码转换。通过转换流inputstreamReader,outputStream两个对象构造的时候加入字符集。InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader。 InputStreamReader(InputStream原创 2016-07-28 06:59:56 · 824 阅读 · 0 评论 -
22编码问题
字符编码问题:字符流的出现为了方便操作字符。更重要的是加入了编码转换。通过转换流inputstreamReader,outputStream两个对象构造的时候加入字符集。InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader。 InputStreamReader(InputStream原创 2016-07-28 07:01:35 · 339 阅读 · 0 评论 -
集合
集合类:和数组区别:集合长度不变,但只能存储对象,可以存储不同类型的对象多容器原因:存储方式不同。即数据结构不同注:集合和数组一样add的是地址而不是对象迭代器:用于取出元素的方式。屏蔽了取出各个容器不同的取出方式;当不足以以一个方法解析时,使用了Interator描述,定义在了Collection内部。内部类实现。见底层代码。Iterator it = list.it原创 2016-07-21 01:28:30 · 177 阅读 · 0 评论 -
泛型
泛型替代Object,就像数组一样在编译时确定好所接收的数据类型1.作用于类上格式:public class Test {public void print(T x) {syso(x)}main() {new Test().print("str");new Test().print(123);}}若类接收的类型确定后,则类中的所有方法均对此类型操原创 2016-07-21 01:29:34 · 161 阅读 · 0 评论 -
14InputStream
package test.io;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;/** * [说明/描述] * * @author CaiHaiming * @date 2016-7-24 下午5:08:13 * @原创 2016-07-24 23:16:52 · 186 阅读 · 0 评论 -
13OutputStream
对字节的操作,任意格式文件。字节流:其实字符流底层还是对字节的操作InputStram 读数据OutputStram 写数据package test.io;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;原创 2016-07-24 23:15:55 · 201 阅读 · 0 评论 -
12LineNumberReader
java.lang.Object 继承者 java.io.Reader 继承者 java.io.BufferedReader 继承者 java.io.LineNumberReader继承BufferedReader;增加setLineNumber(int lineNumber)设置当前行号;getLineNumber()获得当前行号。原创 2016-07-24 23:15:27 · 148 阅读 · 0 评论 -
java基础1
jdk jre jvm 之间的关系: jdk 包含 jre jre 包含 jvm补充:jdk 包含很多组件:jar jdva javadoc;开发java程序使用例如编译java文件生成帮助文档等 jre jar 跑起来需要的环境,提供java程序运行时的环境;例如多态 jvm java虚拟机操作系统上层环境,是一种规范实现,jvm 就相原创 2016-06-01 22:55:51 · 1399 阅读 · 0 评论 -
面向对象1
面向对象: 简单的理解是一种思想。强调的对象相对于过程而言。 1类和对象的关系: 类就是:对现实生活中事物的描述 对象:就是这类事物实实在在的个体相当于一个实例 映射到java中类就是一个类就是一个class,是一个描述 对象就是具体new出来的在堆内存中存放的实体。 2成员变量和局部变量以及作用范围与位置 描述事物:其实是在描述事物的属性和行为原创 2016-06-26 09:59:05 · 227 阅读 · 0 评论 -
java基础2
for 与 while1.注意变量作用域for 只在for中,而while判断的变量其所在的大括号内;总之作用域在最近的括号内for (;;) {}for的无限循环,默认条件为true函数定义:函数是定义在类中的具有特定功能的一段独立小程序也称方法函数的格式:修饰符 返回值类型 函数名(参数类型 形式参数....){执行语句原创 2016-06-10 15:38:19 · 180 阅读 · 0 评论 -
面向对象2
13.方法调用过程注意将内存分区,栈,堆,方法区栈存储基础变量类型,及对象引用。堆存放new出来的对象包含对象成员方法区中存放静态成员(静态变量,静态方法,及方法)注:1 static void a() {b();// 省略的是类名 ClassName.b()}static void b() {}void c() {d();//省略的是thi原创 2016-06-28 23:17:10 · 234 阅读 · 0 评论 -
2Writer-FileWriter
字节流的两个基类字符流的两个基类Reader Writer writer (char string int)数据最常见的体现形式:文件.先已操作文件为主演示;需求:创建文件并写入数据;1找到一个用于操作文件的Writer子类对象(Writer is abstract),FileWriterpublic abstract class Writerexten原创 2016-07-24 23:02:37 · 212 阅读 · 0 评论 -
3IO异常处理方式
IO异常处理public static void main(String[] args) {FileWriter f = null;try {f = new FileWriter("demo2.txt");} catch (IOException e) {e.printStackTrace();}try {f.write("as");} catch (IOE原创 2016-07-24 23:03:12 · 320 阅读 · 0 评论 -
4文件续写
文件续写。new FileWriter("demo3.txt", true);// 目的地其实是调用构造方法,传递append为true的参数,那么文件存在则不覆盖已有文件,且已有文件的末尾处往后续写。无文件则创建文件写入内容。winodws中\r是回车,但是记事本打开不识别,需要两个字符的\r\n 即 回车新行但是第三方编辑器比较牛,\r或者\n或者\r\n都识别为换行。原创 2016-07-24 23:03:45 · 333 阅读 · 0 评论 -
5Reader--FileReader
Reader read(char[], int, int) 和 close()。new 出来子类 FileReaderpublic class FileReaderDemo1 {public static void main(String[] args) {FileReader fr = null;try {fr = new FileReader("demo.txt");原创 2016-07-24 23:04:27 · 165 阅读 · 0 评论 -
6Reader--FileReader2
通过一次读取到一个数组的方式。读取数据eg.asdfghjchar[] cubf = new char[3]int num = fileReader.read(cubf);// 将a赋值到cubf[0],将s赋值到cubf[1],将d赋值到cubf[2];返回读取到的个数,此时num=3;再次 read;num = fileReader.read(cubf);//此时数组已原创 2016-07-24 23:05:03 · 288 阅读 · 0 评论 -
7字符流的文件复制
文件copyIO流实现:其实就是将源数据读取后,写入到目的地文件。eg. 从C盘a.txt复制到D盘a.txt步骤:在D盘创建一个文件,用于存储C盘文件中的数据。定义读取流和C盘文件(源文件)相关联通过读写,完成数据存储注:关闭资源。package test.io;import java.io.FileNotFoundException;import j原创 2016-07-24 23:05:51 · 187 阅读 · 0 评论 -
8字符缓冲流BufferedWriter
提高读写效率。对应类:BufferedWriterBufferedReader缓冲区要就和流才可以使用其实就是包装流,在基础流上的增强其实读写操作还是底层的流。然后因为是包装在基础流外边的。即将基础流的引用传入进去,那么其实close操作,包装流关闭即可。public class BufferedWriteremo1 {public static void ma原创 2016-07-24 23:06:42 · 174 阅读 · 0 评论 -
9字符缓冲流BufferedReader
BufferedReader带缓冲区的包装流package test.io;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;/** * [说明/描述] * * @原创 2016-07-24 23:07:23 · 186 阅读 · 0 评论 -
10缓冲流的文件复制
package test.io;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;/** * [说明/描述] * * @autho原创 2016-07-24 23:14:14 · 149 阅读 · 0 评论 -
11对缓冲流分析出来的设计模式--装饰设计模式
缓冲流其实还是调用基本流的输入/输出,是未修改原来文件的基础上拓展出来的功能。装饰设计模式:试用场景:当想要对已有的对象进行功能拓展时。流程:可以定义类,将已有对象传入,基于已有的功能,并提供增强的功能。那么自定义的类成为包装类(装饰类)。code:class Person {void study {syso("book");}}class Pe原创 2016-07-24 23:14:53 · 245 阅读 · 0 评论 -
线程的六种状态
Thread.StateJDK1.6 APINEW至今尚未启动的线程处于这种状态。 RUNNABLE正在 Java 虚拟机中执行的线程处于这种状态。 BLOCKED受阻塞并等待某个监视器锁的线程处于这种状态。 WAITING无限期地等待另一个线程来执行某一特定操作的线程处于这种状态。 TIMED_WAITING等待另一个线程来执行取决于指定等待时间的操作的线程处于...原创 2019-01-14 10:28:34 · 375 阅读 · 0 评论