Dictionary类:是抽象类,不能实例化去创建一个对象,是关键字和值的数据存储的集合。
Dictionary类扩展出Hashtable类,Hashtable类又扩展出Properties类。
1.5 一维数组
一维数组定义:type arrayName[]或type[] arrayName
定义数组时并不分配内存,如要访问数组中元素必须对数组进行内存分配。数组内存分配是通过new操作符或静态初始化来实现。
定义并创建一个数组对象:type[] arrayName=new type[arraySize] 如:int[] a=new int[5] ===== int a[]=new int[5] 数组的长度:arrayName.length 数组下标:从0开始的整数。 数据边界:0到arrayName.length-1 数组初始化: 1、静态初始化
使用于数组元素的个数较少,而且是初始元素可以枚举的情况。 int a[]={2,3,4,5,6}; 2、动态初始化
用new动态初始化时,数组元素的默认值参见下表:
数组的复制:
数组的复制可以用java.lang.System.arraycopy()拷贝,格式:
System.arraycopy(源数组名,从源数组下标的第几位开始,目标数组名,从目标数组下标的第几位开始,复制几位)
调整数组的大小:
Java语言中用一种特殊的类:java.util.ArrayList(数组列表),在运行时能动态自动调整数组大小。ArrayList类在定义数组时,不必限定数组的大小。在数组列表初始化时,可用add()方法将数组元素赋值。
1.6 字符串的操作
在Java中,字符串是作为对象出现的,有java.lang.String和java.lang.StringBuffer
定义,这两类都被定义为final,即参数数据类型。 java.lang.String:处理长度不变的的字符串; java.lang.StringBuffer:处理长度可变的字符串
1.6.1 字符串常量的表示
字符串常量用“”括起来的字符序列。字符串常量可以用来直接初始化一个String对象。字符串长度,即该字符串的个数。如:
String s=“Are you student?”;
int.length=“Are you student?”.length();
1.6.2 用String类表示字符串
在Java中String类提供构造方法可生成一个空串,如:String e=new String(); 通过字符数组或字节数组来生成一个字符对象,如: String (char[] value)? char chars1[]={?l?,?e?,?s?,?t? };
String (char[] chars ,int startIndex,int numchars)==》char chars2[]={?l?,?e?,?s?,?t? ,?l?}; String s1=new String (chars1);
String s2=new String (chars2,0,4);取数组chars2的字符,从下标0开始取4位 s1与s2均为“lest” 字节也相同: String (bye[] byes)
String (bye[]byes,int startIndex,int numchars)
1.6.3 用StringBuffer表示字符串
可用以下构造方法对可变字符长度初始化:
StringBuffer(); 这是默认的构造方法,为字符串分配16个字符的缓存。 StringBuffer(int length); 该构造方法提供length缓存;
StringBuffer(String str);用str给出字符串初值,并分配16个字符的缓存
凡生成StringBuffer一个对象后,还可用setLength()方法或ensureCapacity()方法来设定缓存大小,并保证其数组元素的初值都为0.
1.6.4 字符串的访问
String类包括的方法有:length()、charAt()、indexOf()、lastIndexOf()、getChars()、getBytes()、toCharArray()等。
提取字符串长度 String greeting=”Hello”;
int n= greeting.length();//返回字符串的字符个数n=5 提取字符串中指定字符
char last= greeting.charAt(4);//从字符串0数到4的字符是“t”,将“t”赋给last。 提取字符串中多个字符
Public void getCharsw(int srcbegin,int end, char buf[],int dstbegin ),其中: srcbegin:指定要提取的第一个字符在该字符串的位置; end:指定要提取的最后字符在该字符串的位置; buf:目的字符串存储的数组;
dstbegin:指定提取字符插入目的字符串的位置 查询字符
在字符串中查询指定字符时,可用indexOf(); 在字符串中查询指定子串时,可用lastIndexOf(); 查询成功,返回所查字符的位置,不成功,返回-1。
1.6.5 字符串的修改
对String的修改
因它是固定长度字符串,修改必须通过实例。String提供concat()、replace()、substring()、toLowerCase()、toUpperCase()等方法:
concat(String str):将当前字符串对象与指定str字符串相连; replace(char oldchar, char newchar): 用新字符替换老字符; substring(int beginIndex):按指定的起始位置获取子字符; toLowerCase():将字符串中所有字符变为小写; toUpperCase():将字符串中所有字符变为大写。 对StringBuffer的修改
因StringBuffer类表示可变长度字符串,它可以在字符串中插入字符和在字符串尾加字符,缓存不必管理,Java解释器自动分配。
方法包括:append()、insert()、SetCharAt().
1.6.6 字符串的比较
测试字符串是否相等,用equals()方法。 s. equals(t):比较字符串s和t是否相等。 两串相等则返回ture、否则返回false
1.6.7 其他操作
键盘读取字符串的对话框
Javax.swing.JOptionPane用于从控制台键盘读入字符串,如:
String input=JOptionPane.showInputDialog(“How old are you ?”);//该对话框带有提示信息。
将字符串对象转换为基本数据类型
int age=Integer.parseInt(input);//将字符串input转换为整数类型
1.7 异常处理
Java语言的类库中提供一个Throwable类,所有的异常对象都必须是它的实例或它子类的实例。
Throwable类是直接从Object类继承来的,是所有异常类的根(父类)。其定义如下: public class Throwable exception Object implement Serializable
它有public Throwable()和public Throwable(String message) 两个构造方法,其中的字符串参数可以利用getMessage()方法获取参数内容。包括方法有:getMessage()、toString()、printStackTrace()、fillStackTrace()。
getMessage():用来返回带参数构造方法是的参数内容,对无参数返回是空值。 toString():用来返回异常的类名和getMessage()能得到的内容,两者用冒号分隔。 printStackTrace():用来在标准输出设备上输出堆栈使用的跟踪。 fillStackTrace():用来在重新抛出异常时对堆栈的跟踪。
Throwable类分为Error和Exception 两个子类。Error类包括动态链接失败、硬件设备和虚拟机出错,通常Java应用程序不会捕获和抛出这类异常,而是捕获和抛出Exception。
异常类型:
按异常处理不同可分为运行异常、捕获异常、声明异常和抛出异常几种。
运行异常:编程时不用定义,运行时由系统捕获后交默认异常处理程序,在标准输出上显示异常内容和位置:这些异常jvm都能自动发现并指出。
A、 算术异常:ArithmeticException,分母为0或用0取模都会出现。

