类型如果相兼容的两个变量,可以使用自动类型转换或者强制类型转换 但是,如果两个类型的变量不兼容,比如int与string或者int与double 这个时候我们可以使用一个叫做Convert的转换工厂进行转换。 string s = "123"; double d = Convert.ToDouble(s); int i = Convert.ToInt32(s); 注意:使用Convert进行类型转换,也需要满足一个条件:面儿上必须要过得去 double d = Convert.ToDouble(Console.ReadLine());
int result = 10 + number++;
int result = 10 + number;
number++;
=================================
int result = 10 + ++number ;
number++;
int result = 10 + number;
int a = 5; int b = a++ + ++a * 2 + --a + a++; // b = 5+7*2+6+6 a = 7
++:分为前++和后++,不管是前++还是后++,最终的结果都是给这个变量加一, 区别表现在表达式当中,如果是前++,则先给这个变量自身加一,然后带着这个加一后的值去参与运算。如果是后++,则先拿原值参与运算,运算完成后 再将这个变量自身加一
对于像++和--只需要一个操作数就能完成的运算,我们称之为一元运算符。 对于像+ - * / %这些需要两个或两个以上才能完成运算的操作符,我们称之为二元运算符 复合赋值运算符+= -= *= /= %=是二元运算符 一元运算符的优先级要高于二元运算符
> < >= <= == != 关系运算符是用来描述两个事物之间的关系,由关系运算符连接的表达式称之为关系表达式
C#中我们用bool类型来描述对或者错,bool类型的值只有两个 一个true 一个false
关系表达式的类型是布尔类型
有逻辑运算符&& || !连接的表达式是逻辑表达式 逻辑运算符两边放的一般都是关系表达式或者bool类型的值,逻辑表达式的结果同样也是bool类型
在建新项目的时候,如果感觉建的项目的名称不对,那么就直接把这个项目给删了,不要直接改名字了,因为在面向对象的时候,经常会涉及到两个项目之间的调用 你改了项目名,但是namespace那里没变,会出现很多问题。项目名称也不要和关键字等或者vs提供的方法名重名。
在一个表达式里既有逻辑与又有逻辑或,则逻辑与的优先级要高一些。 &&与&的区别,&&只要前面有一个错误,后面就不计算下去了,但是&则后面还要计算下去,所以&&的效率比较高,因此我们不再使用&,而是用&&。||也是如此
顺序结构:程序从Main函数进入,从上到下一行一行的执行,不会落下任何一行
分支结构:if , if-else
选择结构:if else-if switch-case
循环结构:while do-while for foreach
注意: else永远跟离他最近的if配对
最后一行代码后面留3个大括号,一个是namespace 一个是class 一个是Main函数
if - else if 用来处理多条件的区间性的判断
switch - case 用来处理多条件的定值的判断