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(初始表达式;条件表达式;增量表达式)
{
}