Java常用类(上)

目录

 

阐述

String类的概述和构造方法

创建String对象的两种方式和区别

StringBuilder和String的区别

课后作业


阐述

String类的概述和构造方法

String代表字符串,由多个字符组成。字符串本质就是一个不可变的字符数组。

字符串存储在方法区中的常量池里。

有多个构造方法,举两个例子:

String(String original) 把字符串数据封装成字符串对象

String(char[] value) 把字符数组的数据封装成字符串对象

创建String对象的两种方式和区别

1.通过构造方法创建对象,该对象在堆内存中,通过地址值指向方法区中常量池里的字符串常量。

2.通过直接赋值创造对象,该对象就是方法区中的常量池里的字符串常量。

StringBuilder和String的区别

String是个不可变的字符序列;StringBuilder是可变的字符序列,是字符串缓冲区类。

课后作业

一、    需求说明:定义如下字符串:
    String str = “javajfiewjavajfiowfjavagkljjava”;
二、    请分别定义方法统计出:
    1.    字符串中:字符j的数量
    2.    字符串中:字符串java的数量

操作步骤:
    1.    定义MainApp类,包含main()方法;
    2.    在MainApp类中,定义以下两个方法:
        1)    可以统计一个字符串中,某个字符出现的次数;
            public static int countChar(String str,char c)
        2)    可以统计一个字符串中,某个字符串出现的次数;
            public static int countString(String str,String s)
    3.    请实现方法,并在main()方法中分别调用这两个方法进行统计。

public class MainApp {
	public static int countChar(String str, char c) {
		int count = 0;
		for(int i=0; i<str.length(); i++) {
			if(str.charAt(i) == c) {
				count++;
			}
		}
		return count;
	}
	
	public static int countString(String str, String s) {
		int count = 0;
		for(int i=0; i <= str.length()-s.length(); i++) {

			// 下面if语句中的关系表达式里,调用了substring方法,在循环语句中返回了很多字符串对象,最后都成了常量池里的垃圾
			// 需要用StringBuilder优化代码
			if(str.substring(i, i+s.length()).contains(s)) {
				count++;
			}
		}
		return count;		
	}

	public static void main(String[] args) {
		String str = "javajfiewjavajfiowfjavagkljjava";
		System.out.println("j出现了" + countChar(str, 'j') + "次");
		System.out.println("java出现了" + countString(str, "java") + "次");		
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值