Skip to content
On this page

算术运算符

加减乘除运算

  • 加:+ 。 加号有 2 个用途:

    • 当用加号连接两个数字时,会计算出这两个数字的和。Console.WriteLine(9+2.2); // 输出11.2
    • 另一种情况,当加号两边包含字符串的时候,会把两边的表达式连接成新的字符串。Console.WriteLine(9+"2.2"); // 输出92.2,因为"2.2"是字符串,所以9也被转换为"9",+起的作用是连接字符串
  • 减:- 。减号的作用就是减法。 Console.WriteLine(15-23); //输出-8

  • 乘:* 。乘号的作用是求 2 数的乘积。Console.WriteLine(0.8*3); //输出2.4

  • 除:/ 。除号的作用是求 2 数相除的商。 Console.WriteLine(2/0.5); //输出4.0

注意

2 个整数相除,结果仅保留整数部分,小数部分会被舍去。

Console.WriteLine(5/10); // 输出0

csharp
using System;
using System.Collections.Generic;
using System.Text;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        { 
            double salary = 6000.00; // 基本工资
            double prize = 3200.00; // 奖金
            double tax = 4500.00; // 交税
            Console.Write("我的工资奖金总额是{0}元",salary + prize);
            Console.WriteLine("我的税后收入是{0}元",salary + prize - tax);
        }
    }
}

取余运算

C# 中的取余运算符就是 %

  • 除法运算符 / 的作用是求两个数字相除的
  • 而取余运算符 % 的作用是求两个数字相除的余数
csharp
Console.WriteLine(19/5); //求 19 除以 5 的商,输出 3
Console.WriteLine(19%5); //求 19 除以 5 的余数,输出 4(商 3 余 4)

编程中,% 常常用来检查一个数字是否能被另一个数字整除。

  • 如果输出 0,表示没有余数,即 number 能够被 2 整除(是偶数);
  • 如果输出 1,表示有余数,即 number 不能被 2 整除(是奇数)。
csharp
int number = 29;
Console.WriteLine(number%2); //求 number 除以 2 的余数
csharp
using System;
using System.Collections.Generic;
using System.Text;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        { 
            int year = 2015; //年份
            Console.WriteLine(year % 4); //求年份除以 4 的余数
        }
    }
}

自加自减运算

  • ++,叫做自加运算符。比如你今年 18 岁,明年长了一岁,用代码写出来是这样:

    csharp
    int age = 18; //今年 18 岁
    age = age + 1; //明年,在今年的年龄上加 1 岁

    也可以写成这样:

    csharp
    int age = 18; //今年 18 岁
    age ++; //明年,在今年的年龄上加 1 岁

    age ++;age = age + 1;作用相同,都是变量的值 +1

  • --,叫做自减运算符。同理,你今年 18 岁,用了 XX 护肤水以后,明年变成 17 岁了,可以这样写:

    csharp
    int age = 18; //今年 18 岁
    age --; //等同于 age = age - 1;

    另外,age ++;age --; 也可以写作 ++ age;-- age;

注意

如果与其他运算在同一语句中,++ 写在变量前面或后面,算法不一样。

csharp
Console.WriteLine(age); //先打印
age = age + 1; //后自加
csharp
age = age + 1; //先自加
Console.WriteLine(age); //后打印

运算顺序不一样,所以输出的结果也不会相同。

csharp
using System;
using System.Collections.Generic;
using System.Text;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        { 
            int x = 5;
            int y = 5;
            int z = 5;
            x++;
            Console.Write(x);
            Console.Write(++y); // Console.Write(y + 1);
            Console.Write(++z);
        }
    }
}