3.运算符【0基础入门】

简介: 3.运算符【0基础入门】

一、Convert类型转换

如果相兼容的两个变量,可以使用自动类型转换或者强制类型转换,但是,如果两个类型的变量不兼容,比如 string与int或者string 与double,这个时候我们可以使用一个叫做Convert的转换工厂进行转换。

      //显示类型转换(int->double)、强制类型转换(double->int)
            string s = "123";
            //将字符串转换成int或者double类型
            int a = Convert.ToInt32(s);
            double b=Convert.ToDouble(s);
            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.ReadKey();

注意:

使用Convert进行类型转换,也需要满足一个条件:面儿上必须要过的去。

      //这种情况就无法转换
      string s = "123abc";
            int a = Convert.ToInt32(s);
            double b=Convert.ToDouble(s);

还有两种类型转换见:2.C#基础 十五、类型转换

/*题目1:让用户输入姓名 语文 数学 英语 三门课的成绩,然后给用户显示:XX,你的总成绩为XX分,平均成绩为XX分。*/
            Console.WriteLine("请输入你的姓名:");
            string  name = Console.ReadLine();
            Console.WriteLine("请输入你的语文成绩:");
            double Chinese = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("请输入你的数学成绩:");
            double Math = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("请输入你的英语成绩:");
            double English = Convert.ToDouble(Console.ReadLine());
            double Sum = Chinese + Math + English;
            double Avg = Sum / 3;
            Console.WriteLine("{0},你的总成绩为{1}分,平均成绩为{2:0.00}分。", name, Sum, Avg);//平均成绩保留两位小数
            Console.ReadKey();
/*题目2:让用户输入一串数字,打印出的数字是输入数字的倍*/
      //提示用户输入一个数字,接受并且向控制台打印用户输入的这个数字的2倍
            Console.WriteLine("请输入一个数字:");
            //string StrNum = Console.ReadLine();
            //将用户输入的字符串转换为int或者double类型
            //double num= Convert.ToDouble(StrNum);
            double num = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("该数字的2倍是:");
            Console.WriteLine(num*2);
            Console.ReadKey();

二、算数运算符

++ - -
分为前++和后++,不管是前++还是后++,最终的结果都是给这个变量加一。 与++相反
      int num = 10;
            //num++为11,++num为11
            //num++;
            //++num;
            //num--为9,--num为9
            //num--;
            --num;
            Console.WriteLine(num);
            Console.ReadKey();

区别表现表达式当中,如果是前++,则先给这个变量自身加一,然后带着这个加一后的值去参与运算。 如果是后++,则先拿原值参与运算,运算完成后,再讲这个变量自身加一。

下面用4个案例来解释:

      int num = 10;
            int result = 10 + ++num;
            //num为11
            Console.WriteLine(num);
            //result为21
            Console.WriteLine(result);
            Console.ReadKey();
      int num = 10;
            int result = 10 + num++;
            //num为11
            Console.WriteLine(num);
            //result为20
            Console.WriteLine(result);
            Console.ReadKey();
      int num = 10;
            int result = 10 + num--;
            //num为9
            Console.WriteLine(num);
            //result为20
            Console.WriteLine(result); 
            Console.ReadKey();
      int num = 10;
            int result = 10 + --num;
            //num为9
            Console.WriteLine(num);
            //result为19
            Console.WriteLine(result); 
            Console.ReadKey();

三、一元运算符和二元运算符

一元运算符:

对于向加加或者减减这样只需要一个操作数就能完成的运算。

二元运算符:

(+ - * / % )对于这些需要两个或以上才能完成运算的操作符。

一元运算符的优先级要高于而元运算符。

如果在一个表达式当中,既有一元运算符,又有二元运算符,我们首先计算一元运算符。

      int a = 5;
            //  31= 5   +   7 * 2 +   6 + 6
            int b = a++ + ++a * 2 + --a + a++;
            //a=7,b=31
            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.ReadKey();

运算符表:

908b0bb529eb4db7a14ebbf9d9f84158.jpg

四、关系运算符

关系运算符:

关系运算符是用来描述两个事物之间的关系。

> < >= <= == !=
大于 小于 大于等于(不小于) 小于等于(不大于) 等于等于 不等于

由关系运算符连接的表达式称之为关系表达式。

在c#中我们用bool类型来描述对或者错。 bool类型的值只有两个 一个true 一个false

      //大象的重量(1500)>老鼠的重量(1)
            bool b= 1500 > 1;
            //运算结果为True
            Console.WriteLine(b);
            Console.ReadKey();

五、逻辑运算符

逻辑表达式:

由逻辑运算符连接的表达式叫做逻辑表达式。

&& (两个竖线) !
逻辑与 逻辑或 逻辑非
//逻辑或为两个竖线->  ||
//上面由于格式问题无法表示,请读者谅解

逻辑与 &&

表达式1 表达式2 表达式1&&表达式2
True True True
False True False
True False False
False False False

逻辑或 ||

表达式1 表达式2 表达式1或表达式2
True True True
True False True
False True True
False False False

逻辑非 !

表达式 !表达式
True False
False True

逻辑运算符两边放的一般都是关系表达式或者bool类型的值。

/*题目3:让用户输入小明的语文和数学成绩,输出以下判断是否正确,正确输出True,错误输出False
                1)小明的语文和数学成绩都大于90分
                2)语文和数学有一门是大于90分的*/
            Console.WriteLine("请输入小明的语文成绩:");
            double Chinese = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("请输入小明的数学成绩:");
            double Math = Convert.ToDouble(Console.ReadLine());
            bool a = Chinese > 90 && Math > 90;
            bool b = Chinese > 90 || Math > 90;
            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.ReadKey();

优先级查看“三、一元运算符和二元运算符 运算表”

/*题目4:让用户输入一个年份,如果是润年,则输出true,如果不是,则输出false.*/
            Console.WriteLine("请输入一个年份:");
            int year = Convert.ToInt32(Console .ReadLine());
            /*年份能够被400整除.(2000)
            年份能够被4整除但不能被100整除.(2008)*/
            bool a= (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);//先与再或
            Console.WriteLine(a);
            Console.ReadKey();

六、复合赋值运算符

image.png

总结

提示:这里对文章进行总结:用笔记和思维导图来展示。

/*复习*/
      /*
             变量类型:int,double,string,char,decimal,bool
             * 运算符:
             * 赋值运算符:+=,-=,*=,/=,%=
             * 算术运算符:+,-,*,/,%,++,--
             * 关系运算符:>,<,>=,<=,==,!=
             * 逻辑运算符:&&,||,!
             * 类型转换:
             * 1.自动类型转换:小的转大的,int->double
             * 2.强制类型转换:大的转小的,double->int
             * 3.Convert 
             */


9ef03d0b52a5457aa4f54e83ab612851.png


目录
相关文章
|
5月前
|
存储 C++
C++从入门到精通:1.1.3基础语法之运算符
C++从入门到精通:1.1.3基础语法之运算符
|
设计模式 Android开发
Android scheme 跳转的设计与实现
为了解决这些问题,App 一般都会自定义一个 scheme 跳转协议,多端都实现这个协议,以此来解决各种运营需求。今天就来解析下 QMUI 最新版 QMUISchemeHandler 的设计与实现。
163 0
|
消息中间件 SQL 负载均衡
RocketMQ快速入门 2
RocketMQ快速入门
186 0
|
12月前
|
安全 算法 Linux
线程同步与互斥【Linux】
线程同步与互斥【Linux】
108 0
|
SQL 关系型数据库 MySQL
【笔记】开发指南—运算符—运算符优先级
本文介绍了PolarDB-X中运算符的优先级
开发指南—运算符—算术运算符
本文介绍了PolarDB-X支持的算术运算符。
零基础入门C++(3)—运算符
本章我们主要讲解以下几类运算符:
101 0
零基础入门C++(3)—运算符
|
11月前
|
消息中间件 NoSQL 前端开发
淘东电商项目(76) -秒杀系统(完整代码实现)
淘东电商项目(76) -秒杀系统(完整代码实现)
84 0
|
11月前
|
数据安全/隐私保护 Windows
Mac 或Windows下配置hosts文件
Mac 或Windows下配置hosts文件
356 0
【Java零基础入门】:逻辑运算符、关系运算符与位运算符
【Java零基础入门】:逻辑运算符、关系运算符与位运算符
126 0