java &&和||代表什么意思

String link_mobile="12345678";
int i=link_mobile.trim().length();
if(i!=8||i!=11){
System.out.print(link_mobile.length());
System.out.print("手机号应为8位数或者11位数");
}
既然会输出手机号应为8位数或者11位数
||不是或者的意思 &&这个不是并且的意思,糊涂了,高人指点

||是逻辑或,表示多个条件只要满足其中一个就行了;&&是逻辑与,必须满足所有条件才行;
你这里应该用&&,即:if(i!=8 && i!=11) 。表示手机号如果既不是8位数又不是11位数的话就是不对的。你这里用||的话,无论手机号长度是多少,这2个条件必定会满足其中一个。例如你这例子里,长度为8的时候,就会满足后面 i!=11 这个条件,所以if得到的结果为真,就会打印出后面的语句了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-30
这上IF最好分开写,你这样写有问题的,输入什么都会执行里面的语句的
String link_mobile="12345678";
int i=link_mobile.trim().length();
if(i!=8){
if(i!=11){
System.out.print(link_mobile.length());
System.out.print("手机号应为8位数或者11位数");
return ;
}
}
这样应该就行了
第2个回答  2012-05-30
|| 就是或者的意思。 不等于8 或者 不等于 11 ,这不是所有的整数都包含了吗?
应该是 不等于8且不等于11本回答被提问者采纳
第3个回答  2012-05-30
&&是和的意思(表示两个需要同时满足条件) ||是或者的意思 (两种只要有一个符合就OK了)
第4个回答  2012-05-30
|| 或者 表示前后的条件满足一个即可
&& 并且 表示前后的条件都要满足
你的判断语句应该选择第二个 i的长度既不为8也不为11
相似回答