前言
今天学习字符串(String)
String不同于int,float, double, char, boolean,在java中String属于一个类,而对象类型名首字母必须大写,因此此处的String首字母大写,接下来将将介绍String
一:使用String存储文本
代码示例如下
public class ZiFuChuan {
public static void main(String[] args) {
//声明一个String类对象,也可理解为字符串变量
String str1="你喜欢java吗?";//java中字符串必须用双引号括起来,字符用单引号
String str2="我喜欢java!";
System.out.println(str1);//打印
System.out.println(str2);
//运行结果
//你喜欢java吗?
//我喜欢java!
}
}
二:在字符串中添加特殊字符
特殊字符
| \n | 换行,注:java的println()方法自带换行,print()方法不换行 |
| \t | 制表|
| \r | 回车 |
| \f | 走页 |
| \b | 退格 |
| \ | 打印反斜杠 |
| '| 打印单引号 |
| " |打印双引号|
以"和’为例
public static void main(String[] args) {
System.out.println("阿sir说:\"前天b市发生了一起离奇的盗窃案。\"");
System.out.println("警员c说:\"怎么离奇了?\"");
System.out.println("阿sir说:\"受害者\'a\'的java资料被盗窃一空。\"");
System.out.println("警员c说:\"哦,天啊,a真是不幸!\"");
//阿sir说:"前天b市发生了一起离奇的盗窃案。"
//警员c说:"怎么离奇了?"
//阿sir说:"受害者'a'的java资料被盗窃一空。"
//警员c说:"哦,天啊,a真是不幸!"
}
\r和\b作用应理解清楚
先代码示例
public static void main(String[] args) {
System.out.println("abc\r");
System.out.println("abc\r1");
System.out.println("abc\r123456");
System.out.println("123456789\b\b\b123");
System.out.println("123456789\b\b\b");
System.out.println("123456\b12");
//abc
//1
//123456
//123456123
//123456
//1234512
}
\r的作用是光标移到行首处位置,如果\r后面还有其他内容\r前面的内容会被删去,\b的作用和电脑上backspace退格键作用一样,这一点和c语言的不同,c语言要更绕一点,不单单是退格。
三:拼接字符串
"+"运算符的使用
public static void main(String[] args) {
String str1="";//创建一个空字符串
String str2="";
//操作一:字符串赋值拼接
str1+="我喜欢";
str1+="java";
System.out.println(str1);
//操作二:字符串和其他变量拼接
str2="我喜欢数字";
int num=5;
System.out.println(str2+num);
//操作三:字符串和字符串拼接
System.out.println(str1+"而且"+str2+num);
//运行结果
//我喜欢java
//我喜欢数字5
//我喜欢java而且我喜欢数字5
}
当然字符串和字符串的赋值拼接也是可以的
String str1="";
String str2="";
str1+="我喜欢";
str2="你";
str2+=str1;
四:字符串的高级处理
1:字符串的比较
equals()方法
public static void main(String[] args) {
String str1="hello java";
String str2="hello java";
String str3="hello java2";
//语法str1.equals(str2);
System.out.println(str1.equals(str2));
System.out.println(str1.equals(str3));
}
equals()将返回一个布尔值,true 或者 false
2:获取字符串长度
length()方法用于获取一个字符串的长度
public static void main(String[] args) {
String str1="我喜欢hiphop,喜欢滑板";
int len=str1.length();
System.out.println(str1);
System.out.println(len);
//运行结果
//我喜欢hiphop,喜欢滑板
//14
}
注意:这里length后面()中无参,方法后面都带括号。
3:改变字符串大小写
toUpperCase()方法和toLowerCase方法的使用
toUpperCase()将字符串中的字母全部改为大写
toLowerCase()将字符串中的字母全部改为小写
public static void main(String[] args) {
String str1="I love English, that I was lying";
System.out.println(str1.toUpperCase());
System.out.println(str1.toLowerCase());
//输出结果
//I LOVE ENGLISH, THAT I WAS LYING
//i love english, that i was lying
System.out.println();
}
注意:toUpperCase()方法和toLowerCase方法并不会改变原字符串的值
如上述str1的值依然是"I love English, that I was lying"
4:查找字符串
indexOf()方法的使用,该方法返回一个数字,代表要查找字符串的起始位置,如果要查找的字符串不存在返回-1.
public static void main(String[] args) {
String str1="I love java, I love computer, and it's true!";
String str2="love";
int num1=str1.indexOf(str2);
System.out.println(num1);
System.out.println(str1.indexOf("love"));
System.out.println(str1.indexOf("hate"));
System.out.println("I love java, I love computer, and it's true!".indexOf(str2));
int num2="I love java, I love computer, and it's true!".indexOf(str2);
System.out.println(num2);
}
需要注意的是,str1.indexOf(str2)是从str1中寻找str2.
单词index是索引的意思
字符串的常用方法就是这些,当然还有一些其他的,如charAT(int index)返回字符串中索引为index的字符。哈有其他的一些方法,当在IDEA中str1.时就会列举出来,我也没学功,更不知其中奥妙,在这里就不打肿脸充胖子多说了。
初学java,字符串就学习到了这里,下一节,学习控制循环语句。Go Go Go!!!
笔者java初学,若有错误,恳请指正.