java String的基本应用

package my;

import java.awt.List;
import java.util.ArrayList;
import java.util.*;
import java.math.*;
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		char []s= {'a','b','c','d'};
		String s1=new String(s);
		String s2=new String("ABCD");
		String s3=new String();
		
		/*Sting 不能修改 输出某一位置*/
		for(int i=0;i<s1.length();i++) {
			//System.out.println(s1.charAt(i));
		}
		
		/*比较*/
		//若当前对象比参数大则返回正整数,反之返回负整数,相等返回0。
		int a=s1.compareTo(s2);
		int b=s1.compareToIgnoreCase(s2);//忽略大小写
		//相等的时候返回true,否则返回false
		boolean c=s1.equals(s2);
		boolean d=s1.equalsIgnoreCase(s2);//忽略大小写
		
		/*提取字串*/
		String s4=s1.substring(1);
		System.out.println(s4);//bcd
		//public String substring(int beginIndex, int endIndex)//该方法从beginIndex位置起,
		//从当前字符串中取出到endIndex-1位置的字符作为一个新的字符串返回。
		String s5=s1.substring(1,4);
		System.out.println(s5);//bcd
		
		/*字符串链接*
		String str1="abc".concat("def").concat("ghi");//相当于String str="abc"+"def"+"ghi"; c++不可以这样写的
		System.out.println(str1);
		
		/*
		 * 字符串中查找
		*public int indexOf(int ch/String str)//用于查找当前字符串中字符或子串,返回字符或子串在当前字符串中从左边起首次出现的位置,
		*若没有出现则返回-1。
		*public int indexOf(int ch/String str, int fromIndex)//改方法与第一种类似,区别在于该方法从fromIndex位置向后查找。
		*public int lastIndexOf(int ch/String str)//该方法与第一种类似,区别在于该方法从字符串的末尾位置向前查找。
		*public int lastIndexOf(int ch/String str, int fromIndex)//该方法与第二种方法类似,区别于该方法从fromIndex位置向前查找。
		 */
		String strr = "I am a good student";
		int a1 = strr.indexOf('a');//a1 = 2
		int b1 = strr.indexOf("good");//b1 = 7
		int c1 = strr.indexOf("w",2);//c1 = -1
		int d1 = strr.lastIndexOf("a");//d1 = 5
		int e1 = strr.lastIndexOf("a",3);//e1 = 2
		
		/*
		 * 字符串中字符的替换
		 * public String replace(char oldChar, char newChar)//用字符newChar替换当前字符串中所有的oldChar字符,并返回一个新的字符串。
		 *public String replaceFirst(String regex, String replacement)//该方法用字符replacement的内容替换当前字符串中遇到的第一个和字符串regex相匹配的子串,应将新的字符串返回。
 		 *public String replaceAll(String regex, String replacement)//该方法用字符replacement的内容替换当前字符串中遇到的所有和字符串regex相匹配的子串,应将新的字符串返回。
 		  String str = "asdzxcasd";
 		  String str1 = str.replace('a','g');//str1 = "gsdzxcgsd"
		  String str2 = str.replace("asd","fgh");//str2 = "fghzxcfgh"
 	      String str3 = str.replaceFirst("asd","fgh");//str3 = "fghzxcasd"
 	      String str4 = str.replaceAll("asd","fgh");//str4 = "fghzxcfgh"
		 */
		
		
		
		/*
		 * String trim()//截去字符串两端的空格,但对于中间的空格不处理。
		 * String str = " a sd ";
		 * String str1 = str.trim();
		 * int a = str.length();//a = 6
		 *  int b = str1.length();//b = 4
		 */
		
		/*
		 * boolean statWith(String prefix)或boolean endWith(String suffix)
		 * 用来比较当前字符串的起始字符或子字符串prefix和终止字符或子字符串suffix是否和当前字符串相同
		 * 重载方法中同时还可以指定比较的开始位置offset。
		 * String str = "asdfgh";
		 * boolean a = str.statWith("as");//a = true
		 *  boolean b = str.endWith("gh");//b = true
		 */
		
		/*
		 * contains(String str)//判断参数s是否被包含在字符串中,并返回一个布尔类型的值。
		 * String str = "student";
		 * str.contains("stu");//true
		 * str.contains("ok");//false
		 */
		
		
		/*
		 字符串转换为基本类型
		java.lang包中有Byte、Short、Integer、Float、Double类的调用方法:
		public static byte parseByte(String s)
		public static short parseShort(String s)
		public static short parseInt(String s)
		public static long parseLong(String s)
		public static float parseFloat(String s)
		public static double parseDouble(String s)
		int n = Integer.parseInt("12");
		float f = Float.parseFloat("12.34");
		double d = Double.parseDouble("1.124");
		 */
		
		/*
		 基本类型转换为字符串类型
		 String类中提供了String valueOf()放法,用作基本类型转换为字符串类型。
		static String valueOf(char data[])
		static String valueOf(char data[], int offset, int count)
		static String valueOf(boolean b)
		static String valueOf(char c)
		static String valueOf(int i)
		static String valueOf(long l)
		static String valueOf(float f)
		static String valueOf(double d)
		String s1 = String.valueOf(12);
 		String s1 = String.valueOf(12.34);
		 */
		
		/*
		 * 修改String
		 char [] ch;
        ch = st.toCharArray(); // 字符串转换为字符数组.
        for (i = 0; i < ch.length; i++) ch[i] += 1;
		 */
		
		/*
		 * 字符串中字符的大小写转换
		 * public String toLowerCase()//返回将当前字符串中所有字符转换成小写后的新串
		 * public String toUpperCase()//返回将当前字符串中所有字符转换成大写后的新串
		 * String str = new String("asDF");
		 * String str1 = str.toLowerCase();//str1 = "asdf"
		 *  String str2 = str.toUpperCase();//str2 = "ASDF"
		 */
		
		
		
		/*
		 * 进制转换
		 */
		String sss="A";
		// st是字符串,base是st的进制 输出是十进制
		BigInteger m=new BigInteger(sss,16);
		System.out.println(m);//10 把几进制转换为十进制
		//String st = Integer.toString(num, base); // 把num当做10进制的数转成base进制的st(base <= 35).
		String w=Integer.toString(10,2);//把10十进制转换为几进制
		System.out.println(w);//1010
		/*
		 * String st = Integer.toString(num, base); // 把num当做10进制的数转成base进制的st(base <= 35).
			int num = Integer.parseInt(st, base); // 把st当做base进制,转成10进制的int(parseInt有两个参数,第一个为要转的字符串,第二个为说明是什么进制).  
			BigInter m = new BigInteger(st, base); // st是字符串,base是st的进制.
			//Added by abilitytao
			1.如果要将一个大数以2进制形式读入 可以使用cin.nextBigInteger(2);
			当然也可以使用其他进制方式读入;
			2.如果要将一个大数转换成其他进制形式的字符串 使用cin.toString(2);//将它转换成2进制表示的字符串
		 */
		
	}
	
}

猜你喜欢

转载自blog.csdn.net/CC_1012/article/details/89738608