Java基础

一、语言包

Java语言包用java.lang表示,其中封装了很多Java类库中最低级的类,是整个Java语言的核心。Java系统自动将该包引入到用户程序中。语言包中主要的类有:Object类,数据类型封装类,数学类,字符串类,异常处理类,系统运行时类等。

数字类:Integer、Long、Float、Double类

字符类:Character

布尔类:Boolean

算术运算:Math

使用系统资源类:System(管理系统属性)、Runtime

System.getProperties()获得当前的系统属性列表

异常类:Throwable

              Exception、Error、VirtualMachineError、LinkageError、RuntimeException、IllegalStateException、ArithmeticException、NullPointerException、IndexOutOfBoundsException

当我们在一个文件上建立文件输入流时,如果这个文件不存在,异常就会生成。如果把0作为除数,就会发生除0益处的异常事件。一个异常事件对应一个异常对象,这些异常对象都对应于类java.lang.Throwable及其子类。Java利用不同的类来表示不同类型的异常。所有的异常都是在程序运行的时侯产生的。Java的异常处理机制分为两部分:抛弃异常(throw)和捕获异常(catch)。

线程类:Thread

每个线程都是通过特定对象的run()方法来完成操作的。方法run()成为线程体。

Java基础

构造线程体有两种方式:

◆ 定义一个线程类,它继承Thread类,并重写其中的run()方法。直接生成这个类的对象就可以构造一个线程。

class SimpleThread extends Thread

        public void run(){                }

         public static void main(String args[])
                  {
            //生成两个线程并启动
            new SimpleThread("First").start();
            new SimpleThread("Second").start();       
                  }

◆ 提供一个实现接口 Runnable的类作为线程的目标对象。在构造线程对象时,通过方法 Thread(Runnable target,String name)把目标对象传给这个线程实例。

class SimpleRunner implements Runnable

            public void run(){                }

             public static void main(String args[])
                     {
            new Thread(new SimpleRunner(), "First").start();
            new Thread(new SimpleRunner(), "Second").start();      
                   }

可以使用Java.lang.Thread中定义的静态方法currentThread().获取运行中线程的句柄,返回一个线程对象,再使用getName(),获取线程的名字。Thread.currentThread().getName()

抢先式系统下,有高优先级的线程参与调度;时间片方式下,当前时间片用完,有同优先级的线程参与调度。
 在多线程的同步中使用了wait()和notify()方法来同步线程的执行,对这些方法的说明如下:
1、Wait,notify ,notifyAll必须在已经持有锁的情况下执行,所以它们只能出现在synchronized作用的范围内。
2、wait的作用:释放已持有的锁,当前线程进入wait队列。
3、notify 的作用:唤醒wait队列中的第一个线程并把它移入锁申请队列。
4、notifyAll的作用:唤醒wait队列中的所有的线程并把它们移入锁申请队列。
 

二、实用程序包

Java实用程序包用java.util表示,它提供了很多具有实用价值的类,如:日期类,数据结构类,对象枚举,随机数类等。

接口:Enumeration(枚举)

类Vector

类Hashtable(散列表、哈希表)(继承抽象类Dictionary)

类Stack(类Vector的子类)

日期类:Date

程序属性类:Properties

三、输入/输出包

Java的输入输出包用java.io表示,它提供的类用于在不同的输入/输出设备上读写数据。I/O包中包括输入数据流类,输出数据流类,文件操作类等。

IO异常:IOException、FileNotFoundException、EOFException

对文件的操作:类File,FileDescriptor,FileInputStream,FileOutputStream,RamdomAccessFile(随机访问,直接继承Object)以及接口FilenameFilter。

File f=new File(“readFile”);

RandomAccessFile rafR=new RandomAccessFile(f,”r”);

指明打开文件读取”readFile”。

RandomAccessFile rafRW=new RandomAccessFile(“ReadWriteFile”,“rw”);

指明打开文件,读/写ReadWriteFile。

I/O流包括字节流和字符流

Java基础
Java基础

 FileInputStream/FileOutputStream用于读/写本地系统中的文件。(顺序访问)

        在生成FileInputStream对象时,如果指定的文件不存在,会生成例外FileNotFoundExce ption,它是非运行时例外,必须捕获或者声明抛弃。

在进行文件的读/写操作时,会产生IOException例外,属于非运行时例外,必须捕获或声明抛弃。

 fin = new FileInputStream("aa.txt");
    fout = new FileOutputStream("bb.txt");

(1)BufferedInputStream/BufferedOutputStream在读写数据的同时对数据进行缓存,从而减少对数据的访问,提高效率。

FileInputStream fin=new FileInputStream("aa.txt");
  BufferedInputStream bin=new BufferedInputStream(fin);
  FileOutputStream fout=new FileOutputStream("bb.txt");
  BufferedOutputStream bout=new BufferedOutputStream(fout);

  fin.read();
  fout.flush();

(2)DataInputStream/DataOutputStream可以用与机器无关的方式读写Java的基本数据类型,java语言的内构类型:boolean,int,float等

  dout.writeBoolean(v);
  dout.writeInt(v);
  din.readBoolean();
  din.readInt();

(3)PushbackInputStream提供了一个方法可以把刚才读过的字节退回到输入流中。

(4)PrintStream打印流

ObjectInputStream/ObjectOutputStream用来直接进行对象的读写。

       ObjectInputStream中使用readObject()方法可以直接读取一个对象,ObjectOutput Stream中用writeObject()方法可以直接将对象保存到流中。对象要先进行串行化,必须实现Serializable接口

FileOutputStream fout=new FileOutputStream("data1.ser");
 ObjectOutputStream oout=new ObjectOutputStream(fout);//输出对象
oout.writeObject(stu);
oout.close();
stu=null;
FileInputStream fin=new FileInputStream("data1.ser");
ObjectInputStream oin=new ObjectInputStream(fin);//读入对象
stu=(Student)oin.readObject();
oin.close();

PipedInputStream/PipedOuputStream用来实现管道的输入/出。在使用管道前,管道输入流和管道输出流必须进行连接。

 PipedInputStream (PipedOutputStream src)

 PipedOutputStream (PipedInputStream snk)

ByteArrayInputStream/ ByteArrayOuputStream用来读写内存数据。

SequenceInputStream用来把多个输入流连接到一个输入流。

StringBufferInputStream使程序可以从一个StringBuffer类的可变字符串中读取数据。

FilterInputStream和FilterOutputStream为过滤流提供统一的接口,使得在读写数据的同时可以对数据进行处理。在后面,还要专门讲解过滤流。

Java基础
Java基础

 InputStreamReader、OutputStreamWriter

FileInputStream fin=new FileInputStream("aa.txt");
  InputStreamReader din=new InputStreamReader(fin);
  FileOutputStream fout=new FileOutputStream("bb.txt");
  OutputStreamWriter dout=new OutputStreamWriter(fout);

BufferedReader和BufferedWriter带有缓冲功能的字符流

FileInputStream is=new FileInputStream(filename);//按照缺省的编码规范把一个字节流转换成字符流
InputStreamReader ir=new InputStreamReader(is);         //构造缓冲字符流
BufferedReader br=new BufferedReader(ir);//一次读入一行
while((s=br.readLine())!=null)          
 {System.out.println("Read:"+s); }

有问题到有问必答网(shenzhidao.com)提问!

本文出自 “网络人生博客” 博客,谢绝转载!

你可能感兴趣的:(字符串,error,object,包,管理系统)