在我学过的计算机语言中,都用到了运算符和表达式,但是他们的运算符都差不太多,那么就先来看一下C#语言中的表达式是怎样的吧。
算数运算符
+ - * / %(加、减、乘、除、取余)
变量先声明才能赋值,优先级:先乘除再加减,有括号再算括号里面的。
类型自动转换
参与运算(算数和赋值运算)的操作数和结果类型必须一致,当不一致时,满足下面条件时,系统自动完成类型转换(隐式转换)
1、两种类型兼容,例如:int和double兼容(都是数字类型);目标类型大于源类型,例如:double>int
2、对于表达式 如果一个操作数为double型,则整个表达式可提升为double型。
占位符
console.writeline("你喜欢吃什么?") string str=console.readline(); console.writeline("我也喜欢吃{0}",str)
这样最后的出来的结果就是,你填写的东西,就会再屏幕上显示:我也喜欢吃**
注:如果在这句话中需要多个占位符,那么就在相应的占位符中添加{0}、{1}、{2}……那么逗号后面也要有相应的信息。
计算结果保留小数
例如:int num1=10;
int num2=3;
double num3= num1*1.0/num2;
console.writeline(“{0:0.000}”,num3) 注意:一定要加引号
输出的结果为:3.333
强制转换
double num1=303.6;
int num=(int)num1;//强制转换
输出结果为303
注意:int 转double为隐式转换,多小数,double转int显示转换,丢精度。
convert不再仅是内存级别的转换,而是考虑数据意义的转换,convert是一个加工、改造的过程。通过convert.toint32(字符串类型的数字转换成int类型的数据)来把其他类型数据转换成int 类型。
自加自减
例子:int num=10;则num++=11
若num=10;
number = 10 + num++; //先num++先用原值参与运算,再自身加一
number=20; num=11;
解释:
如果num++参与运算,先取num的原值参与运算,再自身+1
number = ++num + 10; // ++num先自身加一,再参与运算
number=21;
num=11
num+=:num=+10=num=num=num+10
一元运算符:需要一个操作数 num++
相应的自减和自加是一个道理。
如有不正确的地方,欢迎大家前来斧正。
二元运算符:需要两个操作数 56+89。
逻辑运算符
逻辑运算符两边一般情况下都是关系表达式。
&&(逻辑与)
表达式1与表达式2有一个为false,那么整个表达式的结果为false,如果两个表达式的结果都为true,那么整个表达式的结果为true。
||(逻辑或)
如果表达式1||表达式2有一个结果为true,那么整个表达式的结果为true,如果两个表达式的结果都为false,最后结果为false。
!(逻辑非)相当于取反
如果表达式是正确的,那么取反后就是错误的,如果表达式是错误的,那么取反后就是正确的。