Java中的String对象

String是引用类型
使用引用去引用一个具体的对象,引用存在栈空间,对象存在堆空间

String对象的简单方法

length()                字符数
charAt(index)       字符串中指定位置的字符,index范围为  [ 0  ,  s.length()-1 ]
concat(s1)            将本字符串和s1相连,返回一个新字符串
toUpperCase()     返回新字符串,所有字符大写
toLowerCase()     返回新字符串,所有字符小写
trim()                   返回新字符串,去掉两边空白字符(比如 '  ', \t, \f, \r, \n)

举例说明:
String message = "Welcome to Java";
String temp = “ and ”;
message.length()  返回15
message.charAt(0)  返回W
String example = message.concat(temp); // example就变成“Welcome to Java and ”
String myString = message + " and " + "HTML"; // Java提供了简便方法,直接用+号就能连接字符串,也能和数字相连
massage += " and Java is fun"; // +=也可以用于字符串连接
"Welcome".toLowerCase();  // 返回welcome
"Welcome".toUpperCase(); // 返回WELCOME

从控制台读取字符串

调用Scanner对象上的next()方法,next()读取以空白字符结束的字符串
                Scanner input = new Scanner(System.in);
		System.out.print("Enter three words separated by spaces: ");
		String s1 = input.next();
		String s2 = input.next();
		String s3 = input.next();
		System.out.println("s1 is " + s1);
		System.out.println("s2 is " + s2);
		System.out.println("s3 is " + s3);

nextLine()方法读取一整行文本,以按下回车键为结束标志,例如下面的语句:

                Scanner input = new Scanner(System.in);
		System.out.print("Enter a line: ");
		String s = input.nextLine();
		System.out.println("The line is " + s);

从控制台读取字符

调用nextline()读取一个字符串,再调用charAt(0)返回一个字符

		Scanner input = new Scanner(System.in);
		System.out.print("Enter a character: ");
		String s = input.nextLine();
		char ch = s.charAt(0);
		System.out.println("The character entered is " + ch);

String对象的比较方法

equals(s1)                            如果该字符串等于s1,则true

equalsIgnoreCase(s1)          类似上面,但是不考虑大小写

compareTo(s1)                    若该字符串大于s1,则返回一个大于0的整数,等于0和小于0类比思考

compareToIgnoreCase(s1)  类似上面,但是不考虑大小写

startsWith(prefix)                 若以“prefix”为前缀,则true

endsWith(suffix)                   若以“suffix”为后缀,则true

contains(s1)                         如果包含s1,则true,即s1是该字符串的字串

举例说明

String1 == String2; // 这样只能检测是否指向同一个对象,正确的方法应该是String1.equals(String2)

s1.compareTo(s2);  // 若s1=s2,则返回0;按照字典熟顺序比较,如下

s1 = "abc"; s2 = "abg"; s1.compareTo(s2)→return -4;  //c比g小4

获得子字符串

substring(beginIndex)                   返回从beginIndex开始到结尾的字串

substring(beginIndex,endIndex)    返回从beginIndex到(endIndex-1)的字串

例如:String s = message.substring(0,11) + "HEML"; // 将返回Welcome to HTML

获取字符串中的字符或者字串

indexOf(ch)                        返回字符串中第一次出现字符ch的下标,若没有则返回-1

indexOf(ch,fromIndex)       从fromIndex开始找ch的下标,若没有则-1

indexOf(s)                           返回字符串中第一次出现字符串s的下标,若没有则-1

indexOf(s,fromIndex)          从fromIndex开始找s的下标,若没有则-1

lastIndexOf(ch)                    返回字符串中最后一次出现字符ch的下标,若没有则-1

lastIndexOf(ch,fromIndex)   从fromIndex之前的串开始找最后ch的下标,若没有则-1

lastIndexOf(s)                       返回字符串中最后一次出现字符串s的下标,若没有则-1

lastIndexOf(s,fromIndex)     从fromIndex之前的串开始找最后s的下标,若没有则-1

字符串和数字间的转换

举例说明:(必须是数值型字符串才能转换)

int intValue = Integer.parseInt(intString); // int类型的数值型字符串转换成数值

double doubleValue = Double.parseDouble(doubleString); // double类型的数值型字符串转换成数值

String s = number + ""; // 将数值转换成字符串

你可能感兴趣的:(Java学习笔记)