charAt(i) 呵 charAt(i)-‘0‘的 区别

本文解析了在进行字符与整数相加操作时,如何将字符转换为对应的数值。重点介绍了使用charAt(i)-'0'的方法来实现字符到整数的转换过程。

用int类型的去加 string.charAt(i)的时候 需要用charAt(i)-'0' 要不加的是ascll

 

 

在代码 `ans[i] = nums.charAt(i) - '0'` 中,`nums` 通常是一个字符串类型的变量,`ans` 是一个数组。下面详细解释该代码的含义和作用: ### 含义 - `nums.charAt(i)`:这是 Java 中 `String` 类的一个方法,用于获取字符串 `nums` 中索引为 `i` 的字符。索引从 0 开始,所以 `nums.charAt(0)` 表示字符串的第一个字符,`nums.charAt(1)` 表示第二个字符,依此类推。 - `'0'`:在 Java 中,字符是可以用 ASCII 码值来表示的。字符 `'0'` 的 ASCII 码值是 48,`'1'` 的 ASCII 码值是 49,`'2'` 的 ASCII 码值是 50,以此类推。 - `nums.charAt(i) - '0'`:这是一个字符运算。由于字符可以隐式转换为对应的 ASCII 码值,所以这个表达式实际上是将字符 `nums.charAt(i)` 的 ASCII 码值减去字符 `'0'` 的 ASCII 码值。例如,如果 `nums.charAt(i)` 是 `'3'`,其 ASCII 码值是 51,减去 `'0'` 的 ASCII 码值 48,结果就是 3。 ### 作用 该代码的主要作用是将字符串 `nums` 中的数字字符转换为对应的整数,并存储到数组 `ans` 的第 `i` 个位置。例如,如果 `nums = "123"`,那么执行 `ans[0] = nums.charAt(0) - '0'` 后,`ans[0]` 的值就是 1;执行 `ans[1] = nums.charAt(1) - '0'` 后,`ans[1]` 的值就是 2;执行 `ans[2] = nums.charAt(2) - '0'` 后,`ans[2]` 的值就是 3。 ### 示例代码 ```java public class Main { public static void main(String[] args) { String nums = "123"; int[] ans = new int[nums.length()]; for (int i = 0; i < nums.length(); i++) { ans[i] = nums.charAt(i) - '0'; } for (int num : ans) { System.out.println(num); } } } ``` ### 输出结果 ``` 1 2 3 ``` ### 总结 `ans[i] = nums.charAt(i) - '0'` 这行代码的作用是将字符串中的数字字符转换为对应的整数,并存储到数组中,方便后续对数字进行计算和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值