C#学习笔记

1.输入与输出

cs 复制代码
//输出
Console.WriteLine("绛橘色的日落");  //自动换行
Console.Write("日落");             //不换行
//输入
Console.ReadLine();  //按回车结束
Console.ReadKey();   //任意输入一个字符即结束

一.变量

1.有符号的整型变量

(1)特点

能储存,有一定范围,有符号,正负数包括0的变量类型

(2)存储的范围

|-------|---------------|
| sbyte | -128~127 |
| int | -21亿~21亿多 |
| short | -32768~32767 |
| long | -9百万兆~百万兆 |

2.无符号的整型变量

(1)特点

能储存,有一定范围,0和正数

(2)存储的范围

|--------|----------|
| byte | 0~255 |
| uint | 0~42亿 |
| ushort | 0~65535 |
| ulong | 0~18百万兆 |

3.浮点数

(1)float

存储7~8位有效数字,根据编译器不同,有效数字也可能不一样 四舍五入 有效数字是从左到右从非0数开始算有效数字的

定义:

cs 复制代码
float f = 0.12345678f;

(2)double

存储15~17位有效数字,四舍五入

(3)decimal

存储27~28位有效数字,不建议使用

cs 复制代码
decimal de = 0.123456789m

4.特殊类型

|--------|-------------------|-------|
| bool | 表示真假的数据类型 | 真假类型 |
| char | 用来存储单个字符的变量类型 | 字符类型 |
| string | 用来存储多个字符的,没有上限 | 字符串类型 |

二.常量

1.申明

关键字:const

固定写法: const 变量类型 变量名 = 初始值;

2.特点

(1)必须初始化

(2)不能被修改

三.类型转换

1.隐式转换

(1)相同大类型之间的转换

cs 复制代码
long l = 1;
sbyte sb = 1;
l = sb;

不能用小范围的类型去装载大范围的类型

浮点数:float转换成double,decimal没法用隐式转换

特殊类型:bool char string 他们之间不存在隐式转换

(2)不同大类型之间的转换

有符号的变量无法隐式转换成无符号的

无符号可转有符号的,但是得注意无符号的范围

整数可以转浮点数,浮点数不能转整数,因为整数不能存小数

特殊类型不能与其他类型转换,但char可以转换成比它宽度更大的数值类型

2.显示转换

(1)括号强转

作用:一般情况下,将高精度的类型强制转换为低精度

语法:变量类型 变量名 =(变量类型)

注意: 1.用括号强转可能会出现范围问题造成的异常

2.精度问题造成数据的丢失,不会四舍五入

3.bool和string不能通过括号强转

(2)Pares法

作用:把字符串类型转换为对应的类型

语法 :变量类型.Parse("字符串")

注意:字符串必须能够转换成对应类型,否则报错

(3)Convert法

作用:更准确的将各类型之间进行相互转换,精度比 强转好,会四舍五入

语法:Convert.To目标类型(变量或常量)

cs 复制代码
int a = Convert.ToInt32("12");

注意:1.填写的变量或常量必须正确,否则出错

2.把bool类型也可以转成数值类型 true对应1 false对应0

3.每一个类型都存在对应的Convert中的方法

|---------|-----------|
| sbyte | ToSByte |
| short | ToInt16 |
| int | ToInt32 |
| long | ToInt32 |
| byte | ToByte |
| ushort | ToUInt16 |
| uint | ToUInt32 |
| ulong | ToUInt64 |
| float | ToSingle |
| double | ToDouble |
| decimal | ToDecimal |
| bool | ToBoolean |
| char | ToChar |
| string | ToString |

(4)其他类型转string

作用:拼接打印

语法:变量:toString();

注意:当进行字符串拼接时 就会自动调用tostring转成string

三.异常捕获

作用:可以避免当代码报错时 造成程序卡死的情况

基本语法:

cs 复制代码
//必备部分
try
{
    //希望进行异常捕获的代码块放到try中
    //如果try中的代码报错了 不会让程序卡死
}
catch
{
    //如果出错了 会执行catch中的代码来捕获异常
    //catch(Exception e) 具体报错跟踪 通过e得到具体的错误信息
}
//可选部分
finally {
    //最后执行的代码 不管有没有出错 都会执行其中的代码
}

注意:异常捕获代码基本结构中,不需要加**;** 在里面写代码逻辑是 每一句代码才加**;**

四.字符串拼接

1.方式一

cpp 复制代码
string str = "123";
str = str + "456";
Console.WriteLine(str);

2.方式二

语法:string.Format("待拼接的内容",内容1,内容2,......);

拼接内容的固定规则:想要被拼接的内容用占位符替代 {数字} 数字:0~n 依次往后

cs 复制代码
string str2 = string.Format("我是{0},我今年{1}岁,我想要{3}","绛橘色的日落",18,"发财");

3.控制台打印拼接

可以多填,不可以少填

cs 复制代码
Console.WriteLine("我是{0},我今年{1}岁,我想要{3}", "绛橘色的日落", 18, "发财");

五.if语句

cs 复制代码
if( bool类型值 )
{
    //满足条件要执行的代码;
}
else if( bool类型值 )
{

}
else
{

}

六.switch语句

cs 复制代码
switch( 变量 )
{
    case 常量:
        满足条件执行代码逻辑;
        break;
    case 常量:
        满足条件执行代码逻辑;
        break;
    default:
        如果上面case的条件都不满足 则执行此代码;
        break;
}

贯穿:满足某些条件时 做的事情是一样的 就可以用贯穿

cs 复制代码
switch( 变量 )
{
    case 1:
    case 2:
        满足条件执行代码逻辑;
        break;
    default:
        如果上面case的条件都不满足 则执行此代码;
        break;
}

七.while语句

cs 复制代码
while( bool )
{

}
cs 复制代码
do
{
    语句;
}while()

八.for循环

cs 复制代码
for(初始表达式;条件表达式;增量表达式)
{

}
相关推荐
橙橙笔记5 小时前
QT的学习第四部分
linux·qt·学习·音视频
叼烟扛炮5 小时前
Linux 学习笔记(五十四):内网穿透实战——用 frp 让外网访问你的私人电脑
linux·服务器·网络·笔记·学习
在猴站学算法5 小时前
(《统计学习方法》(第2版) 李航)第2章 感知机算法
学习·算法·机器学习·统计学习
旖旎夜光6 小时前
【C++ 基础入门】C++ 继承(上):概念、切片、隐藏、默认成员函数与友元
c++·笔记·学习
Godspeed Zhao6 小时前
从零开始学AI24——无监督学习之K均值
学习·机器学习
叼烟扛炮6 小时前
[LangChain] 学习笔记(05):提示词模板(Prompt)与少样本注入(Few-Shot)实战
linux·人工智能·笔记·学习·langchain·prompt
La Pulga18 小时前
【FreeRTOS源码学习笔记】任务延时列表
笔记·mcu·学习·嵌入式·freertos·实时操作系统
楚山之石20 小时前
【JCO】mpMRI 先行替代 TURBT 初始分期:BladderPath 随机试验让 MIBC 患者提前 45 天得到正确治疗
人工智能·学习·mri·医学影像
Peter-OK1 天前
PostgreSQL学习笔记(入门-进阶-精通说明)
笔记·学习·postgresql
承渊政道1 天前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor