C#基础系列问题一break、continue、return、goto语句
一。break
1. break语句形式: break;
2. break语句功能:
A. 在switch语句中,break是其语法本省的一部分,break语句会终止其后语句的执行,退出switch语句。
B. 使一个循环立即结束,也就是说在循环中遇到break语句时,循环立即终止,程序转到当前循环体后的第一个语句去继续执行。
3. 注意:
A. break语句在循环中使用时,一般总是与if一起使用,当条件满足(或不满足)时,负责退出循环。
B. 如果循环体中使用switch语句,而break出现在switch语句中,则它只用于结束switch,而不影响循环。
C. break语句只能结束包含它的最内层循环,而不能跳了多重循环。
4. 例: break语句的执行只能从while循环中退出,继续执行for循环的其它语句
而不是退出外层循环。
for( )
{
…
while ( )
{
if( )
{
break ;
}
}
…
}
二。continue
1.continue语句形式: continue;
2.continue语句功能: 它只能出现在循环体中,其功能是立即结束本次循环,即遇到continue语句时,不执行循环体中continue后的语句,立即转去判断循环条件是否成 立,即中止当次循环进入下一次循环。
3.Continue与break语句的区别: continue只是结束本次循环,而不是终止整个循环语句的执行,break则是终止当前整个循环语句的执行,转到当前循环语句后的下一条语句去执行。
程序表达式及流程图如下:
(1.) while(表达式1) (2.) while(表达式1)
{ {
…… ……
If(表达式2) break; if(表达式2) continue;
…… ……
} }
三.goto
1.goto语句形式:goto语句是无条件转向语句,其一般形式为:goto 语句标号;
2.功能:goto语句往往用来从多重循环中跳出。它在解决一些特定问题时很方便,但由于goto语句难于控制,尽量少用。
3.例:
当程序执行到goto语句时它会跳转到goto语句指向的语句标号开始执行
IN:
For()
{
……
Goto IN;
}
四.Return
1.return语句形式: return (返回值);
2.功能:return可以返回一个函数的值,并且跳出结束这个函数;
只要遇到return语句,程序就在那一行代码停止执行,执行控制将立刻返 回到调用该程序的代码处。
对于返回值类型为void的程序,return关键字单独作为完整的语句使用:return;
实例:
1)当return一个string类型时:以把一个字符串转换为小写为例
//把一个字符串转换为小写并返回,功能同string.ToLower
public static string ToLower(string str)
{
char[] array = new char[str.Length]; //定义一个字符数组,长度刚好等于给定的字符串的长度
int diff = 'a' - 'A'; //计算差值,ASCII码值是A<a(固定的,不用知道这个差值多少)
//使用一个循环读取给定的字符串,每次读取一个字符
for (int i = 0; i < str.Length; i++)
{
char ch = str[i]; //把当前循环读取的字符赋值个ch
char newch = '\0';
//判断这个字符是否是大写
if (char.IsUpper(ch))
{
newch = (char)(ch + diff); //转换为小写
}
//如果这个字符为小写,不转换
else
{
newch = ch;
}
array[i] = newch; //把转换后的字符放回字符串该循环位置
}
return new string(array);
}
2)当return一个数组时:以返回一个int类型数组为例
注意:return一个数组时,在使用的这个方法的时候,要在使用时声明一个同类型的数组用于接受方法返回的数组
public class Contains
{
// 按顺序输出小于给定数字的所有带7的数字及7的倍数
public static int[] Contains7(int number)
{
int n = 0; //用于记录计算出来的符合要求的结果数目
for (int i = 1; i <= number; i++)
{
//判断是否为7的倍数
if (i % 7 == 0)
{
n++;
continue;
}
string str = i.ToString();
if (str.Contains('7'))
{
n++;
}
}
int[] arry = new int[n];//声明一个整形数组存放结果,长度刚好等于符合要求的个数
int index = 0;
//List<int> arry = new List<int>();
for (int j = 1; j <= number; j++)
{
//判断是否为7的倍数
if (j % 7 == 0)
{
arry[index++] = j;
continue;
}
string str = j.ToString();
if (str.Contains('7'))
{
arry[index++] = j;
}
}
return arry;
}
public static void Main(string[] args)
{
Console.WriteLine("请输入一个数:");
int count = Convert.ToInt32(Console.ReadLine());
//声明一个整形数组用于接收(静态类)
int[] arry = Contains.Contains7(count);
//循环输出结果
for (int i = 0; i < arry.Length; i++)
{
Console.Write("{0}\0", arry[i]);
}
Console.Read();
}
}
转载于:https://www.cnblogs.com/feiyangqingyun/archive/2011/03/07/1973402.html
C#基础系列问题一break、continue、return、goto语句相关推荐
- C#中break,continue,return,,goto,throw的区别(转)
break 语句用于终止最近的封闭循环或它所在的switch 语句. 控制传递给终止语句后面的语句(如果有的话). /// <summary>/// break 示例/// 在此例中,条件 ...
- 详解C#break ,continue, return
C#编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢?我们在使用这三关键字的时候需要注意和需要理解的规则是什么呢?让我 ...
- JavaScript 中,break , continue , return 的区别
break , continue , return 的区别 break :结束当前的循环体(如 for.while) continue :跳出本次循环,继续执行下次循环(如 for.while) re ...
- 6.4_[Java 数组]-详解 break/continue 跳转语句
################################################## 目录 详解 break/continue 跳转语句 b/c 跳转语句对二重循环的影响 break ...
- java 理解break,continue,return
这是第一次写博客,今天在工作中遇到有关break,return,continue.记录一下我的理解. break: break常用于for循环中判断语句中和switch语句,break只能跳出一层fo ...
- js 中的break continue return
break:跳出整个循环 1.当i=6时,就跳出了整个循环,此for循环就不继续了: continue:跳出当前循环,继续下一次循环: return :指定函数返回值 1.在js当中,常使用retur ...
- Java中 break continue return 的区别
1.break break :跳出当前循环:但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环: for (int i = 0; i < 10; i++) { i ...
- Java中 break continue return 的用法以及区别
1.return (1)return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行. (2)return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致 ...
- Break Continue Return( BCR ) 三者的区别
Break是完全结束一个循环,当该循环中出现break,则该循环终止,然后执行该循环之后的代码. package com.etime;public class BCR {public static v ...
最新文章
- 利用最小二乘法求解仿射变换参数
- mysql 故障处理_MySQL日志故障的处理和分析
- springboot启动报错:Unregistering JMX-exposed beans on shutdown
- CSU 1120 病毒
- WinCE中的Debug Zone调试
- 解决 python中 使用tesserocr,File tesserocr.pyx, line 2401, in tesserocr._tesserocr.image_to_text 报错问题...
- 使用负载均衡SLB时为何出现请求分布不均衡的现象
- hadoop安装报错
- R语言ETL工程:连接(join)
- 【预测模型】基于matlab GUI AR模型线性预测【含Matlab源码 942期】
- highchart 曲线图
- 极智开发 | Go 安装教程
- sata接口 图解 定义_【sata硬盘三个接口】sata硬盘接口图解_sata硬盘接口电路
- Tensorflow之搭建神经网络八股
- 汉子转五笔SQL脚本函数
- 前端下载svg格式图片
- C++实现X11桌面录屏为H264文件
- BASE32编码 --记录
- java实现咖啡店模拟_Java咖啡厅系统
- Spring Boot 集成 Swagger2,构建强大的 API 文档
热门文章
- jieba之segment
- Python 之 Numpy (一)属性
- 谷歌的深度学习在AI芯片中找到了一条关键路径
- 中国AI芯片产业发展白皮书:未来三年年均增长率超50%
- 10年内,19个关键技术将改变世界
- 为何协作机器人能够兴起?“协作机器人-激烈的市场谁能杀出重围”
- 美国韩国科学家纷纷开发出电子机器人“皮肤”,据称具有比人类更好的触觉...
- 展望:模型驱动的深度学习
- 苹果员工“神操作”:自建网站揭露公司性骚扰和歧视事件
- 学习如何写 Bug 的一天! | 每日趣闻