1.字符串常量不能跨行,应将其分为几个单独的字串,再用连接符(+)将他们组合起来
如:System.out.println(“Introduction to Java Programming”+
“byY”);
2. Java不直接支持控制台输入,但可以使用Scanner类创建它的对象,以读取来自System.in的输入
如:Scanner input = newScanner(System.in);
new Scanner(System.in) : 创建了一个Scanner类型的对象(对象可以调用它自己的方法)
Scanner input 声明input是一个Scanner 类型的变量
Scanner对象的方法
nextByte() 读取一个byte类型的整数
nextShort() 读取一个short类型的整数
nextInt() 读取一个int类型的整数
nextLong() 读取一个long类型的整数
nextFloat() 读取一个float类型的数
nextDouble() 读取一个double类型的数
next() 读取一个字符串,该字符串在一个空白符之前结束
nextLine() 读取一行文本(以按下回车键为结束标志)
3.字符串的比较
string1 == string2 //运算符==只能检测string1和string2是否指向同一个对象
string1.equals(string2) //equals方法判断两个字符串变量的内容是否相同,若相等返回 true,若不相等返回false
s1.compareTo(s2) //若s1与s2相等,返回值为0;若按字典序s1小于s2返回值小 于0(依据s1和s2从左到右数第一个不同字符之间的距离得 出);s1大于s2返回值大于0
方法equalIsIgnoreCase 和compareToIgnoreCase 忽略字母的大小写
4. 字符串长度,字符,组合字符串
s1.length() //返回字符串s1的长度
focus: length是String类的一个方法,但它是数组对象的一个属性,故要获取数组a中的元素个数,必须使用a.length
s1.charAt(index) //提取字符串s1中的某个特定字符,下标index的取值范围在0 到s.length()-1 之间
String s1 = s2.concat(s3) 等价于 String s1 = s2+s3 //字符串的连接
//加号+ 也可用于连接数字和字符串:先将数字转换成字符串,再进行连接。若要用 + 实现连接功能,至少要有一个操作数必须为字符串。
5.获取字串
s1.substring(0,11) //返回字符串s1从下标0开始到10的子串
6.字符串的转换,替换,分隔
“Welcome”.toLowerCase() //将字符串中所有字符都转换成小写,返回一个新字符welcome
“Welcome”.toUpperCase() //将所有字符都转换成大写->WELCOME
“Welcome”.trim() //删除字符串两端的空格字符
“Welcome”.replace(‘e’,’A’) //WAlcomA
“Welcome”.repalceFirst(“e”,”AB”) //WABlcome
“Welcome”.replace(“e”,”AB”) //WABlcomAB
“Welcome”.replace(“el”,”AB”) //WABcome
package练习题;
import java.util.Scanner;
//提示用户输入一个字符串,报告该字符串是否是回文串(未用递归)
publicclass Aa {
publicstaticboolean isPal(String s){
intlow = 0;
inthigh = s.length()-1;
while(low<high){
if(s.charAt(low)!=s.charAt(high))
returnfalse;
else{
low++;
high--;
}
}
returntrue;
}
publicstaticvoid main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter astring:");
String s = input.nextLine();
if(isPal(s))
System.out.println(s + " isPalindrome");
else
System.out.println(s + " is notPalindrome");
}
}