我们可以通过数组来存储任意的int类型数据,比如说大家的身高;也可以存储任意的字符串String类型数据,比如说大家的名字。数组是一个非常重要的数据结构,后面要学习的集合类底层也是在操作数组,所以在这了解数组的机制还是非常有必要的。
数组的创建和普通变量的创建基本上差不多,唯一有差别的是数组类型后面多了一个[](中括号)。比如,int[]表示"整型数组"类型,string[]表示”字符串数组”类型。
int[] numbers = new int[6]; 这个语句的作用就是创建一个新的数组空间,空间大小为6。为什么是6?因为上面要存储的数据是6个数字
String[] tables = new String[3];
对数组赋值:
1,int[] arr = {1,2,3};
2,int[] arr2 = new int[]{1,2,3};
3,
numbers[0] = 1; table[0]="张三";
numbers[1] = 3; table[1]="李四";
numbers[2] = 5; table[2]="王二";
numbers[3] = 7;
numbers[4] = 9;
numbers[5] = 11;
输出数组的for循环方法:
1,for(int i = 0; i < tables.length; i++){
String name = tables[i];
System.out.println(i+":"+name);
}
2,for (String name : tables) {
System.out.println(name);
}
等价于:
for(int i = 0; i < tables.length; i++){
String name = tables[i];
}
java 数组->字符串
1.char数组(字符数组)->字符串
可以通过:使用String.copyValueOf(charArray)函数实现。
举例:
char[] arr={'a','b','c'};
String string =String.copyValueOf(arr);
System.out.println(string); //abc
2、String数组->字符串
String[] arr ={"0123","sb","12f"};
StringBuffer sb = new StringBuffer();
for(int i = 0;i<arr.length;i++){
sb.append(arr[i]); //append String并不拥有该方法,所以借助StringBuffer
}
String sb1 = sb.toString();
System.out.println(sb1); //0123sb12f
3.java字符串->数组
String str = "123abc";
char[] ar = str.toCharArray(); //char数组
for(int i =0;i<ar.length;i++){
System.out.println(ar[i]); //1 2 3 a b c
}
String[] arr = str.split("");
for(int i =0;i<arr.length;i++){ //String数组,不过arr[0]为空
System.out.println(arr[i]); //空 1 2 3 a b c
}
4.相关转化
##字符串逆序
String s="123abc";
System.out.println(new StringBuilder(s).reverse().toString());
字符串去空格
1. String.trim() trim()是去掉首尾空格
2.str.replace(" ", ""); 去掉所有空格,包括首尾、中间
复制代码 代码如下:String str = " hell o ";
String str2 = str.replaceAll(" ", "");
System.out.println(str2);
3.或者replaceAll(" +",""); 去掉所有空格
4.str = .replaceAll("\\s*", ""); replaceAll( "\n" ,"")为清除换行等
替换大部分空白字符, 不限于空格 * 可去掉
\s 可以匹配空格、制表符、换页符等空白字符的其中任意一个
常用字符:空格(‘ ’) 、换页 (‘\f’) 、换 行(‘\n’)、回车(‘\r’)、水平 制表符 (‘\t’)、垂直 制表符 (‘\v’)
整形与字符串相互转化
String - 》Int 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue(); Int - 》 String 1.) String s = String.valueOf(i); 2.) String s = Integer.toString(i); 3.) String s = "" + i; 例: int a = 33; String a1 = String.valueOf(a); //33 String a2 = Integer.toString(a); //33 String a3 = a1 +""; //33 System.out.println(a1); System.out.println(a2); System.out.println(a3); String b = "101"; String bb = "123"; int b1 = Integer.parseInt(b+bb); //101123 int b2_1 = Integer.parseInt(bb, 10); //123 int b2_2 = Integer.parseInt(b, 2); //解析几进制 的字符串 5 int b3 = Integer.valueOf(b+bb).intValue(); //101123 System.out.println(b3);