String类又称作不可变字符序列,每个被双引号括起来的字符串都是String类的一个实例,Java允许使用符号“+”把两个字符连接起来,相关练习如下:
public class Tests {
public static void main(String[] args) {
String a="aaa";
String b=new String("aaa");
String c="ccc"+"cw";
String d="18"+19;//有一个是字符串则+为连接符
String e="aaa";
System.out.println(a==e);
System.out.println(a==b);
System.out.println(d);
//通常比较字符串时,使用equals
System.out.println(a.equals(b));
}
}
此处字符串比较a与b虽然内容一样,但是b新建一个对象储存,储存地址发生改变所以用“==”比较结果为false。
String类的一些常用方法如下:
public class Tests1 {
public static void main(String[] args) {
String a="helllo";
String b="world";
String c="Helllo";
System.out.println(a.charAt(2));//返回所属字符串该位置的字符
System.out.println(a.length());//长度
System.out.println(a.equals(b));
System.out.println(a.equalsIgnoreCase(c));//比较两个字符串忽略大小
System.out.println(a.indexOf("lo"));//字符串中是否包含lo
String d=a.replace("l","a");//将a中l换成a
System.out.println("结果是"+d);
String s="";
String s1="who are you?";
System.out.println(s1.startsWith("who"));//是不是一who开头
System.out.println(s1.endsWith("you"));//是不是以you结尾
s=s1.substring(2);//提取字符,从下标为二的开始
System.out.println(s);
s=s1.substring(3,6);//提取字符串下标为4-7不包括7
System.out.println(s);
s=s1.toUpperCase();//转大写
System.out.println(s);
String s2=" my name is lisi ";
s=s2.trim();//去除字符串首尾空格,中间空格不能去掉
System.out.println(s);
System.out.println(s2);
}
}
System类里也包含了一个static void arraycopy(object src,int srcpos,object dest, int destpos,int length)
方法,该方法可以将src数组里的元素值赋给dest数组的元素,其中srcpos指定从src数组的第几个元素开始赋值,length参数指定将src数组的多少个元素赋给dest数组的元素。
示例:
//数组的拷贝
public class Testa {
public static void main(String[] args) {
//拷贝示例
/*String[] a={"aa","bb","cc","dd"};
String[] b=new String[5];
System.arraycopy(a,1,b,1,2);
for(int i=0;i
删除以及扩容结果:
Arrays工具类的使用,这里面包含了常用的数组操作,方便我们开发。
相关操作如下:
public class Testarr {
public static void main(String[] args) {
int[] s={1,2,3,4,8,5};
for(int i=0;i
多维数组:
多维数组可以看做以数组为元素的数组,可以有二维,三维,甚至多维数组,但是实际开放中用的非常少,最多用到二维数组。
其实无论是面对二维数组还是多维数组时都应该树立一种意识,不管几维数组,其实都可以看做一维数组。
声明及初始化:
//测试二维数组
public class Testd {
public static void main(String[] args) {
//int[] a=new int[3];
// People[] people=new People[3];
int[][] aa=new int[3][];//行个数不定
aa[0]=new int[]{10,22};
aa[1]=new int[]{10,22,32};
aa[0]=new int[]{10,22,54};
System.out.println(aa[1][2]);
int[][] bb={
{1,2,3},
{2,3,4}
};//纯静态初始化
}
}
class People{
}
多维数组储存表格:
public class Testdd {
public static void main(String[] args) {
Object[] q1={111,"张三",14};
Object[] q2={122,"李四",16};
Object[] q3={123,"王二麻子",17};
Object[][] td=new Object[3][];
td[0]=q1;
td[1]=q2;
td[2]=q3;
for (Object[] w:td){
System.out.println(Arrays.toString(w));
}
}
}
需要注意这里基本数据类型“111”,本质不是Object对象,Java编译器会自动把基本数据类型“自动装箱”包装成类对象。