String:指该变量为字符串类型。
str:任意有效的标识符,表示字符串变量的名称
用一个简单的例子来表示
char a[]={‘g’,'o','o','d'}
string s=new String(a)
就等于String s=new String("good")
String类型可获取字符串长度也可获取字符串中的数目和字符串中出现的字母或文字单独截取。
连接多个字符串:
使用“+”可让他实现多个字符串功能,并可以产生String对象
public class Join {
public static void main(String[] args) {//主方法
String s1=new String("hello");//定义s1并声明它是String类型
String s2=new String("word");//定义s2并声明它是String类型
String s=s1+","+s2;//定义s并声明它是String类型赋值s1与s2相加的结果
System.out.println(s);
}
String s1=new String("hello");//定义s1并声明它是String类型
String s2=new String("word");//定义s2并声明它是String类型
String s=s1+","+s2;//定义s并声明它是String类型赋值s1与s2相加的结果
System.out.println(s);
}
}
执行结果:hello,word
连接其他数据类型:
字符串也可以同其他数据类型进行连接如果将字符串同这些数据类型数据进行连接,
会将这些数据直接转换成字符串。
public class link {
public static void main(String[] args) {
int booktime=4;//定义booktimme为int整数型
float pratice=2.5f;//定义pratice为float浮点型
String s1=new String("我花费了");//定义s1为String类型并new一个新对象故S1=我花费了为字符串
String s2=new String("小时看书");//定义s2为String类型并new一个新对象故S2=小时看书为字符串
String s3=new String("上机练习");//定义s3为String类型并new一个新对象故s3=上机练习为字符串
// System.out.println("我每天花费了"+booktime+"小时看书"+pratice);
System.out.println(s1+booktime+s2+(booktime+pratice)+s3);//字符串和其他类型同时打印
}
}
public static void main(String[] args) {
int booktime=4;//定义booktimme为int整数型
float pratice=2.5f;//定义pratice为float浮点型
String s1=new String("我花费了");//定义s1为String类型并new一个新对象故S1=我花费了为字符串
String s2=new String("小时看书");//定义s2为String类型并new一个新对象故S2=小时看书为字符串
String s3=new String("上机练习");//定义s3为String类型并new一个新对象故s3=上机练习为字符串
// System.out.println("我每天花费了"+booktime+"小时看书"+pratice);
System.out.println(s1+booktime+s2+(booktime+pratice)+s3);//字符串和其他类型同时打印
}
}
执行结果为:我花费了4小时看书6.5上机练习
获取字符串信息:
字符串作为对象,可通过相应方法获取字符串的有效信息,如获取某段字符串的长度某个索引位置的字符等。
获取字符串长度:length()为字符串长度获取的方法
语法如:str.length();
字符串查找:
通过以下方式获取字符串长度和字符串的索引位置
//获取"你真是一个大傻逼"的字符长度
//并获取大是字符串中式第几位
//并获取大是字符串中式第几位
public class Lookeup_查找 {
public static void main(String[] args) {
String s1=new String("你真是一个大傻逼");
int length=s1.length();//获取字符串长度
int lookup=s1.lastIndexOf("大");
System.out.println("字符串的字符长度"+length);
System.out.println("‘大’在字符串中索引第几位?"+lookup);
}
String s1=new String("你真是一个大傻逼");
int length=s1.length();//获取字符串长度
int lookup=s1.lastIndexOf("大");
System.out.println("字符串的字符长度"+length);
System.out.println("‘大’在字符串中索引第几位?"+lookup);
}
}
执行结果为:字符串的字符长度8
'大'在字符串中索引第几位?5
获取子字符串:通过String类的substring()方法可对字符串进行截取。这些放的共同点就是都利用字符串的下标进行截取,且应明确字符串下表式从0开始。
substring()方法被两种不同方法来重载,来满足不同的需求。
从截取前三位字符
public class Character_string {
public static void main(String[] args) {
String str="hello world";
String substr=str.substring(0,3);
System.out.println(substr);
}
String str="hello world";
String substr=str.substring(0,3);
System.out.println(substr);
}
}
执行结果;hel
去除空格:
public class trim_去除空格 {
public static void main(String[] args) {
String str="java class";
System.out.println("字符串长度为"+str.length());
System.out.println("去掉空格后的长度"+str.trim().length());
System.out.println(str);
}
}
public static void main(String[] args) {
String str="java class";
System.out.println("字符串长度为"+str.length());
System.out.println("去掉空格后的长度"+str.trim().length());
System.out.println(str);
}
}
执行结果:
字符串长度为10
去掉空格后的长度10
去掉空格后的长度10
字符串替换:replace()是指返回的结果是新的字符串
//把address中的字符中的所有字母换成大写
//获取字符长度
//获取d在索引中的位置
//获取字符长度
//获取d在索引中的位置
public class New_str {
public static void main(String[] args) {
String str="address";//定义字符串类型,为address
int str_02=str.length();
int str_03=str.lastIndexOf("d");
String newstr=str.replace("a", "A");//定义字符串类型后并让str代替小写a代替大写A
String oldstr=str.replace("d","D");
System.out.println("字符串长度为"+str_02);
System.out.println("d在字符串索引位置中为:"+str_03);
System.out.println(newstr+" "+oldstr);
}
}
public static void main(String[] args) {
String str="address";//定义字符串类型,为address
int str_02=str.length();
int str_03=str.lastIndexOf("d");
String newstr=str.replace("a", "A");//定义字符串类型后并让str代替小写a代替大写A
String oldstr=str.replace("d","D");
System.out.println("字符串长度为"+str_02);
System.out.println("d在字符串索引位置中为:"+str_03);
System.out.println(newstr+" "+oldstr);
}
}
执行结果为:字符串长度为7
d在字符串索引位置中为:2
Address aDDress
d在字符串索引位置中为:2
Address aDDress
判断字符串的开始与结尾
startsWith和endsWith是用来指定的内容开始与结束的,这两个方法的返回值必须为布尔
public class StartOrEnd {
public static void main(String[] args) {
String num1="22045612";//字符串22045612定义为num1声明变量为String类型
String num2="23104578";//字符串23104578定义为num1声明变量为String类型
boolean b1=num1.startsWith("22");//b1定义布尔类型让num从4开始
boolean b2=num2.endsWith("78");
boolean b3=num1.startsWith("78");
boolean b4=num2.endsWith("22");
System.out.println("字符串num1是以'22'开头的吗?"+b1);
System.out.println("字符串num2是以'78'结尾的嘛?"+b2);
System.out.println("字符串num1是以22开头的嘛?"+b3);
System.out.println("字符串num2是以78结尾的嘛?"+b4);
}
String num1="22045612";//字符串22045612定义为num1声明变量为String类型
String num2="23104578";//字符串23104578定义为num1声明变量为String类型
boolean b1=num1.startsWith("22");//b1定义布尔类型让num从4开始
boolean b2=num2.endsWith("78");
boolean b3=num1.startsWith("78");
boolean b4=num2.endsWith("22");
System.out.println("字符串num1是以'22'开头的吗?"+b1);
System.out.println("字符串num2是以'78'结尾的嘛?"+b2);
System.out.println("字符串num1是以22开头的嘛?"+b3);
System.out.println("字符串num2是以78结尾的嘛?"+b4);
}
}
执行结果为:字符串num1是以'22'开头的吗?false
字符串num2是以'78'结尾的嘛?true
字符串num1是以22开头的嘛?false
字符串num2是以78结尾的嘛?false
字符串num2是以'78'结尾的嘛?true
字符串num1是以22开头的嘛?false
字符串num2是以78结尾的嘛?false