关于getBytes()方法:

来源:2-4 Java 中的 String 类常用方法 Ⅱ

pkcorn

2017-12-08 21:38

关于getBytes()方法:

public class HelloWorld {
	public static void main(String[] args) {
		// 定义一个字符串
		String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";

		// 出现次数
		int num = 0;
		byte b[] = s.getBytes();

		// 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数
		for (int i = 0; i < s.length(); i++) {
			// 获取每个字符,判断是否是字符a
			if (b[i] == (int) 'a') {
				// 累加统计次数
				num++;
			}
		}
		System.out.println("字符a出现的次数:" + num);
	}
}

最后几行的if (b[i] == 'a')和if (b[i] == (int)'a')为什么都可以执行成功呢?所以这里的a究竟是什么类型,byte类型也是int的一种么?

写回答 关注

2回答

  • 如果我是DJ我是DJ我是DJ我是DJ
    2018-05-18 17:48:48
    已采纳

    转成int也是一个字符吧    在阿斯克码表里都是同一个值 这里应该是强转成int后又自动转成byte的?

    如果我是DJ... 回复pkcorn

    仔细一看 都是半年前的问题啦 哈哈

    2018-05-22 20:00:16

    共 4 条回复 >

  • feverrun
    2017-12-08 23:00:07

    两种情况 是 基本数据类型的自动转化吧?

    pkcorn

    强制转换

    2017-12-08 23:52:13

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题