数组:
java的数组一般经过声明、创建、初始化之后才能使用。
一维数组的声明格式:类型【】 变量名或类型 变量名【】;
java的数组与c/c++的不同点:
Java的数组声明并没有为数组元素分配内存,因此,声明数组时不能指定其长度(即数组元素的个数),例如:int a[5];//数组声明错误
仅进行过声明的数组,它的元素是不能被访问的,只有经过初始化后,才能访问数组的元素。
数组创建时为数组元素分配内存空间,创建格式为 int a[];a = new int[200];或int a[] = new int[200];
数组初始化有两种方式:
静态初始化:在定义数组时就为数组元素分配空间并赋值。例,int a[] = {1,2,3};
动态初始化:使用new运算符对数组元素进行赋值。例,int a[] = new int[3],a[0]=1;……
多维数组
二维数组的声明格式:类型【】【】 变量名 或 类型 变量名【】【】(多维数组以此类推)
创建:类似一维数组
初始化:例 int a[][] = {{1,2},{2,3}};
Java中的数组并不要求是规则矩阵形式.
接受下面的数组形式:Strings[ ][ ]=new String[2][ ];
s[0]=new String[2];
s[1]=new String[3];
另:java命令行参数
public static void main(String args[]){
……
}
args是一个命令行参数数组
传参方式:java Test 参数1 参数2 ...(命令行)
常用类:
object类:根类,所有类的超类,所有对象(包括数组)都实现这个类的方法。
String类:是一个final类,代表字符串,String类对象是字符串常量,一旦初始化或赋值则无法更改,要修改它的值就会产生一个新的字符串。
JVM中String的机制,当new一个String时,会检查String pool(字符串池)中有没有和这个字符串内容一样的字符串,没有的话,将此字符串加入String pool,再在堆中新建一个对象string(),然后String引用指向这个对象。String()接受字符串和字符数组char【】和字节数组byte【】。
(在此处==用于比较字符串对象是否引用同一个实例对象)
StringBuffer类处理的是可变长度和内容的字符串。适合处理大型文本。默认构造方法StringBuffer()会创建一个长度为16的缓冲区。(注:capacity()获取缓冲字符串的长度,其值为length+16)
StringTokenizer类用于分析字符串,将字符串分解成可独立使用的单词,默认方法StringTokenizer(String str) 为字符串str构造一个分析器,使用默认的分隔符,如:空格符(多个空格算一个)、回车符、换行符、制表符。(类字符串分割)
包装类:将基本数据类型包装成类,int类型对应integer类等
Math类:常用数学计算,大部分方法均为类方法。调用方式Math.xxx()
Date类:日期类,设计上有缺陷,除Date([long Date]),after(Date),before(Date),getTime(),setTime()等常用方法外,其他方法不建议使用,建议使用子类例如Calendar(日历)的方法。
GregorianCalendar 类是Calendar(日历)类的子类,使用方法:
GregorianCalendar gc = new GregorianCalendar();int x=gc.get(Calender.YEAR); //获取年份。(get()参数放静态时间常量)