Java学习记录.length与length()

  • length

用于基本类型数组,得到数组容量

  • length()

用于String类型的字符串中,用于获取字符串的长度

注意:当我们对数组分配内存时,系统就会给每个值初始化为零,所以即使你没有对已经分配对象的内存的赋值,或是没有全部赋值,使用length获取数组容量还是初始化分配的容量。

所以使用length并不能确定输出的容量就是其内有效值的个数,原因在于在一开始初始化时就固定了长度,而真正存储的数据可能小于它的固定容量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一段Java代码。下面是每行的注释: ``` import java.util.*; // 导入java.util包,可以使用其中的Scanner和Map类 public class Main { // 定义一个公共类Main public static void main(String[] args) { // 定义主函数 Scanner scanner = new Scanner(System.in); // 创建一个Scanner对象,从控制台读取输入 String strA = scanner.next(); // 读取输入的第一个字符串 String strB = scanner.next(); // 读取输入的第二个字符串 // 记录字符串B中每个字符的位置 Map<Character, Integer> charIndex = new HashMap<>(); // 定义一个HashMap对象charIndex,用于记录字符串B中每个字符的位置 for (int i = 0; i < strB.length(); i++) { // 遍历字符串B中的每个字符 charIndex.put(strB.charAt(i), i); // 将字符及其位置放入charIndex中 } // 记录字符串A中能够匹配到字符串B中字符的数量 int[] matchCount = new int[strB.length()]; // 定义一个整型数组matchCount,用于记录字符串A中能够匹配到字符串B中字符的数量 for (int i = 0; i < strA.length(); i++) { // 遍历字符串A中的每个字符 char c = strA.charAt(i); // 获取字符c if (charIndex.containsKey(c)) { // 如果字符串B中存在字符c int index = charIndex.get(c); // 获取字符c在字符串B中的位置 if (index == 0 || matchCount[index] < matchCount[index - 1]) { // 如果字符c在字符串B中的位置是0或者字符c前面的位置可以匹配到更多的字符 matchCount[index]++; // 将字符c在字符串B中的位置加1 } } } // 输出匹配到字符串B中所有字符的数量 System.out.println(matchCount[strB.length() - 1]); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值