章节
问答
课签
笔记
评论
占位
占位

Java 中的 String 类常用方法 Ⅱ

我们继续来看 String 类常用的方法,如下代码所示:

运行结果:

那么,“==” 和 equals() 有什么区别呢?

==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象

equals(): 比较存储在两个字符串对象中的内容是否一致

PS:字节是计算机存储信息的基本单位,1 个字节等于 8 位, gbk 编码中 1 个汉字字符存储需要 2 个字节1 个英文字符存储需要 1 个字节。所以我们看到上面的程序运行结果中,每个汉字对应两个字节值,如“学”对应 “-47 -89” ,而英文字母 “J” 对应 “74” 。同时,我们还发现汉字对应的字节值为负数,原因在于每个字节是 8 位,最大值不能超过 127,而汉字转换为字节后超过 127,如果超过就会溢出,以负数的形式显示。(关于编码,我们在后面课程中会详细介绍,小小期待哦~~)

任务

亲,让我们赶紧来做个练习巩固一下吧。

功能:统计指定字符串中字符 ‘a’ 出现的次数

分析:可以通过循环遍历字符串中的每一个字符,判断是否是字符 a ,如果是,则累加统计出现的次数

请在编辑器中的第 10、13 行中将代码填写完整

运行结果:字符a出现的次数:8

?不会了怎么办

参考代码:

||
1
public class
    HelloWorld
    {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

已采纳回答 / qq_慕沐1391837
String是一个类,可以在IDE中查看到String的源码,String有很多API。char是一个基本数据类型,只能用”==”进行值相等比较,如果想用equals()方法进行比较,则要用char的封装对象Character。

最赞回答 / 幕布斯1575531
还有两个空格字符,小老弟

最赞回答 / Gripex90c
你的问题是不是弄错了 应该是为什么字符串的长度用length()方法,数组长度用的length属性?答:String 的长度被设计成bai只能通过方法读取。专门为了防止出现类似zhi str.length = 5; 之类的语句。因为这是不合理的语句,用户是不应该这样设定字符串的长度的,应该只能读取它。这是封装,是面向对象的三大精髓之一,如果你仍然不理解上面的话,那没办法让你立刻理解,你需要慢慢熟悉面向对象。

最新回答 / 刘刚_LG
没有错,本来就是一个空数组

已采纳回答 / 飒沐_Samuel
先回答你的最后一个问题吧——首先:s是一个字符串,不能用是s[i]访问某一个字符,这是数组的特有形式(我刚刚测试的,编译器如是报错的,你可以在你的eclipse中试一试)其次:即使你用s.charAt(i)得到了某一个字符,也不能用.equals()方法,因为字符是基本数据类型,而不是类/对象,所以不能用【 . 方法()】   

最新回答 / 幕布斯2086453
slit("")  按照指定输入切个字符串生成字符串数组,因为你传入的是空, 相当于无条件切割,所以就是每个长度都会切割一下

最赞回答 / 慕移动0111711
length()是个获取长度的方法,通过对象调用的是方法,是获取这个对象的长度,length是个属性,你没有定义这个属性,当然不对咯。

已采纳回答 / 吴霄乐
<...code...>

+ 我来回答 回答最高可+2积分

已采纳回答 / Summer_Xx
for ( int i =0;i<s.length();i++);   for的后面不需要分号

已采纳回答 / 慕后端1427830
equals是判断引用类型的引用是否相等,==用于基本类型

最新回答 / 慕仙7584962
byte[] str=s.getBytes(); for (int i=0;i<str.length;i++) { if (str[i]=='a'){ num++; }

已采纳回答 / qq_慕运维7313110
java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean  他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类)  当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equal...
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言