【Unity 3D】C#控制语句break、continue及算数运算符和逻辑运算符的讲解(附测试代码)

简介: 【Unity 3D】C#控制语句break、continue及算数运算符和逻辑运算符的讲解(附测试代码)

控制语句

break语句

1:当break语句出现在一个循环内时,循环会立即终止,且程序流将继续执行下一条语句,它可用于终于switch语句中的一个条case语句

2:如果使用的是嵌套循环,break语句会停止执行最内层的循环 然后开始执行该代码块后的下一行代码

测试代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_8_9 : MonoBehaviour
{
    void Start()
    {
        /* 局部变量定义 */
        int a = 10;
        /* while 循环执行 */
        while (a < 20)
        {
            Debug.Log("a 的值: :" + a);
            a++;
            if (a > 15)
            {
                /* 使用 break 语句终止 loop */
                break;
            }
        }
    }
}

continue语句

它不会强迫终止,continue语句会跳过当前循环中的代码,强迫开始下一次循环,对于for循环,continue语句会导致程序执行条件测试和循环增量部分,对于while和do while continue会导致程序控制回到条件测试上

测试代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_8_10 : MonoBehaviour
{
    void Start()
    {
        /* 局部变量定义 */
        int a = 10;
        /* do 循环执行 */
        do
        {
            if (a == 12)
            {
                /* 跳过迭代 */
                a = a + 1;
                continue;
            }
            Debug.Log("a 的值: :" + a);
            a++;
        } while (a < 15);
    }
}

运算符

算术运算符

++ 自增运算 值增加1

-- 自减运算 值减少1

其他算术符都很常见 不在讲解

测试代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_8_11 : MonoBehaviour
{
    void Start()
    {
        int a = 21;
        int b = 10;
        int c;
        c = a + b;
        Debug.Log("行1  c的值是 " + c);
        c = a - b;
        Debug.Log("行2  c的值是 " + c);
        c = a * b;
        Debug.Log("行3  c的值是 " + c);
        c = a / b;
        Debug.Log("行4  c的值是 " + c);
        c = a % b;
        Debug.Log("行5  c的值是 " + c);
        // ++a 先进行自增运算再赋值
        c = ++a;
        Debug.Log("行6  c的值是 " + c);
        // 此时 a 的值为 22
        // --a 先进行自减运算再赋值
        c = --a;
        Debug.Log("行7  c的值是 " + c);
    }
}

关系运算符

== 判断两个操作数的值是否相等

!=判断两个操作数的值是否不相等

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_8_12 : MonoBehaviour
{
    void Start()
    {
        int a = 21;
        int b = 10;
        if (a == b)
        {
            Debug.Log("行1  a等于 b");
        }
        else
        {
            Debug.Log("行1  a不等于 b");
        }
        if (a < b)
        {
            Debug.Log("行2  a小于 b");
        }
        else
        {
            Debug.Log("行2  a不小于 b");
        }
        if (a > b)
        {
            Debug.Log("行3  a大于 b");
        }
        else
        {
            Debug.Log("行3  a不大于 b");
        }
        /* 改变 a 和 b 的值 */
        a = 5;
        b = 20;
        if (a <= b)
        {
            Debug.Log("行4  a小于或等于 b");
        }
        if (b >= a)
        {
            Debug.Log("行5  b大于或等于 a");
        }
    }
}

逻辑运算符

&& 逻辑与运算

|| 逻辑或运算

! 逻辑非运算

测试代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_8_13 : MonoBehaviour
{
    void Start()
    {
        bool a = true;
        bool b = true;
        if (a && b)
        {
            Debug.Log("行1 - 条件为真");
        }
        if (a || b)
        {
            Debug.Log("行2 - 条件为真");
        }
        /* 改变 a 和 b 的值 */
        a = false;
        b = true;
        if (a && b)
        {
            Debug.Log("行3 - 条件为真");
        }
        else
        {
            Debug.Log("行3 - 条件不为真");
        }
        if (!(a && b))
        {
            Debug.Log("行4 - 条件为真");
        }
    }
}

赋值运算符

比较简单 此处不再赘述 测试代码如下 注释写的很清楚了

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_8_14 : MonoBehaviour
{
    void Start()
    {
        int A = 10;
        int B;
        B = A;
        Debug.Log("行1  =  B的值 = " + B);
        B = 20;
        B += A;//B=B+A;
        Debug.Log("行2  += B的值 = " + B);
        B = 20;
        B -= A;//B=B-A;
        Debug.Log("行3  -=  B的值 = " + B);
        B = 20;
        B *= A;//B=B*A;
        Debug.Log("行4  *=  B的值 = " + B);
        B = 20;
        B /= A;//B=B/A;
        Debug.Log("行5  /=  B的值 = " + B);
        B = 20;
        B %= A;//B=B%A;
        Debug.Log("行6  %=  B的值 = " + B);
        B = 20;
        B <<= 2;//B=B<<2;
        Debug.Log("行7  <<=  B的值 = " + B);
        B = 20;
        B >>= 2;//B=B>>2;
        Debug.Log("行8  >>=  B的值 = " + B);
    }
}

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
1月前
|
Java 关系型数据库 数据库连接
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
28 1
|
1月前
|
C# Windows
C#通过代码实现快捷键编辑
C#通过代码实现快捷键编辑
|
2月前
|
测试技术
包含用例执行时间的测试报告代码
包含用例执行时间的测试报告代码
|
3月前
|
开发框架 .NET 编译器
C# 10.0中Lambda表达式的改进:更简洁、更灵活的代码编写体验
【1月更文挑战第21天】随着C#语言的不断发展,Lambda表达式作为一种简洁、高效的函数式编程工具,在C# 10.0中迎来了重要的改进。本文将详细探讨C# 10.0中Lambda表达式的新特性,包括参数类型的推断增强、自然类型的Lambda参数以及Lambda表达式的属性改进等。这些改进不仅简化了Lambda表达式的编写过程,还提升了代码的可读性和灵活性,为开发者带来了更优质的编程体验。
|
3月前
|
C# 开发者
C# 10.0中的文件范围命名空间:简化代码组织的新方式
【1月更文挑战第18天】C# 10.0引入了文件范围的命名空间,这是一种新的语法糖,用于更简洁地组织和管理代码。文件范围命名空间允许开发者在每个文件的基础上定义命名空间,而无需显式使用花括号包裹整个文件内容。本文将深入探讨文件范围命名空间的工作原理、使用场景以及它们为C#开发者带来的便利。
|
4月前
com串口通信测试代码
com串口通信测试代码
28 0
|
19天前
|
算法 安全 Java
java代码 实现AES_CMAC 算法测试
该代码实现了一个AES-CMAC算法的简单测试,使用Bouncy Castle作为安全提供者。静态变量K定义了固定密钥。`Aes_Cmac`函数接受密钥和消息,返回AES-CMAC生成的MAC值。在`main`方法中,程序对给定的消息进行AES-CMAC加密,然后模拟接收ECU的加密结果并进行比较。如果两者匹配,输出&quot;验证成功&quot;,否则输出&quot;验证失败&quot;。辅助方法包括将字节转为16进制字符串和将16进制字符串转为字节。
|
1月前
|
测试技术 数据库 Python
python测试代码(二)
python测试代码(二)
19 0
|
1月前
|
Java 测试技术
单元测试编写可测试代码
单元测试编写可测试代码
19 2
|
2月前
|
数据采集 JSON 前端开发
从代码到内容:使用C#和Fizzler探索Instagram的深处
Instagram是一个流行的社交媒体平台,拥有数亿的用户和海量的图片和视频内容。如果您想要从Instagram上获取一些有用的信息或数据,您可能需要使用爬虫技术来自动化地抓取和分析网页内容。本文将介绍如何使用C#和Fizzler这两个强大的工具,来实现一个简单而高效的Instagram爬虫,从代码到内容,探索Instagram的深处。