提示:以下是本篇文章正文内容,下面案例可供参考
一、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();
运算符表:
四、关系运算符
关系运算符:
关系运算符是用来描述两个事物之间的关系。
> | < | >= | <= | == | != |
---|---|---|---|---|---|
大于 | 小于 | 大于等于(不小于) | 小于等于(不大于) | 等于等于 | 不等于 |
由关系运算符连接的表达式称之为关系表达式。
在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();
六、复合赋值运算符
+= | -= | *= | /= | %= |
---|---|---|---|---|
举例:number+=10表示number=number+10; | 举例:number-=10表示number=number-10; | 举例:number*=10表示number=number*10; | 举例:number/=10表示number=number/10; | 举例:number%=10表示number=number%10; |
总结
提示:这里对文章进行总结:用笔记和思维导图来展示。
/*复习*/
/*
变量类型:int,double,string,char,decimal,bool
* 运算符:
* 赋值运算符:+=,-=,*=,/=,%=
* 算术运算符:+,-,*,/,%,++,--
* 关系运算符:>,<,>=,<=,==,!=
* 逻辑运算符:&&,||,!
* 类型转换:
* 1.自动类型转换:小的转大的,int->double
* 2.强制类型转换:大的转小的,double->int
* 3.Convert
*/