对应得ASCALL值
0-48
A-65
a-97
例 char ch = 'a';
Console.WriteLine((int)ch);//输出97
二、赋值运算
//写代码变量必须养成习惯,定义名符合实际意思,例如年龄用age,不要瞎用a、b之类的。
例子:① //1+2+3+4+5
int result = 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);
② //乘等
int num3 = 4;
int num4 = 5;
num3 *= num4;//num3 =num3 *num4
Console.WriteLine(num3);
③ //减等
注: int num5 = 9;
int num6 = 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、//赋值号的优先级最低
bool ret = 4 == 3;
Console.WriteLine(ret);
//>= 表示 大于或者等于,两者满足其一即可
ret = 4 >= 3;
四、逻辑运算符(逻辑)
1、//逻辑与 &&
//逻辑或||
//逻辑非 !
2、//例、3和4 都是小于5的数,写代码最好空格,养成习惯
//逻辑与 &&
bool ret = 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不再执行
③ * 逻辑非 : 就是取相反的值
五、按位运算 (数字按位)
1 Console.WriteLine(6&11);//按位与& 不空格,这个是计算的, 逻辑与&&空格
2 Console.WriteLine(6|11);//按位或|
3 Console.WriteLine(~6); //按位非~
4 //异或
int num1 = 6;
int num2 = 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、
① //隐形类型转化,小范围转化到大范围的类型
int num_int1 = 100;
long num_long1 = num_int1;//int类型能放到long里去
Console.WriteLine(num_long1);
② //会报错再强制转化加上(类型)
//强制类型转化
//大范围到小范围(因为可能会造成数据的丢失)
long num_long2 = 300;
//强制类型,一定小心,可能会造成数据的丢失
int num_int2 = (int)num_long2; //转化时加上类型(int)
Console.WriteLine(num_int2);
③ char ch = 'a';
Console.WriteLine((int)ch);
char ch1 = 'b';
//字符也是一个数字,每一个字符对应一个数字
Console.WriteLine(ch +ch1);
//字符拼接显示
Console.WriteLine("" + ch +ch1);//显示ab
Console.WriteLine(ch +"" +ch1);//也对显示ab
string str = ch + ch1 + "";
Console.WriteLine(str); //显示195
//证明 字符和数字是一一对应的
Console.WriteLine((int)'A'); //显示65
Console.WriteLine((char)65); //显示A