day03总结
2017-02-04 17:01:12 0 举报
AI智能生成
传智播客C#基础班笔记day03
作者其他创作
大纲/内容
类型转换
在day02中讲解了强制类型转换和自动类型转换
这两种转换有个前提,就是要转换的两种类型相
兼容,那么如果类型不兼容例如将字符串"123"转
换为int类型,该怎么办?
这两种转换有个前提,就是要转换的两种类型相
兼容,那么如果类型不兼容例如将字符串"123"转
换为int类型,该怎么办?
解决
使用一个名为Convert的转换工厂进行转换
代码
string s = "123";
int n = Convert.ToInt32(s);
double d = Convert.ToDouble(s);
注意
使用convert进行转换时也要满足一个条件:
面上必需过得去,即不能将一个"abc"字符串
转换成int,否则抛出异常。
面上必需过得去,即不能将一个"abc"字符串
转换成int,否则抛出异常。
使用
一般使用如下简洁形式: double d = Convert.ToDouble(Console.ReadLine());
++和--
1、无论++和--在什么位置,变量最后的结果都会被增或者减1
2、当++和--配合变量作为一个独立语句时,与上面没有区别如n++;n--;
3、当++和--配合变量走位表达式成为一条语句的一部分时
规则
前置++/--
自增减,++/--表达式的值为计算后的值,后参与整体运算
后置++/--
++/--表达式的值为原值,自增减,后参与整体运算
举例
int n = 10;
int num = 10 + n++;
结论num=20
相当于:int num = 10 + n;n++;
int n = 10;
int num = 10 + ++n;
结论num=21
相当于:n++;int num = 10 + n;
4、复合赋值运算符:+=,-=,*=,/=,%=,均为二元运算符,不是一元运算符
5、++/--这样的一元运算符优先级高于二元运算符+,-,*,/,%等
关系运算符和逻辑运算符
关系运算符
在c#中一共六种关系运算符>,>=,<,<=,==,!=
关系运算符两端参与运算的值可以为任意数据类型,如string,int,char等。
但两端类型必需兼容,即不能拿一个string和一个int做关系比较
但两端类型必需兼容,即不能拿一个string和一个int做关系比较
关系运算符的结果是bool值
bool值
只有两个值,true和false,用来表示真和假,对和错,成立或不成立
逻辑运算符
在c#中有三种逻辑运算符&&,||,!
逻辑运算符两端或者一端参与运算的值为bool值,或者结果为bool值的关系表达式
逻辑运算符的结果为bool值
逻辑&&的优先级高于逻辑||,在同一表达式中,先计算&&,后计算||
位运算
&运算
对于整型,& 计算操作数的逻辑按位“与”
同时支持逻辑运算
没有断路功能
|运算
对于整型, | 计算操作数的按位“或”
同时支持逻辑运算
没有断路功能
^运算
对于整型,^
将计算操作数的按位“异或”
同时支持逻辑运算
~运算
~运算符对操作数执行按位求补运算,其效果相当于反转每一位。适用于
int,uint,long,ulong
<<运算
向左移位,右边移出的空位补零
<<运算
向右移位。 如果左操作数是 int 或 long,则左位数补符号位。 如果左操作数是
uint 或 ulong,则左位数补零
VS2015技巧
1、项目名称起好以后不要进行修改,否则会发现项目名虽然修改了
但命名空间没有被修改,后期项目之间相互调用时会出现问题
但命名空间没有被修改,后期项目之间相互调用时会出现问题
2、项目的名称不要起int,console.writeline()这样的名字,否则在代码中Int等会无法使用
3、大括号很多,如何知道哪个是结尾?最后一行代码后面应该有三个大括号,函数一个,类一个,命名空间一个
if语句
if-else-if
适用于多条件,条件数量>2,区间性的判断
if(a>90){}else if(a<90&&a>80){}
if
适用于单个条件,成立则执行,不成立则不执行
if-else
适用于两个条件
成立则执行语句A,不成立则执行语句B
switch-case
适用于多条件,,条件数量>2,定值的判断
caes 'a':case 'b'...
0 条评论
下一页