【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月前
|
C# Windows
C#通过代码实现快捷键编辑
C#通过代码实现快捷键编辑
|
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#开发者带来的便利。
|
3天前
|
图形学 C++
【Unity Shader入坑篇---有ASE创建Unity Shader,那么Unity Shader代码的相关知识还有必要学或了解吗?】
【Unity Shader入坑篇---有ASE创建Unity Shader,那么Unity Shader代码的相关知识还有必要学或了解吗?】
|
1月前
|
C# 数据安全/隐私保护
C#运算符
C#运算符
9 0
|
2月前
|
数据采集 JSON 前端开发
从代码到内容:使用C#和Fizzler探索Instagram的深处
Instagram是一个流行的社交媒体平台,拥有数亿的用户和海量的图片和视频内容。如果您想要从Instagram上获取一些有用的信息或数据,您可能需要使用爬虫技术来自动化地抓取和分析网页内容。本文将介绍如何使用C#和Fizzler这两个强大的工具,来实现一个简单而高效的Instagram爬虫,从代码到内容,探索Instagram的深处。
|
3月前
|
存储 传感器 监控
工业相机如何实现实时和本地Raw格式图像和Bitmap格式图像的保存和相互转换(C#代码,UI界面版)
工业相机如何实现实时和本地Raw格式图像和Bitmap格式图像的保存和相互转换(C#代码,UI界面版)
29 0
|
3月前
|
定位技术 C# 图形学
Unity和C#游戏编程入门:创建迷宫小球游戏示例
Unity和C#游戏编程入门:创建迷宫小球游戏示例
71 2
|
3月前
|
C#
C# 运算符详解:包含算术、赋值、比较、逻辑运算符及 Math 类应用
运算符用于对变量和值执行操作。在C#中,有多种运算符可用,包括算术运算符、关系运算符、逻辑运算符等。
48 1
|
3月前
|
存储 C#
C#入门开发(Hello World,运算符)
C#入门开发(Hello World,运算符)
27 0