eg: int[] a; double d[]; String[] args; Person p[];
Java语言中声明数组类型的变量时不允许指定数组的长度(数组中元素的个数)
如:int a[3] //非法
创建并使用数组:
4.2 多维数组
多维数组可以理解为由若干个低维数组所组成的数组。
•Java中多维数组的声明和初始化应按从高维到低维的顺序进行。
•Java中多维数组不必须是规则矩阵形式。
1 2 3 4 5 6
eg: int a[][]= {{1,2},{3,4,0,9},{5,6,7}}; int[][] a = new int[3][4]; int[][] t = new int[3][]; t[0] = new int[4]; t[1] = new int[2]; int[][] b = new int[][4];
4.2.1多维数组初始化
静态初始化
1 2
int a[][] = {{1,2},{2,3},{3,4,5}}; int b[3][2] = {{1,2},{2,3},{4,5}}; //非法
动态初始化
1 2 3 4 5 6 7 8
int a = new int[3][]; a[0] = new int[2]; a[1] = new int[4]; a[2] = new int[3]; a[0][0] = 45; a[0][1] = 87; …… a[2][2] = 99;
import java.util.*; public class ArrayDemo { public static void main(String args[]) {String[] s1={"zhangsan","lisi","wangwu","liliu","yaoqi"}; String[] s2={"zhangsan","lisi","wangwu","liliu","yaoqi"}; System.out.println(Arrays.equals(s1,s2)); Arrays.sort(s1); for(int i=0;i<s1.length;i++) {System.out.println(s1[i]); } } } True Liliu Lisi Wangwu Yaoqi zhangsan
4.3 字符数组
4.3.1字符串的声明与创建
声明字符串的格式是:String stringName;
字符串的创建格式: stringName = new String(字符串常量);
或者 stringName =字符串常量;
举例:str= new String ( “student” );
str= “student” // 内存位置在专用的字符串区内
用一个已创建的字符串创建另外一个字符串:
s=“abc123”;
String t=String(s);
用字符数组创建:
char a[]={“W”,”H”,”U”,”T”};
String b=new String(a);
4.3.2与字符串有关的方法
确定字符串的长度 :
public int length()
取得字符:
public char charAt(int index)
取得子串:
public String substring(int beginIndex)
public String substring(int beginIndex,int endIndex)
字符串内容的比较
public int compareTo(String stringName2)
public int compareToIgnoreCase(String stringName2)
1 2 3 4 5 6 7 8 9 10 11 12 13
public static void main(String args[]){ String s = new String("武汉理工大学计算机学院"); System.out.println(s + " 的长度:" + s.length()); System.out.println(s + " 第三个字:" + s.charAt(2) ); System.out.println(s + " 的子串: " + s.substring(6)); String s1 = new String("ABCDE"); String s2 = new String("ABCED"); System.out.println("\"ABCDE\"和\"ABCED\"比较结果:"+s1.compareTo(s2)); } 武汉理工大学计算机学院 的长度:11 武汉理工大学计算机学院 第三个字:理 武汉理工大学计算机学院 的子串: 计算机学院 "ABCDE"和"ABCED"比较结果:-1
字符串连接:
public String concat(String stringName2)
字符串检索:
public int indexOf(int ch) public int indexOf(int ch,int fromIndex) public int indexOf(String stringName2) public int indexOf(String stringName2,int fromIndex)
字符数组转换为字符串:
public static String copyValueOf(char []ch1) public static String copyValueOf(char []ch1,int cBegin,int cCount)
public static String valueOf(boolean b) public static String valueOf(char c) public static String valueOf(int i) public static String valueOf(long L) public static String valueOf(float f) public static String valueOf(double d)
字符串大小写转换
public String toUpperCase() public String toLowerCase()
字符串内容的替换:
public String replace(char oldChar,char newChar)
删除字符串的前导空白和尾部空白:
public String trim()
1 2 3 4 5 6 7 8 9 10 11 12 13
public static void main(String args[]){ String s = new String("武汉理工大学计算机学院"); String s1 = ""; String s2 = "ABCDEFG"; char a[] = s.toCharArray() ; int i =1000; System.out.println("字符串转换为字符数组并输出第一位: "+a[0]); System.out.println(s1.valueOf(i)); System.out.println(s2.toLowerCase()); } 字符串转换为字符数组并输出第一位: 武 1000 abcdefg
4.3.3字符串缓冲区
StringBuffer的构造
public StringBuffer()
构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。
public StringBuffer(int capacity)
构造一个不带字符,但具有指定初始容量的字符串缓冲区。
public StringBuffer(String str) 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。该字符串的初始容量为 16 加上字符串参数的长度。