0
点赞
收藏
分享

微信扫一扫

JAVA基础07—String

南陵王梁枫 2022-03-12 阅读 51

文章目录

前言

String 是我们学习JAVA基础过程中,最先接触的引用类型数据类型。本文基于个人学习过程中的笔记,记录String的常用方法与常用处。

众所周知,保存字符的数据类型除了String,还有比较少用的char;char作为基本类型之一,也有对应的包装类Character,本文也记录了Character常用的方法。

1. Character常用方法

1.1 判断字符类型

在例子中直接体现常用方法:

        char ch1 = 'a';
	     
		// 判断是否为字母
		System.out.println(Character.isLetter(ch1));
		
		// 判断是否为数字
		System.out.println(Character.isDigit(ch1));
		
		// 判断是否为空格
		System.out.println(Character.isWhitespace(ch1));

1.2 大小写转换

判断是否为大小写:

    // 判断是否为大写、小写
		System.out.println(Character.isUpperCase(ch1));
		System.out.println(Character.isLowerCase(ch1));

转换大小写:

    // 转换为大写、小写
		System.out.println(Character.toUpperCase(ch1));
		System.out.println(Character.toLowerCase(ch1));

2. String常用方法

2.1 String创建方法

既然String是一个类类型,其他类类型都可以new出来,那么String都可以new出来

         // new 的方式创建String
		String s1 = new String();
		System.out.println(s1);
		
		String s2 = new String("我爱JAVA");
		System.out.println(s2);
		
		char [] cs = {'俄','乌','开','战','股','市',
				'振','荡'
		};
		String s3 = new String(cs);
		System.out.println(s3);
		
		//最简洁的创建方式,也是我们最常用的方式:
		String s4 = "开卷有益";

2.2 数字与字符串相互转换

2.2.1 数字转换为字符串

1)String.valueOf() 方法:

        // 数字转换为字符串
		int a = 0;
		
		String a1 = String.valueOf(a);
		
		System.out.println(a1);

2)封装类输出为字符串

封装类型.toString()方法:

        int a = 0;
		
		String a1 = String.valueOf(a);
		
		System.out.println(a1);
		
		Integer a2 = a;
		
		System.out.println(a2.toString());

2.2.2 字符串转换为数字

使用包装类的parse方法:

    // 字符串转换为数字:
		
		String a3 = "1.22";
		
		float f = Float.parseFloat(a3);
		
		System.out.println(f);

注意:当字符串包含字母、特殊符号等情况时,转换为数字会出现异常。

2.2.3 字符串转数组

toCharArray

public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s = "JAVA是世界上最好的语言";
		char[] c = s.toCharArray();
		for( int i = 0 ; i < c.length ; i++ ) {
			System.out.print(" "+c[i]);
		}
	}

2.3 获取字符串单个字符

charAt方法:

    //获取随机字符串的0位字符
    public static void main(String[] args) {
		// TODO Auto-generated method stub
        String str = randomString(8);
        System.out.println(str.toString());
        System.out.println(str.charAt(0));
	}
	
	public static String randomString(int length) {
	        String pool = "";
	        for (short i = '0'; i <= '9'; i++) {
	            pool += (char) i;
	        }
	        for (short i = 'a'; i <= 'z'; i++) {
	            pool += (char) i;
	        }
	        for (short i = 'A'; i <= 'Z'; i++) {
	            pool += (char) i;
	        }
	        char cs[] = new char[length];
	        for (int i = 0; i < cs.length; i++) {
	            int index = (int) (Math.random() * pool.length());
	            cs[i] = pool.charAt(index);
	        }
	        String result = new String(cs);
	        return result;
	    }

2.4 截取字符串

subString方法

    public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s = "我是JAVA攻城狮,精通Python";
		
		String sFromSub = s.substring(0,9);
		System.out.println(sFromSub.toString());
	}

2.5 分割字符串成子串

split方法,将大串通过分割符分成小串,数量因分隔符而定,结果保存在数组中

    public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s = "我要成为,大厂收割机,因为里面的人很优秀,说话又好听";
		String [] sentence = s.split(",");
		
		for(String litSen : sentence) {
			System.out.println(litSen.toString());
		}

2.6 字符串大小写

虽然字符串是不可变的,但API提供了整串修改大小写的功能

    String name = " Sharry";
		System.out.println(name.toLowerCase());
		System.out.println(name.toUpperCase());

2.7 字符串定位

通过字符串定位的方法,可以得到具体字符、串出现的位置

    String love = "我爱爱爱爱爱爱不完!";
	
		// 第一个字符出现位置的下标
		System.out.println(love.indexOf("爱"));
		
		// 最后一个该字符出现的位置
		System.out.println(love.lastIndexOf("爱"));
		
		// 是否包含该字符串
		System.out.println(love.contains("我爱"));
		System.out.println(love.contains("我不爱"));

2.8 判断字符串的开头、结尾

startWith 、 endsWith,来判断开头、结尾是否是该字符串

        String strDemo = "我叫Sharry,我还是给菜鸟";
		String bird = "菜鸟";
		
		System.out.println(strDemo.startsWith("我是"));
		System.out.println(strDemo.endsWith(bird));

2.9 字符串替换

虽然字符串创建之后便不能修改(微观上,这点在后面的段落有记录),但可以通过API,进行字段的替换,以达到修改的功能(宏观上)。

    String love = "我爱爱爱爱爱爱不完!";
		
		// 替换全部该字段
		String notLove = love.replace("爱", "不爱");
		
		// 只替换第一个
		String notSoLove = love.replaceFirst("爱", "在爱的区间徘徊");
		
	    System.out.println(notSoLove);
		System.out.println(notLove);

2.10 字符串比较

比较是否是同一个对象,用==可得出;比较是否值相同,用equals

        // 1. 是否是同一个对象
		String str1 = "Hello world";
		String str2 = new String(str1);
		String str3 = "Hello world";
		
		System.out.println(str1 == str2);
		System.out.println(str1 == str3);
		
		// 2.字符串是否相同
		System.out.println(str1.equals(str2));

3. String不能改变

String一旦创建,就不能改变了。要改变字符串的值,只能借助新建String以及其他方法。

具体原因有大佬总结得很好,此处我们以链接的方式来援引大佬的总结:
参考博文

4. StringBuffer

从上面的链接,我们可以了解到StringBuffer的必要性,作为初学或者快速回顾,我们来快速学习/练习一下StringBuffer的用法吧

我们直接通过例子来学习:

4.1 追加 append

    String str = "123456我们来玩过家家";
		
		StringBuffer sb = new StringBuffer(str);
		
		//append 追加
		sb.append("什么是过家家");
		
		System.out.println(sb.toString());

4.2 删 delete

        //delete 删除起始位置到终止位置的字符
		sb.delete(0, 6);
		
		System.out.println(sb.toString());

4.3 插入 insert

        //insert 在括号内的位置之后插入新内容
		sb.insert(0, "开学了,我们来学习过家家吧");
		
		System.out.println(sb.toString());

4.4 反转 reverse

        //反转
		sb.reverse();
		System.out.println(sb.toString());

总结

本篇文章,我们学习了String这个类类型的基本用法、简单了解了一些特性,最后带过一点StringBuffer的用法。

学习之路才刚刚开始,还有更多API等着我们学习、使用。

我们下一篇见!

举报

相关推荐

java基础—String

java基础 Day07

Java基础一(String)

Java基础——String类

【Java基础】String类

Java基础(概述、String)

【Java基础】String01

【Java基础】String06

0 条评论