c#基础知识合集02 类型转换,运算符
·
数据类型转换
隐式转换
1. 规则
- 小范围 → 大范围 自动转
- 无数据丢失、无精度损失
- 语法:直接赋值即可
2. 数值类型隐式转换顺序(从小到大)
byte → short → int → long → float → double
char → int
例子
int a = 100;
double b = a; // 隐式自动转 int→double
char c = 'A';
int d = c; // 隐式 char→int
3. 可以隐式转换的场景
- 整型往更大整型、浮点型转
- 子类 → 父类(向上转型)
- 存在
implicit自定义转换运算符
显式转换
1.字符串转数字:
目标数据类型.Parse(字符串); 例如 int.Parse("100"),需确保字符串内容符合格式要求
2.万能转换
系统提供的通用转换工具类,任意类型互相转换,属于主动手动转换。
//Convert.ToInt16(); 转成16位整型
//Convert.ToInt32(); 转成32位整型
//Convert.ToInt64(); 转成64位整型
string a = "10";
long aa = Convert.ToInt64(a);
Console.WriteLine(aa);
string s = "123";
int num = Convert.ToInt32(s);
double d = Convert.ToDouble(s);
3.任意类型转字符串:对象.ToString()
- 保留两位小数:3.14.ToString("F2")
- 千分位显示:3.14.ToString("N2")
- 货币格式:3.14.ToString("C")
- 百分比格式:3.14.ToString("P")
string a = "s";
bool success = int.TryParse(a, out int result); //int默认值为零,没转成功result结果为0
Console.WriteLine("是否转换成功?" + success + "转成功后的结果: " + result);
4.强制转
int a = 100;
double b = (double)a;//强制转换成double
运算符
运算符
就是用来做运算、做判断、做赋值的符号。比如:+ - * / = > < && || 这些都是。
1. 算术运算符
用来加减乘除,和小学数学一样。
| 符号 | 作用 | 例子 | 结果 |
|---|---|---|---|
+ |
加 | 5 + 2 |
7 |
- |
减 | 5 - 2 |
3 |
* |
乘 | 5 * 2 |
10 |
/ |
除 | 5 / 2 |
整数得 2,小数得 2.5 |
% |
取余(求余数) | 5 % 2 |
1 |
整数除以整数,结果还是整数,直接砍掉小数
int a = 5 / 2; // a = 2 不是2.5
% 取余:只看除法剩下多少,用来判断奇偶、是否整除
6 % 2 == 0 // 能整除,偶数
7 % 2 == 1 // 不能整除,奇数
2. 赋值运算符
把右边的值赋给左边变量。
| 符号 | 作用 | 等价写法 |
|---|---|---|
= |
直接赋值 | a = 10 |
+= |
加完再赋值 | a += 5 → a = a + 5 |
-= |
减完再赋值 | a -= 5 → a = a - 5 |
*= |
乘完再赋值 | a *= 5 → a = a * 5 |
/= |
除完再赋值 | a /= 5 → a = a / 5 |
%= |
取余再赋值 | a %= 5 → a = a % 5 |
int a = 10;
a += 3; // 现在a=13
3. 自增、自减运算符
++ 加 1,-- 减 1
分两种:
- 前 ++
++a:先加 1,再用值 - 后 ++
a++:先用原值,再加 1
int a = 5;
int b = a++; // 先把5给b,a再变成6
// b=5 a=6
int c = 5;
int d = ++c; // c先变成6,再给d
// d=6 c=6
4. 关系运算符
用来判断对错,返回布尔值:对 = true,错 = false
| 符号 | 含义 | 例子 |
|---|---|---|
> |
大于 | 5 > 3 → true |
< |
小于 | 5 < 3 → false |
>= |
大于等于 | 5 >= 5 → true |
<= |
小于等于 | 3 <= 5 → true |
== |
等于(两个等号) | 5 == 5 → true |
!= |
不等于 | 5 != 3 → true |
=是赋值==才是判断相等千万别写混!
5. 三元运算符
条件 ? 条件为真执行 : 条件为假执行;
通俗:问号前面判断,对取前面,错取后面
// 三目运算符示例
// 判断是否成年
int age = 20;
string s = age >= 18 ? "成年人" : "未成年人";
6. 逻辑运算符
用于 if 判断,连接多个条件。
&:必须全都满足 比如:年龄大于 18 与 身高大于 160- &&: (并且)会造成短路(如果第一个条件为false,另外一个就不走了)
||:满足一个就行 比如:会唱歌 或者 会跳舞!:取反!(5>3)本来是 true,加!变成 false
先后顺序满足非与或
// 年龄18以上 并且 分数60以上
bool res = age >= 18 && score >= 60;//true更多推荐


所有评论(0)