字符串——第一部分equal方法、length()、substring、replace、charAt.......

字符串——第一部分

equal方法、length()、substring、replace、charAt.......

1.API

2.字符串

字符串内容是不会更改的,他的对象在创建后不能发生更改

就算name被重新赋值,也是生成了一个新的字符串

3.string的构造方法代码实现和内存分析

3.1 创建string对象的两种方式

代码示例:四种常用方法

3.2 两种创建方式的内存图

Java内存图

1、直接输入:地址存储在串池中

2、new创建:地址存储在堆内存中

每new一次会开辟一个新的小空间,不存在复用的情况

4.字符串的比较

前者两个地址一样,存在复用,返回true;后者两个地址不一样,不存在复用,而是new创建出来的,一个存在堆中,一个存在串池中,地址不一样返回false

4.1 如何比较内容?equal方法

代码案例:

补充键盘录入的字符串是如何建立的?直接输入 or new建立?

跟进scanner源码,得到

说明键盘录入的字符串是通过new建立的。

所以以下代码返回false

所以,以后想比较字符串内容,就必须要用string的方法

5.练习

5.1 用户登录

5.2 遍历字符串,字符串名.charAt(索引)

所用方法:
字符串遍历:字符串名. length().fori,最后格式如下:

字符串名.charAt(索引),可以遍历字符

代码示例:

5.3 统计字符次数(5.2的应用)

所用方法:
char在参与运算时,会自动转为int类型进行ascii码表查询

ascii码表中:0对应48,9对应57,a-z:97-122,A-Z:65-90。

代码示例:

5.4 拼接字符串

构造方法:
1、排除数组为空;2、排除数组长度为0;3、拼接遍历结果

主程序:

5.5  字符串反转

所用方法:字符串名. length().forr(倒着遍历),格式如下:

自行更改成如下样式:

示例代码:

5.6 金额转换(较难)

思路:

构造方法:查表法,将大写的数字和单位存入数组

主程序:

1、键盘录入金额,并确定金额有效,题目要求7位

2、利用整数提取数字法,调用方法method1将录入的数字转换为大写的数字,形成:321——叁贰壹

3、若字符串不满7位,补齐0

4、加入单位,形成:零零零贰壹叁伍——零佰零拾零万贰仟壹佰叁拾伍元

5.7 手机号屏蔽

所用方法:substring,前者必须用一个变量接收,只有返回值才是截取的值,对原字符串没任何影响,后者只写一位数,表示从这位数开始,截取到末尾结束。

示例代码:

输出:131****4539

5.8 补充:字符转为数字,如何操作?

例子:

ascii码表中:0对应48,9对应57,所以转化为数字9,即为57-48,通用转换:字符ascii码-48;

5.9 敏感词变换

所用方法:String replace();

示例代码:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值