java 字符串 逻辑运算符号_Java运算符的逻辑\u0026\u0026和||

亲爱的程序员你好,

我有一个String String input =“30.09.1993”;

然后我想将这个字符串中的所有数字保存在一个数组中(只有数字!). “.”在索引2和5所以我想在我的循环中使用if语句跳过我的字符串的这些部分.

我解决了我的问题,一切正常,但我对&&的逻辑感到困惑.和||操作符.

这是我的工作代码:

String input = "30.09.1993";

int[] eachNumbers = new int[8];

int x = 0;

for(int i = 0; i <= 9; i++){

if(i != 2 && i != 5){

eachNumbers[x] = Integer.parseInt(input.substring(i, i+1));

x++;

}

}

这是不起作用的代码:

String input = "30.09.1993";

int[] eachNumbers = new int[8];

int x = 0;

for(int i = 0; i <= 9; i++){

if(i != 2 || i != 5){

eachNumbers[x] = Integer.parseInt(input.substring(i, i+1));

x++;

}

}

这两个代码片段之间的唯一区别是if子句中的运算符.

我认为这些操作符的结果是:

&安培;&安培;操作符:

false + false = false

true + false = false

false + true = false

true + true = true

||操作符:

false + false = false

true + false = true

false + true = true

true + true = true

所以在我看来第二个代码片段应该工作,第一个应该抛出一个NumberFormatException.但事实并非如此.

我确信对于我正在做的事情有一些更好的解决方案,但我的问题只是关于我的if语句中的逻辑.有人能解释一下这背后的逻辑吗?我完全感到困惑,并感谢每一个有帮助的答案.

问候

Lukas Warsitz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值