当前位置: 首页 > news >正文

Vala编程语言教程-控制结构

控制结构

while (a > b) { a--; }

会重复递减a,每次迭代前检查a是否大于b。

do { a--; } while (a > b);

会重复递减a,每次迭代后检查a是否大于b。

for (int a = 0; a < 10; a++) { stdout.printf("%d\n", a); }

会先将a初始化为0,然后重复打印a直到a不小于10,每次迭代后递增a。

foreach (int a in int_array) { stdout.printf("%d\n", a); }

会逐个打印数组或其他可迭代集合中的整数。"可迭代"的含义将在后文说明。

        上述四种循环均可通过break和continue关键字控制。break指令会立即终止循环,continue会直接跳转到迭代的测试部分。

if (a > 0) { 
    stdout.printf("a大于0\n"); 
}else if (a < 0) { 
    stdout.printf("a小于0\n"); 
}else {
    stdout.printf("a等于0\n"); 
}


        根据条件执行特定代码块。第一个匹配的条件决定执行哪个代码块,如果a大于0则不会测试是否小于0。允许使用任意数量的else if块,以及零个或一个else块。

switch (a) {
    case 1:
        stdout.printf("一\n");
        break;
    case 2:
    case 3:
        stdout.printf("二或三\n");
    break;
    default:
        stdout.printf("未知\n");
    break;
}


        switch语句根据传入的值精确执行零个或一个代码段。在Vala中case之间不会穿透(空case除外)。为确保这一点,每个非空case必须以break、return或throw语句结尾。switch语句支持字符串类型。

        给C程序员的提示:条件表达式必须始终返回布尔值。若需要检查变量是否为null或0,必须显式声明:if (object != null) { } 或 if (number != 0) { }。

 

相关文章:

  • L2TP实验
  • Vue.js 的计算属性和侦听器:提升数据处理与交互的关键工具
  • SpringBoot | 解决 Feign 客户端方法参数过多的问题:Method has too many Body parameters
  • 能“嘎嘎提升”提升用户居住体验的智能家居物联网框架推荐!
  • 响应式数据 和 Pinia 状态
  • 星型拓扑网络原理、图传模块架构与路由NAT需求探讨
  • C语言的setjmp和longjmp:可以作异常处理
  • 《算法笔记》9.3小节——数据结构专题(2)->树的遍历 问题 B: 树的高度
  • VSCode创建VUE项目(四)增加用户Session管理
  • 常⻅CMS漏洞之一:WordPress
  • 【C++】priority_queue的使用及模拟实现(含仿函数介绍)
  • v-form标签里的:rules有什么作用。如何定义。
  • Microsoft Edge浏览器的取证分析(基于Chromium)
  • CSGHub开源版本v1.5.0更新
  • Vulnhub靶场matrix-breakout-2-morpheus攻略
  • 在springboot3.x中使用Ehcache3.x
  • 网络编程之客户端通过服务器与另外一个客户端交流
  • oracle删除表中重复数据
  • 正则表达式与拓展正则简单理解
  • LeetCode[93] 复原 IP 地址
  • 无锡集团网站建设/营销型网站建设怎么做
  • 哪里有网站制作设计/图片百度搜索
  • 网站的推广有哪些方式/seo搜索引擎优化到底是什么
  • 怎么授权小说做游戏网站/建站模板哪个好
  • theme wordpress/宁波seo咨询
  • 常用的设计网站/手机百度网页版入口