类型转换
* 1.数据要兼容,都需要是数值类型
* 2.从取值范围小的类型向取值范围大的去转
*
*
* 强制类型转换:从取值范围大的向取值范围小的类型转换,有可能造成数据缺失。
* 1.强转的第一种格式,(目标类型名)值
* 2.强转的第二种格式,目标类型名.Parse(字符串)
* 3.强转的第三种格式。使用Convert进行强转转换
*
第一种举例
double d = 12.5;
int b = (int)d;
Console.WriteLine(d);
第二种举例
string str = "15";
int b = int.Parse(str);
Console.WriteLine(b);
第三种
string a = "123";
int b = Convert.ToInt32(a);
关系运算符
*
* bool类型:true(真) false(假)
*
*
* 1.关系运算符包括:>,<,>=,<=,==,!=
* 2.用途:就是用来进行比较运算,结果是一个bool类型,如果表达式成立返回true,否则返回false.
*
逻辑运算符
*
* 逻辑运算符的作用:可以将结果为bool类型的表达式或者值连接成一个更复杂的表达式,返回值也是bool类型。
* 1.&&逻辑与:符号两边的表达式都成立的时候返回true,否则返回false,一假即假。
* 2.||逻辑或:运算符两边的表达式只要有一方成立,那么整个表达式返回true,否则false,一真即真。
* 3.!逻辑非:
*
*
* 短路原理
* &&:当运算符左边的表达式为假时那么就不再执行后面的表达式了。
* &:没有短路情况,无论左边表达式为真还是假,右边始终会执行
* ||:当运算符左边的表达式为真时那么就不在执行后面的表达式了。
*
if语句
*
* 顺序结构:代码从上往下,从左向右执行
* 分支结构:当程序执行到某个位置的时候,进行条件判断,根据判断的结果来决定是否执行分支。
* 循环结构:当满足一定条件时循环反复执行一段代码。
* if的第一种形式
* if(bool类型的表达式或者值)
* {
* 执行语句;
* }
* 执行流程:当if后面小括号中的表达式成立时,执行紧跟着if大括号中的代码,不成立时跳过大括号中的代码直接执行后面的代码。
* 注意:1.紧跟着if的小括号后面不能加;
* 2.属于if分支的代码无论一行还是多行都要使用大括号
*
*
* if的第二种形式
* if(bool类型的表达式)
* {
* 当if小括号中的表达式成立时执行的代码;
* 执行的代码;
* }
* else
* {
* 当if小括号中的表达式不成立时执行的代码;
* 执行的代码;
* }
*
*
* if的第三种形式
* if(bool类型表达式)
* {
* 当表达式为true执行分支
* 可执行的代码;
* }
* else if(bool 类型表达式2)
* {
* 当表达式1不成立,表达式2为true执行分支
* 可执行的代码;
* }
* else if(bool 类型表达式3)
* {
* 当表达式1,2不成立,表达式3为true执行分支
* 可执行的代码;
* }
* else
* {
* 表达式1,2,3都不成立时执行
* 可执行的代码;
* }
*
三目运算符
*
* 语法:
* var 3 =bool类型表达式?var1:var2;
* 如果bool类型表达式为true,那么将var1的值赋值给var3,如果bool类型表达式为false,那么将var2的值赋值给var3
*
swich
*
* 语法:
* switch(表达式)
* {
* case 值1:
* 执行的语句;
* break;
* case 值2:
* 执行的语句;
* break;
* default:
* 执行的语句;
* break;
* }
* 执行流程:
* 1.根据表达式的值和case后面的值比较
* 2.如果匹配成功(相等),那么执行case中的代码,直到遇到break关键字结束switch
* 3.如果所有case匹配都失败,那么执行default中的代码
* 注意事项:
* 1.default可以没有,如果有的话只能有一个
* 2.case后面的值只能是常量或者常量表达式
* 3.如果case分支中有代码,那么一定要有break;
* 4.如果某一个case分支中没有代码,那么执行下一个case分支中的代码,直到遇到break;
*
*