一、Convert类型转换
1.1转换原因
上一篇的总结内容说到,要进行强制类型转换和自动类型转化就必须要符合类型兼容的条件。可以现在有一个string类型的数据想要转换为数字类型,该怎么办呢?
这里就用到了,convert类型转换,它的作用就是进行不兼容的类型转换,将string类型转换为想要的类型。举个例子看看:
string s = "123";
double d = Convert.ToDouble(s);
int m = Convert.ToInt32(s);
Console.WriteLine(d);
Console.WriteLine(m);
Console.ReadKey();
这里输出的就是123和123了
注意一下:
这里转换有一个前提,就是面上看的过去,什么意思呢?
就是说,你的string是123,是个数字,你可以转换为数字类型,可是如果你的string里面不是数字,而是123abc这种,就不可以转换为数字类型了,必须转换成和你字符串类型一致的。
1.2 练习题
请提醒用户输入名字,数学,语文,英语成绩
最后显示某某某,您的总成绩为……您的平均成绩为……
//让用户输入姓名,数学,语文,英语三门课的成绩
Console.WriteLine("请输入您的姓名:");
string name = Console.ReadLine();
Console.WriteLine("请输入您的数学成绩:");
string strMath = Console.ReadLine();
Console.WriteLine("请输入您的语文成绩:");
string strChinese = Console.ReadLine();
Console.WriteLine("请输入您的英语成绩:");
string strEnglish = Console.ReadLine();
double total = Convert.ToDouble(strMath) + Convert.ToDouble(strChinese) + Convert.ToDouble(strEnglish);
double average = total / 3;
Console.WriteLine("{0}您的总分是{1},平均分是{2:0.00}", name, total, average);
Console.ReadLine();
这里注意一下,我平均分那里有一个保留两位小数的语法,写法为{2,0:00},就是要学以致用,不要忘记怎么保留小数的语法。
另外,强制转换的语法复习一下,就是:要转换的类型 转换名(要转换的类型)要转换的值。记住哦!
1.3练习题
提示用户输入数字,接收,并且打印用户输入数字的2倍
Console.WriteLine("请输入数字");
string strNum= Console.ReadLine();
double Num = Convert.ToDouble(strNum);
Console.WriteLine(2 * Num);
Console.ReadKey();
1.4练习题简写
Console.WriteLine("请输入数字");
double Num = Convert.ToDouble(Console.ReadLine());
Console.WriteLine(2 * Num);
Console.ReadKey();
二、加加减减
1.概念
++:分为前++和后++两种,无论是哪一种,最后的结果都是给变量+1;
–:分为前–和后–两种,无论是哪一种,最后的结果都是给变量-1;
2.前后++ 区别
在一个运算表达式中,前++的意思是先进行自身+1,再用加一后的值进行运算,后++是先用原值进行运算,然后再进行自身+1
举个例子:
int number = 10;
int result = 10 + ++number;//number++; int result = 10+number;
Console.WriteLine(number);
Console.WriteLine(result);
Console.ReadKey();
//上述代码,number=11,resul=21;
//根据结果说明:在运算表达式中,前++,先自身+1,再用+1后的值进行运算
int number = 10;
int result = 10 + number++;//int result = 10+number; number++;
Console.WriteLine(number);
Console.WriteLine(result);
Console.ReadKey();
//上述代码的结果是number=11,result= 20
//说明这里后++,是先原值进行运算,后变量自身加1
3.前后–区别
在一个运算表达式中,前–就是先进行自身的变量-1,再用变化后的值进行运算,后–是先用原值进行运算,后面再将变量-1。
测试小练习
int a = 5;
int b = a++ + ++a * 2 + --a + a++;
Console.WriteLine(a);
Console.WriteLine(b);
Console.ReadKey();
结果是几呀?
我反正第一次算错了,算的是7和26;
正确答案是:7;31
如下:int b = a++ + ++a * 2 + --a + a++;
首先a++是用原值运算,所以这里是5,执行完a++后,a变成了6,接下来++a是先变化,再进行运算,此时的a+1=7,++a这里写7,接着–a,是先变化后运算,这里写6,a变成的也是6,最后a++,是先进行原值,再加一,所以a++是6,a=7。
所以其实计算是这样的5+7*2+6+6=31;a=7;
一元运算符和二元运算符
对于像++和–这样的只需要一个操作数就可以完成的运算,我们成为一元运算符。
对于像+、-、*、/、%这样的运算至少需要两个及两个以上的操作数才能完成的运算,我们称为二元运算符。
一元运算符的优先级高于二元运算符。也就是说在一个运算中,先去算一元运算符,再去算二元运算符。
再来举个例子:
int var1,var2 = 5;
int var3 = 6;
var1 = var2++ + --var3;
Console.WriteLine(var1);
Console.ReadKey();
结果是5*5=25;
int var1,var2 = 5;
int var3 = 6;
var1 = ++var2+ var3--;
Console.WriteLine(var1);
Console.ReadKey();
结果是6*6=36;
三、关系运算符
1.六种关系运算符
:大于号
<:小于号
=:大于等于
=<:小于等于
==:等于
!=:不等于
关系运算符是用来描述两个事物之间的关系
由关系运算符连接的表达式是关系表达式。
关系表达式的结果是bool类型。
2.bool类型
在C#中描述两个事物的对错,我们用布尔运算
bool类型里面只有两个结果:一个true,一个false;
例子:
// bool b = 1500 > 1;//结果:true
// bool b = 39 > 64;//结果:False
//bool b = 20 == 20;//结果:true
Console.WriteLine(b);
Console.ReadKey();