频道栏目
首页 > 资讯 > C# > 正文

C#字符转化、赋值运算、关系运算符、逻辑运算符、按位运算、类型转化讲解

18-01-18        来源:[db:作者]  
收藏   我要投稿
一、字符的转化

对应得ASCALL值

0-48

A-65

a-97

例charch = 'a';

Console.WriteLine((int)ch);//输出97

二、赋值运算

//写代码变量必须养成习惯,定义名符合实际意思,例如年龄用age,不要瞎用a、b之类的。

例子:①//1+2+3+4+5

intresult = 0;

result += 1;//result =result + 1;

Console.WriteLine(result);

result += 2;//result =result + 2;

Console.WriteLine(result);

result += 3;//result =result + 3;

Console.WriteLine(result);

result += 4;//result =result + 4;

Console.WriteLine(result);

result += 5;//result =result + 5;

Console.WriteLine(result);

//乘等

intnum3 = 4;

intnum4 = 5;

num3 *= num4;//num3 =num3 *num4

Console.WriteLine(num3);

③//减等

注:intnum5 = 9;

intnum6 = 5;

// num5 -= num6;//num5 = num5 -num6

// Console.WriteLine(num5);

//可直接这样写

Console.WriteLine(num5 - = num6);

④//除等

num5 = 10;

num6 = 6;

num5 /= num6;//num5 =num5 /num6;

Console.WriteLine(num5);

⑤//模等

num3 = 9;

num4 = 5;

num3 %= num4;//num3 = num3 % num4;

Console.WriteLine(num3);

类似 num1 = num1 +1 ; 可以写成num1 ++;

类似 num1 =num1 +num2 ,可以写成num1 += num2;

三、关系运算符(比较运算符)

1、//赋值号的优先级最低

boolret = 4 == 3;

Console.WriteLine(ret);

//>= 表示 大于或者等于,两者满足其一即可

ret = 4 >= 3;

四、逻辑运算符(逻辑)

1、//逻辑与 &&

//逻辑或||

//逻辑非 !

2、//例、3和4 都是小于5的数,写代码最好空格,养成习惯

//逻辑与 &&

boolret = 3 < 5 && 4 < 5;//表达式中符号优先级 < && =

Console.WriteLine(ret);//输出true

3//逻辑或 ||

ret = 3 < 5 || 4 < 5;

Console.WriteLine(ret);

4//逻辑非!

ret = true;

ret = !ret;

Console.WriteLine(ret);

总结:

* 表达式1 && 表达式2:,表达式1和表达式2都成立的时候,运算结果是true,如果两者其中之一不成立,那么false

* 逻辑与的短路:如果表达式1是错误的,那么表达式2不再执行,所以可把易出错的放第一个,优化用。

* 表达式1 || 表达式2 : 表达式1和表达式2 都不成立的时候才是false,

* 如果有一个是正确的,结果就是true;

* 逻辑或的短路:如果表达式1是正确的,那么表达式2不再执行

* 逻辑非 : 就是取相反的值

五、按位运算(数字按位)

1Console.WriteLine(6&11);//按位与& 不空格,这个是计算的, 逻辑与&&空格

2Console.WriteLine(6|11);//按位或|

3Console.WriteLine(~6); //按位非~

4//异或

intnum1 = 6;

intnum2 = 11;

//13 6 11

num1 = num1 ^ num2;

// 6 13 11

num2 = num1 ^ num2;

// 11 13 6

num1= num1 ^ num2

5/*

* 位运算总结:

* 按位与:全1才为1;

* 按位或:全0才为 0;

* 按位非:-(数字+1);,也就是每个数字加上1再取反

* 按位异或:相同为0,不同为1;

* 记住左移右移。左移一位数值结果是原来的二倍 <<左移

右移一位数值结果是原来的1/2倍 >> 右移

六、类型转化

1、// Console.WriteLine(int.MaxValue);

// Console.WriteLine(int.MinValue);

Console.WriteLine(int.MaxValue + " "+ int.MinValue);//范围小

Console.WriteLine(long.MaxValue + " "+ long.MinValue);//范围大

2、

//隐形类型转化,小范围转化到大范围的类型

intnum_int1 = 100;

longnum_long1 = num_int1;//int类型能放到long里去

Console.WriteLine(num_long1);

//会报错再强制转化加上(类型)

//强制类型转化

//大范围到小范围(因为可能会造成数据的丢失)

longnum_long2 = 300;

//强制类型,一定小心,可能会造成数据的丢失

intnum_int2 = (int)num_long2;//转化时加上类型(int)

Console.WriteLine(num_int2);

charch = 'a';

Console.WriteLine((int)ch);

charch1 = 'b';

//字符也是一个数字,每一个字符对应一个数字

Console.WriteLine(ch +ch1);

//字符拼接显示

Console.WriteLine(""+ ch +ch1);//显示ab

Console.WriteLine(ch +""+ch1);//也对显示ab

stringstr = ch + ch1 + "";

Console.WriteLine(str);//显示195

//证明 字符和数字是一一对应的

Console.WriteLine((int)'A');//显示65

Console.WriteLine((char)65);//显示A

相关TAG标签
上一篇:算法系列15天速成——第三天 七大经典排序【下】
下一篇:机器学习实战之决策树解析
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站