一运算符

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。 C# 有丰富的内置运算符,分类如下:
1. 算术运算符
下表显示了 C# 支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:

运算符 描述 实例
+ 把两个操作数相加 A + B 将得到 30
- 从第一个操作数中减去第二个操作数 A - B 将得到 -10
* 把两个操作数相乘 A * B 将得到 200
/ 分子除以分母 B / A 将得到 2
% 取模运算符,整除后的余数 B % A 将得到 0
++ 自增运算符,整数值增加 1 A++ 将得到 11
- - 自减运算符,整数值减少 1 A-- 将得到 9

注:a++ 先赋值后运算;++a先运算后赋值;a- -先赋值后运算;- -a先运算后赋值;
计算机进行运算是按照补码进行运算的
面试案例:
int i=2147483647 i 的补码是:0111 1111 1111 1111 1111 1111 1111 1111
i 的补码+1 是:1000 0000 0000 0000 0000 0000 0000 0000
所以 i+1 得到的结果是-2147483648
2. 关系运算符
下表显示了 C# 支持的所有关系运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:

运算符 描述 实例
== 检查两个操作数的值是否相等,如果相等则条件为真。 (A == B) 不为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为 真。 (A != B) 为真。
> 检查左操作数的值是否大于右操作数的值,如果是则条 件为真。 (A > B) 不为真。
< 检查左操作数的值是否小于右操作数的值,如果是则条 件为真。 (A < B) 为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果 是则条件为真。 (A >= B) 不为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果 是则条件为真。 (A <= B) 为真。

3. 逻辑运算符
下表显示了 C# 支持的所有逻辑运算符。假设变量 A 为布尔值 true,变量 B 为布尔值 false,则:

运算符 描述 实例
&& 称为逻辑与运算符。如果两个操作数都非零,则条件为 真。 (A && B) 为假。
¦¦ 称为逻辑或运算符。如果两个操作数中有任意一个非 零,则条件为真。 (A ¦¦B) 为真.
! 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果 条件为真则逻辑非运算符将使其为假。 !(A && B) 为真。

4.赋值运算符
下表列出了 C# 支持的赋值运算符:

运算符 描述 实例
= 简单的赋值运算符,把右边操作数的值赋 给左边操作数 C = A + B 将把 A + B 的值 赋给 C
+= 加且赋值运算符,把右边操作数加上左边 操作数的结果赋值给左边操作数 C += A 相当于 C = C + A
-= 减且赋值运算符,把左边操作数减去右边 操作数的结果赋值给左边操作数 C -= A 相当于 C = C - A
*= 乘且赋值运算符,把右边操作数乘以左边 操作数的结果赋值给左边操作数 C *= A 相当于 C = C * A
/= 除且赋值运算符,把左边操作数除以右边 操作数的结果赋值给左边操作数 C /= A 相当于 C = C / A
%= 求模且赋值运算符,求两个操作数的模赋 值给左边操作数 C %= A 相当于 C = C % A
<<= 左移且赋值运算符 C <<= 2 等同于 C = C << 2
>>= 右移且赋值运算符 C >>= 2 等同于 C = C >> 2
&= 按位与且赋值运算符 C &= 2 等同于 C = C & 2
^= 按位异或且赋值运算符 C ^= 2 等同于 C = C ^ 2
¦= 按位或且赋值运算符 C = 2 等同于 C = C

二.实例

1.运算符简单计算判断
在这里插入图片描述
代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace _01运算符练习
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            int i = int.Parse(textBox1.Text);
            int k = i++;
            label3.Text = k.ToString();
            label4.Text = i.ToString();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            int i = int.Parse(textBox1.Text);
            int j = ++i;
            label5.Text = j.ToString();
            label6.Text = i.ToString();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            int i = int.Parse(textBox1.Text);
            int f = int.Parse(textBox2.Text);
            bool b = (i == f);
            label7.Text = Convert.ToInt32(b).ToString();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            int i = int.Parse(textBox1.Text);
            int f = int.Parse(textBox2.Text);
            bool d = (i != f);
            label8.Text = Convert.ToInt32(d).ToString();
        }
    }
}
posted on 2018-12-30 11:14  豆皮没有豆  阅读(336)  评论(0)    收藏  举报