=============================================
System类的使用
System类提供了一些静态方法来控制系统状态,并作为一个系统资源的仓库。System类提供了四个通用领域的功能性:
(1)标准I/O流;
(2)控制系统属性;
(3)访问当前运行时系统的实用工具和便利方法;
(4)安全性。
标准I/O流
标准输入流、标准输出流和错误流能够作为System类的静态域而可用。
标准输入流的一个示例:
Sysmtem.in的一个示例,从键盘读入字符并输出,遇到exit则退出:
public class Test {
public static void main(String[] args) throws Exception {
String str = “”;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while((str = br.readLine()) != null){
if(str.equals(“exit”)){
break;
}
System.out.println(str);
}
}
}
控制系统属性
获取系统属性的一个示例:
public class Test {
public static void main(String[] args) {
System.out.println(System.getProperty(“os.name”));
}
}
输出如下:
Windows XP
实用工具
系统类中包含大量的实用方法,以下是两个示例:
public static long currentTimeMillis()
以毫秒的形式返回当前时间,从格林威治时间1970年1月1日0时0分0秒开始计时。
public static void arraycopy(Object src, int srcPos, Ojbect dst, int dstPos, int count)
复制源数组的内容,源数组从src[srcPos]开始,目标数组则以dst[dstPos]开始。恰好有Count数目的元素被复制。
=============================================
以下是一个运行CMD命令的示例:
public class Test {
public static void main(String[] args) throws Exception {
Runtime.getRuntime().exec(“calc”);
}
}
=============================================
=====================================
java集合框架概述
集合(collection)有时也称为容器(container),是一个对象的持有者,使你能够通过有用的方法对对象进行存储和组织,以便进行更有效的访问。同大多数的编程环境一样,java平台也提供了一套集合框架,主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。以下是简化后的集合框架:
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
简单说明:
Collection:集合的根接口。提供诸如add、remove、size、toArray和(重要的)iterator等方法。
List: 接口,继承自 Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。
Set:接口,继承自 Collection,不允许元素的重复,元素的存储没有任何特定的顺序,其使用自己内部的一个排列机制。
Map:接口,是一组成对的键-值对象,即所持有的是key-value pairs。Map中不能有重复的key。拥有自己的内部排列机制。
=====================================
Java IO概述
IO是input、ouput的缩写,指应用程序与外部设备间的输入与输出。与应用程序交互最频繁的外部设备就是磁盘,java中有专门的io包管理磁盘的操作。包java.io通过如下类完成对磁盘操作的管理:File、FileDescriptor 、FileInputStream、FileOutputStream、RamdomAccessFile以及接口 FilenameFilter。 More …
=============================================
package的基本概念
包(package)定义了软件单元,它能够独立发布,并能够与其他包组成应用程序。包的成员是一些关联的类、接口以及子包,也可以包含包中的类所使用的附加资源文件(如图像文件)。
包的主要作用为:
(1)包将相互管理的接口和类组合成组;
(2)包创建了命名空间来避免类型之间的命名冲突;
(3)包机制为开发应用程序提供了保护域。
package和import是一对相辅相成的java关键字,这两个关键字允许我们做的事情就是分割单个全局命名空间。
============================================= More …
引言
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收器来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存的有限性,JVM在实现的时候都有一个由垃圾回收所管理的堆。垃圾回收是一种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃圾收集算法来实现资源自动回收的功能。 More …
线程的基本概念
当程序启动时,就自动产生了一个线程。主函数main就是在这个线程上运行的。当不产生新的线程时,程序就是单线程的。
创建多线程有两种方法:继承Thread类或者继承自Runnable接口。 More …
=====================================
String概述
字符串(String)是java语言内置支持的标准对象,同时String也应该是我们最常用的java对象之一了。
java的字符串对象具有如下特点:
(1) String 是 final 类,即不能被继承(public final class String)。
(2)String对象是只读的,不可改变,这一点需要格外注意(private final char value[])。
(3)Java运行时会维护一个String Pool(String池),用来存放运行时中产生的各种字符串,并且池中的字符串的内容不重复。而一般对象不存在这个缓冲池。(后面会有详细叙述。)
=====================================
More …
java异常概述
在运行过程中,应用程序可能遇到各种严重程度不同的错误,比如访问不存在的文件、数组访问越界等。如果程序对可能发生的错误一点不做检查,那么程序将变得容易崩溃而且很难定位到问题出现的位置;而如果在执行下一语句之前,对每个方法调用都检查所有可能的错误,那么,程序就会变得难以理解。
java的异常处理机制很和谐的解决了这一矛盾命题。 More …
=======================================
取模运算(%)结果的符号同被模数的符号,与模数的符号无关:
public class Test {
public static void main(String[] args) throws Exception {
System.out.println(5 % 2);
System.out.println(5 % -2);
System.out.println(-5 % 2);
System.out.println(-5 % -2);
}
}
输出为:
1
1
-1
-1
More …