数据类型转换

隐式转换

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 + 27
-5 - 23
*5 * 210
/5 / 2整数得 2,小数得 2.5
%取余(求余数)5 % 21

整数除以整数,结果还是整数,直接砍掉小数

    int a = 5 / 2;  // a = 2  不是2.5
    

    % 取余:只看除法剩下多少,用来判断奇偶、是否整除

    6 % 2 == 0  // 能整除,偶数
    7 % 2 == 1  // 不能整除,奇数

    2. 赋值运算符

    把右边的值赋给左边变量。

    符号作用等价写法
    =直接赋值a = 10
    +=加完再赋值a += 5a = a + 5
    -=减完再赋值a -= 5a = a - 5
    *=乘完再赋值a *= 5a = a * 5
    /=除完再赋值a /= 5a = a / 5
    %=取余再赋值a %= 5a = a % 5
    int a = 10;
    a += 3;  // 现在a=13
    

    3. 自增、自减运算符

    ++ 加 1,-- 减 1

    分两种:

    1. 前 ++ ++a:先加 1,再用值
    2. 后 ++ 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

    更多推荐