首页 > 其他分享 >语句

语句

时间:2023-02-15 15:44:41浏览次数:25  
标签:语句 begin end break while 循环

(1)while语句和repeat语句

含义:while-do 循环语句和 repeat-until 语句的不同点在于repeat 循环语句的代码至少要执行一次。从下面的简例很容易理解这一点:

while (I <= 100) and (J <= 100) do begin
  // use I and J to compute something...
  I := I + 1;
  J := J + 1;
end;

repeat
  // use I and J to compute something...
  I := I + 1;
  J := J + 1;
until (I > 100) or (J > 100);

​ 从上可见即使 I 或 J 的初始值大于100,repeat-until循环中的代码也仍会执行一次。

(2)with语句

含义:with语句是一种用于简化代码的语句。 如你要访问一个记录类型变量(或一个对象),用with语句就不必每次重复变量的名字。例如:

type
  Date = record
    Year: Integer;
    Month: Byte;
    Day: Byte;
  end;

var
  BirthDay: Date;

begin
  BirthDay.Year := 1997;
  BirthDay.Month := 2;
  BirthDay.Day := 14;
end;

​ 可以用with语句改进后半部分代码,如下:

begin
  with BirthDay do begin
    Year := 1995;
    Month := 2;
    Day := 14;
  end;
end;

​ 在Delphi程序中,这种方法能用于访问控件和类变量。现在通过with语句访问列表框的条目,我们重写上面循环例子的最后部分:

procedure TForm1.WhileButtonClick(Sender: TObject);
var
  I: Integer;
begin
  with ListBox1.Items do begin
    Clear; // shortcut
    Randomize;
    I := 0;
    while I < 1000 do begin
      I := I + Random (100);
      // shortcut:
      Add ('Random Number: ' + IntToStr (I));
    end;
  end;
end;

(3)break语句

含义:强制退出最近的一层循环

(注意:只能放在循环里;而且是只能跳出最近的一层循环),用于从for、while、repeat语句中强制退出类似于C/C++等语言中的break的功能

应用举例-例:循环提取一个字符串,直到接收到想要的字符串结束循环

var s:string;
begin
  while True do begin
    ReadLn(s);
    try
      if s:='' then break;
        WriteLn(s);
  end;
end;

​ break的英文字面意思就是打断,在循环中,用它表示停止本循环。注意,它是停止本循环,比如以下多层循环,如果要打断每一层,在每一层的循环中都要用一个break语句。

while 条件关系 do begin
	while 条件关系 do begin
		while 条件关系 do begin
			ShowMessage('Loop3');
			break;
		end;
		ShowMessage('Loop2');
		break;
	end;
	ShowMessage( 'Loop1');
	break;
end;

​ 所以在应用程序设计中,死机是最大的BUG,要坚决杜绝死机的可多写退出,不要客惜你的代码,多用break,多写退出条件

(4)continue语句

含义:用于从for、while、repeat语句中结束循环内的本次处理,继续从循环体的开始位置继续执行,类似于C/C++等语言中的continue的功能,即该过程使控制流从当前位置跳过后面的语句继续循环。

应用举例-例:i的循环

procedure test();
var
	i,j:Integer;
begin
	i:=0;
	j:=0;
	repeat
		if i>100 then break
		else begin
			inc(i);
			continue;
		end
		inc(j);
	until j>1;
end;

(5)exit语句

含义:用于从当前代码块中退出。若该代码是主程序,则终止该程序。如果是函数或过程,则立即终止该函数或过程

应用举例-例:对数据集进行复制,如果数据集没有打开则退出当前过程或函数。

begin
  if Query1.Active = False then
    Exit;
  if SaveDialog1.Execute then begin
    Table1.TableName:= SaveDialog1.FileName;
    with BatchMovel do begin
      Source:= Query1;
      Destination:= Tablel;
      Mode:= batCopy;
      Execute;
      ShowMessage(IntToStr(MovedCount)+'records copied');
    end;
  end;
end;

标签:语句,begin,end,break,while,循环
From: https://www.cnblogs.com/DQ-MINE/p/17123285.html

相关文章

  • 重学Java-第七章 Java表达式、语句和块
    7.1表达式7.1.1定义 表达式是由数字、运算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合,约束变量是在表达式中已被指定数值,......
  • 重学Java-第九章 Java循环语句
    为什么要使用循环语句,例如要在控制台打印1到5,那么就是System.out.println("1");System.out.println("2");...这样就会存在以下问题:·不灵活:需求变更就需要逐行修改·......
  • 重学Java-第八章 Java条件语句
    8.1if语句8.1.1语法​ 当需要根据给定条件来决定是否执行一段代码时,就需要用到if语句了。if块仅在布尔表达式(if括号内的表达式)为true时执行。if块的结构如下:if(条......
  • 青龙面板调试运行代码时打印语句可能不执行的问题解决
    记录一次用青龙面板调试调用chatGPT的API时发现的一个问题:脚本在调试运行时,有可能会不显示部分打印语句的,例如node.js(python也有这种情况),如下图:关于为什么会出现此问题......
  • 在EF中执行SQL语句
    在EF中执行SQL语句 你可能要问,我用EF不就为了避免写SQL吗?如果要写SQL我不如直接用ADO.NET得了。话虽然这么说没错,可有些时候使用EF操作数据还是有一些不方便,例如让你......
  • 在EF中执行SQL语句新
    在EF中执行SQL语句 一、为什么要在EF中执行SQL语句 使用EF操作数据库,可以避免写SQL语句,完成使用Linq实现,但为什么还要在EF中执行SQL语句呢。如果要写SQL语句,完全可......
  • mysql交互式外部执行sql语句
    之前一直纠结mysql如何编写交互式脚本,像Oracle那样进行交互式输出,通过Oracle的方式交互式输出在mysql中格式是乱的,最后在网上发现了mysql原来有一个-e选项编写相关脚本如......
  • Linux系统Shell脚本:条件测试、正整数字符串比较与if、case语句
    一、条件测试1、三种测试方法①test命令测试②[]测试(注意前后需要有空格)③[[]]加强版[],测试支持通配符和正则表达式三种测试方法选项:-d测试是否为文件夹-f测试是......
  • sql的常用语句
    增加表中数据:insertinto表名(列名1,列名2,...,列名n)values(值1,值2,...,值n);//按列名插入全部数据insertinto表名values(值1,值2,...,值n);//按列名顺序插入数据......
  • Mybatis07 - SQL语句的返回结果
    数据输出数据输出总体上有两种形式:增删改操作返回的受影响行数:直接使用int或long类型接收即可查询操作的查询结果1、返回单个简单类型数据①Mapper接口中的抽象......