goto语句switch语句
goto语句
#include <iostream>
using namespace std;
int main()switch语句必须使用break吗
{
int i = 1;
number:
i++;
std::cout<<"*";
if(i<10)
{
goto number;
}
std::cout<<"\n 程序结束"<<endl;
return 0;
}
输出:
*********
程序结束
⼀般不⽤goto语句,调试困难!因为编译器难以报错!
switch 语句
switch(表达式)
{ case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
1.default就是如果没有符合的case就执⾏它,default并不是必须的.
2.case后的语句可以不⽤⼤括号. case 后⾯必须是常量表达式constant expressions, 错误表⽰如: case x .
3.switch语句的判断条件可以接受int,byte,char,short, enum不能接受其他类型.
4.⼀旦case匹配,就会顺序执⾏后⾯的程序代码,⽽不管后⾯的case是否匹配,直到遇见break,利⽤这⼀特性可以让好⼏个case执⾏统⼀语句.原理归原理,下⾯是⼏个容易混淆的例⼦.
程序1:
public static void main(String[] args)
{
int i=5;
switch(i)
{
case 1:
System.out.println("one");
case 10:
System.out.println("ten");
case 5:
System.out.println("five");
case 3:
System.out.println("three");
default:
System.out.println("other");
}
}
}
输出:
five
three
other
没有遇到break,往下执⾏!!break可以使本次循环直接结束,continue使循环⼜⼀次重新开始!程序2:
int i=3;
switch(i)
{
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
default:
System.out.println("default");
break;
}
输出:3
下⾯是⼀个输出菜单程序:
#include <iostream>
using namespace std;
int main()
{
bool flag = false;
while(1)
{
char choice;
cout<<"0/1/2/3/4/5/6/7/8/9/q(QUIT)";
cin>>choice;
switch(choice)
{
case '1':cout<<"您输⼊的是⼀ \n";
break;
case '2':cout<<"您输⼊的是⼆ \n";
break;
case '3':cout<<"您输⼊的是三 \n";
break;
case '4':cout<<"您输⼊的是四 \n";
break;
case '5':cout<<"您输⼊的是五 \n";
break;
case '6':cout<<"您输⼊的是六 \n";
break;
case '7':cout<<"您输⼊的是七 \n";
break;
case '8':cout<<"您输⼊的是⼋ \n";
break;
case '9':cout<<"您输⼊的是九 \n";
break;
case 'q':
cout<<"程序结束!! \n"; //当输⼊q的时候,把flag赋值为rure
flag = true;
break;
default:cout<<"您输⼊的不是0到9之间的有效数字,请重新输⼊:"; }
if (flag == true)
{
break;
}
}
return 0;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论