java第四课 String类以及常用方法讲解

目录

获取长度

连接字符串

charAt()

compareTo()

equal()

getByte()

indexOf()

split()

toCharArray()

toString()

toUpperCase()

tirm()


String类是不可改变的,所以你一旦创建了String对象,那它的值就无法改变了。 如果需要对字符串做很多修改,那么应该选择使用StringBuffer & StringBuilder 类

获取长度

public class StringDemo {

   public static void main(String args[]) {
      String palindrome = "Dot saw I was Tod";
      int len = palindrome.length();
      System.out.println( "String Length is : " + len );
   }
}

连接字符串

方法1:

string1.concat(string2);

方法2:

   String string1 = "saw I was ";     
   System.out.println("Dot " + string1 + "Tod");  

 

charAt()

char charAt(int index) 返回指定索引处的 char 值。

		String a = "123456789";
		int b=a.charAt(7);
		char c=a.charAt(7);
		System.out.println(b+"-"+c);

compareTo()

比较字符

参数

referenceName -- 可以是一个 Byte, Double, Integer, Float, Long 或 Short 类型的参数。

返回值

  • 如果指定的数与参数相等返回0。
  • 如果指定的数小于参数返回 -1。
  • 如果指定的数大于参数返回 1。
      Integer x = 5;
      System.out.println(x.compareTo(3));
      System.out.println(x.compareTo(5));
      System.out.println(x.compareTo(8));    

equal()

boolean equals(Object anObject) 将此字符串与指定的对象比较。

getByte()

        String a = "abc";
        String b = "love";
        System.out.println(a.getBytes());
        System.out.println(b.getBytes());

列:

    String a = "abc";
        byte[] c=a.getBytes();
        for (int i = 0; i < c.length; i++) {
        	   System.out.println(c[i]);
		}

indexOf()

indexOf() 方法有以下四种形式:

public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
 

		String str = "hello,this is a test";
		String SubStr1 = "is";

		System.out.println("查找字符i 第一次出现的位置 :" + str.indexOf('i'));
		System.out.println("从第10个位置查找字符 s 第一次出现的位置 :" + str.indexOf('s', 10));
		System.out.println("\"子字符串 SubStr1 第一次出现的位置:\" " + str.indexOf(SubStr1));
		System.out.println("从第十五个位置开始搜索子字符串 SubStr1 第一次出现的位置 :" + str.indexOf(SubStr1, 11));

split()

String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
String[] split(String regex, int limit)
根据匹配给定的正则表达式来拆分此字符串。

 

列:


public static void main(String args[]){
      
      String str = "www-youj-com";
      String[] temp;
      String delimeter = "-";  // 指定分割字符
      temp = str.split(delimeter); // 分割字符串
      // 普通 for 循环
      for(int i =0; i < temp.length ; i++){
         System.out.println(temp[i]);
         System.out.println("");
      }
 
      System.out.println("------java for each循环输出的方法-----");
      String str1 = "www.w3cschool.cn";
      String[] temp1;
      String delimeter1 = "\\.";  // 指定分割字符, . 号需要转义
      temp1 = str1.split(delimeter1); // 分割字符串
      for(String x :  temp1){
         System.out.println(x);
         System.out.println("");
      }

toCharArray()

char[] toCharArray() 将此字符串转换为一个新的字符数组

        String Str = new String("www.runoob.com");
        System.out.println( Str.toCharArray() );

toString()

返回此对象本身(它已经是一个字符串!)

toUpperCase()

使用默认语言环境的规则将此 String 中的所有字符都转换为大写

tirm()

返回字符串的副本,忽略前导空白和尾部空白


列:

		String str = new String("aaaa11122233");
		System.out.println("字符串的长度为:" + str.length());
		// 将字符串转化成字符数组
		char[] cs = str.toCharArray();
		cs[0] = '我';
		System.out.println("字符数组为:");
		System.out.println(cs);
        //将字符数组转化成字符串
		String cs_str = new String(cs);
		System.out.println("字符串为:"+cs_str);
        //在字符串中   根据指定索引值获取对应的  字符值
		System.out.println("返回指定索引处的 char值:"+str.charAt(1));// 返回指定索引处的 char 值
		System.out.println("返回指定字符在字符串中第一次出现处的索引:"+str.indexOf("1"));


public class StringUtil {
	public static void main(String[] args) {
		String str=" madeaaa AAA inRaaa aaa ";

		//获取字符串长度
		int strLen=str.length();
		System.out.println("字符串的长度:"+strLen);
		
		//将字符串转化成字符数组
		char[] cs_str=str.toCharArray();
		System.out.println("字符数组的长度"+cs_str.length);
		
		//根据索引位置 对字符串进行分割
		System.out.print("字符数组倒序输出:");
		String[] strs=str.split("");
		for (int i = 0; i < strs.length; i++) {
			System.out.print(strs[strs.length-1-i]+" ");//字符串数组倒序输出
		}
		System.out.println("");
		//字符串截取
		System.out.println("字符串截取"+str.substring(2, 6));
		
		//返回指定字符在字符串第一次出现的索引位置
		System.out.println("空格第一次出现的位置"+str.indexOf(" "));
		//返回指定字符在字符串最后一次出现的索引位置
		System.out.println("空格最后一次出现位置"+str.lastIndexOf(" "));
		System.out.println("查找zzz最后一次出现位置,找不到返回-1:"+str.lastIndexOf("zzz"));//找不到返回-1
		
		//将字符窜中的字母全部转化成小写
		System.out.println("转换成小写字母"+str.toLowerCase());
		//将字符串的字母全部转化成大写
		System.out.println("转化成大写字母"+str.toUpperCase());
		
		//去掉字符串中的左右空格
		System.out.println("返回字符串的副本,忽略前导空白和尾部空白。"+str.trim());
		
		//syso
		System.out.println("替换:返回一个新的字符串"+str.replace(" ", ""));
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值