当前位置: 技术问答>java相关
请问java的switch语句有的用法,我真不明白
来源: 互联网 发布时间:2015-05-20
本文导语: 其中iMonth为int型,我难道不能把多种情况放在一起吗???提示要在1及4 后加上:还有,如何求模,不是mod 吗,我是新手 int iDays; switch(iMonth) { case 1,3,5,7,8,10,12: iDays=31; break; case 4,6,9,11: iDays=30; break; case 2:...
其中iMonth为int型,我难道不能把多种情况放在一起吗???提示要在1及4 后加上:还有,如何求模,不是mod 吗,我是新手
int iDays;
switch(iMonth)
{
case 1,3,5,7,8,10,12:
iDays=31;
break;
case 4,6,9,11:
iDays=30;
break;
case 2:
if(((iYear mod 4)==0)&&(((iYear mod 100)!=0)||(((iYear mod 400)==0)))
{
iDays=28;
}
else
{
iDays=29;
}
break;
default:
break;
}
int iDays;
switch(iMonth)
{
case 1,3,5,7,8,10,12:
iDays=31;
break;
case 4,6,9,11:
iDays=30;
break;
case 2:
if(((iYear mod 4)==0)&&(((iYear mod 100)!=0)||(((iYear mod 400)==0)))
{
iDays=28;
}
else
{
iDays=29;
}
break;
default:
break;
}
|
不要break,不是mod,是%
int iDays;
switch(iMonth)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
iDays=31;
break;
case 4,6,9,11:
iDays=30;
break;
case 2:
if(((iYear % 4)==0)&&(((iYear % 100)!=0)||(((iYear mod 400)==0)))
{
iDays=28;
}
else
{
iDays=29;
}
break;
default:
break;
}
int iDays;
switch(iMonth)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
iDays=31;
break;
case 4,6,9,11:
iDays=30;
break;
case 2:
if(((iYear % 4)==0)&&(((iYear % 100)!=0)||(((iYear mod 400)==0)))
{
iDays=28;
}
else
{
iDays=29;
}
break;
default:
break;
}
|
求模是%,可以对非整数求模的。
你以前是pascal程序员吧?呵呵偶也是
改成:case 1:
3:
5:
7:
8:
10:
12:iDays=31;
break;
明白了吗?其他的一样
因为执行时候没有遇到break就一直执行下去而不会停,所以这样就是1、3、5、7、8、10、12都执行一样的语句了
你以前是pascal程序员吧?呵呵偶也是
改成:case 1:
3:
5:
7:
8:
10:
12:iDays=31;
break;
明白了吗?其他的一样
因为执行时候没有遇到break就一直执行下去而不会停,所以这样就是1、3、5、7、8、10、12都执行一样的语句了
|
case 1,3,5,7,8,10,12:这个要分开一个一个用吧!
case 1:{}
case 3:{}
……
case 1:{}
case 3:{}
……