游戏之路语言篇之各种运算符--003

小奇:老酷,编个程,还得有最强大脑?还得记住这么多符号的优先级?


游戏之路语言篇之各种运算符--003_第1张图片
运算符优先级

老酷:开什么玩笑?这些优先级你不想记么?(停顿)不记你还真的可以写好程序!!!(老酷调侃说)
小奇:真的?(两眼放光)快点说说!
老酷:那你有没有注意到谁的优先级最高呢?
小奇:小括号呀!
老酷:那你在你写代码的时候不确定优先级的时候就用小括号。记住优先级对于简单的式子是有用的,但是并不是所有人都熟悉优先级。加小括号能够使代码可读性增加,对于复杂的式子效果更好。
小奇:看来小学的数学四则运算很重要,小括号要优先!不过还是有很多特殊的运算符。昨天的'+'算一个特殊的。在字符串之间使用的时候,是连字符。在数字之间是加号,'-'和'*'的使用到时没有什么特殊的。但是在我使用'/'的时候就发生问题了。你看

        static void Main(string[] args)
        {
            int num1 = 10;
            int num2 = 3;
            Console.WriteLine(num1/num2);
        }

运算结果是:


游戏之路语言篇之各种运算符--003_第2张图片
运算结果

不该是3.3333333么?
老酷:在对整数和整数之间的除法时,这里是表示的是整除,就是得到的是商。如果是真的做除法,需要小数结果可以将被除数或者除数乘以一个浮点数1.0或1.0f

        static void Main(string[] args)
        {
            int num1 = 10;
            int num2 = 3;
            Console.WriteLine(num1 * 1.0f/num2);
        }

运行结果是:


游戏之路语言篇之各种运算符--003_第3张图片
运行结果

小奇:那计算余数怎么办?
老酷:使用'%'

        static void Main(string[] args)
        {
            int num1 = 10;
            int num2 = 3;
            Console.WriteLine(num1 %num2);
        }

运行结果:


游戏之路语言篇之各种运算符--003_第4张图片
运行结果

小奇:恩,不过整体下来我发下一个规律,程序员是会偷懒的。
老酷:此话怎么说?
小奇:像+=、-=、*=、/= 操作都是简写

        static void Main(string[] args)
        {
            int num1 = 10;
            int num2 = 3;

            num2 += num1;//是  num2 = num2 + num1;  的简写
            Console.WriteLine(num2);

            int num3 = 10;
            int num4 = 3;
            num4 -= num3;//是  num4 = num4 + num3;  的简写
            Console.WriteLine(num4);

            int num5 = 10;
            int num6 = 3;
            num6 *= num5;//是  num6 = num6 + num5;  的简写
            Console.WriteLine(num6);

            int num7 = 10;
            int num8 = 3;
            num8 /= num7;//是  num8 = num8 / num7;  的简写
            Console.WriteLine(num8);
        }

运行结果:


游戏之路语言篇之各种运算符--003_第5张图片
运行结果

对了,还有类似于++,和--操作也是简写
老酷:是的,但是++和--和上面的还是有点不同的
++ 是自加1 --是自检1 类似于 i = i-1;

        static void Main(string[] args)
        {
            int num1 = 10;
            Console.WriteLine(num1++);
            int num2 = 10;
            Console.WriteLine(++num2);
        }

运行结果:


游戏之路语言篇之各种运算符--003_第6张图片
运行结果

第一个是先使用值 输出后,在对变量+1
第二个是先对变量+1 后再使用值
小奇:恩。还是理解的不够扎实。老酷老酷了!!!
老酷:在关系运算符中也有一些坑。其实不是坑,而是不能用数学中的思维去理解的关系运算符!

游戏之路语言篇之各种运算符--003_第7张图片
关系运算符
        static void Main(string[] args)
        {
            Console.WriteLine("6 <= 8:{0}",6 <=8);
            Console.WriteLine("8 >= 8:{0}", 8 >=8);
            Console.WriteLine("8 >= 9:{0}", 8 >=9);
        }

运行结果:


游戏之路语言篇之各种运算符--003_第8张图片
关系运算符

在使用大于号和小于号的时候我们不用使用数学中的≥和≤ ,在程序中不支持,其他的你自行测试。
小奇:恩。
老酷:接下来我给你说一下逻辑运算符,给你将三个&&,||和!
&&就是并且的意思 所有条件满足则为真 否则为假
|| 就是或的意思 只要有一个条件满足则为真 否则为假
!是取反的意思 真取反为假,假取反为真
例如:

        static void Main(string[] args)
        {
            int num1 = 10;
            int num2 = 20;
            //两个条件有都为真则为true
            Console.WriteLine(num1>8 && num2<30);
            //有一个条件为假则为false
            Console.WriteLine(num1 > 15 && num2 < 30);
            //两个条件有一个为真 则为true
            Console.WriteLine(num1<10 || num2>10);
            //两个条件都不满足  为false
            Console.WriteLine(num1 < 10 || num2 > 25);
            //num1<8为 false  取反为true
            Console.WriteLine( !(num1<8) );
        }
游戏之路语言篇之各种运算符--003_第9张图片
图片.png

小奇:我感觉这些东西越来越只能了。我是不是马上就可以让计算机帮我去处理一些简单判断了。
老酷:明天就可以。
小奇:让我在看看这些内容。期待明天的内容。

你可能感兴趣的:(游戏之路语言篇之各种运算符--003)