C#入门学习

文章中内容均是对b站唐老狮视频的学习所得

一、输入输出语句

1.Console.Write() 不换行输出

2.Console.WriteLine() 换行输出

3.Console.ReadLine() 输入数据,按回车键后输入完毕

4.Console.ReadKey() 用于监测用户按下键盘上的任意键

二、变量

1.变量类型

有符号
sbyte1字节8位
short2字节16位
int4字节32位
long8字节64位
无符号
byte1字节8位
ushort2字节16位
uint4字节32位
ulong8字节

64位

浮点
float4字节32位
double8字节64位
decimal16字节

128位

特殊
bool1字节8位
char2字节16位
string可变不固定

*有符号即有正负

2.变量命名规范

(1)必须遵守的规则

  • 不能重名
  • 不能以数字开头
  • 不能使用程序关键字命名
  • 不能有特殊符号(下划线除外)
  • 建议的命名规则:变量名要有含义——>用英文(拼音)表示变量的作用
  • 不建议用汉字命名

(2)常用命名规则

  • 驼峰命名法:首字母小写,之后单词首字母大写(变量)

例:string myName="名字";

  • 帕斯卡命名法:所有单词首字母都大写(函数、类)

例:string MyName="111";

*C#中区分大小写

三、常量

1.常量的声明

const 变量类型 变量名 = 初始值

例:const float PI = 3.1415926f;

2.常量的特点

  • 必须初始化
  • 不能被修改

四、转义字符

1.转义字符的含义及其使用

含义:字符串的一部分,用来表示一些特殊含义的字符。如:单引号、引号、空行等

2.转义字符的固定写法

固定写法:\字符

3.常用的转义字符

单引号\'
双引号\"
换行\n
斜杠\\
不常用的转义字符
制表符(空一个tab键,一个tab键是四个空格)\t
光标退格(光标往后退一格再打印)\b
空字符\0
警报音\a

4.取消转义字符

声明变量时,在变量值前加@,或在输出值前加@

例:string str = @"哈哈\哈哈";

Console.Write(@"\n\\");

五、类型转换

1.隐式转换(大范围转小范围)

  • decimal不能用隐式转换去存储double和float,但是可以存储整数
  • 特殊类型变量(bool、char和string)不存在隐式转换
  • 无符号类型不能存储有符号类型
  • 有符号类型可以存储范围比它小的无符号数
  • 浮点数可以存储任何类型的整数
  • 整数不能存储浮点数
  • bool和string不能和其他类型进行隐式转换
  • char不能存储其他类型的变量,但是宽度比它大的数值类型可以存储char,因为char类型是一个16位无符号整数

2.显性转换

(1)括号强转

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

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

  • 可能会出现范围问题,造成异常
  • 可能会出现精度问题,造成数值丢失
  • 浮点转整型时,会直接去掉小数点后的小数,不会四舍五入
  • bool和string不能通过括号强转进行类型转换

(2)Parse法

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

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

  • 字符串必须要是能够转成对应类型的字符,并且要符合对应类型的范围,否则会报错。     例:int n = int.Parse("1.11"); 运行会报错

(3)Convert法

作用:更准确的将各个类型之间进行相互转换

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

  • 精度比强转好,会四舍五入
  • 如果是转换字符串,字符串必须要是能够转成对应类型的字符

(4)其他类型转string

作用:拼接打印

语法:变量.toString();

  • 当进行字符串拼接时,就会自动调用tostring转成string。例:Console.Write("123"+1+true);

六、异常捕获

作用:避免代码报错时,造成程序卡死

基本语法:

//必备部分
try
{
    //希望进行异常捕获的代码
}
catch
{
    //如果出错了,会执行catch中的代码,来捕获异常
    //也可以写成catch(Exception e)可以通过打印e来获得具体的报错信息
}
//可选部分
finally
{
    //最后执行的代码,无论是否出错都会执行
}

七、运算符

1.算术运算符

(1)赋值符号 "="

例:string myName = "XXX";

 将右侧的值赋给左侧的变量

(2)算术运算符

+
-
*
/
取余%

(3)算术运算符的优先级

  • 乘除取余>加减
  • 括号内优先

(4)复合运算符

+=        -=        *=        /=        %=

例:int i+=1; 等同于 int i=i+1;

(5)算术运算符的自增减

自增++
自减--
int a=1;//--同理
++a;//代表先进行a+1再使用a
a++;//代表先用a再a+1

2.字符串拼接

(1)使用"+"拼接

例:string str="123";  str=str+"456";  str+=1;

(2)string.Format()

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

  • 想要被拼接的内容使用占位符替代{数字}(数字:0~n,依次往后)

例:string str=string.Format("我是{0},我今年{1}岁,我想要{2}",”xxx",18,"学好C#");

(3)控制台打印拼接

例:Console.Write("abc{0},123{1}","efg",456);

  • 占位符未从0开始会报错
  • 后面的内容比占位符多不会报错,比占位符少会报错

3.条件运算符

大于>
小于<
等于

==

不等于!=
大于等于

>=

小于等于<=
  • 优先级:条件运算符<算术运算符
  • 判断范围时,不能写成1<a<6的形式,要结合逻辑运算符,写成1<a&&a<6
  • 不同数值类型之间可以随意进行条件运算符比较
  • 特殊类型char、string和bool只能同类型进行==和!=比较

4.逻辑运算符

(1)与 "&&"

对两个bool值进行逻辑运算,有假则假,同真为真

假&&假=假        假&&真=假        真&&假=假        真&&真=真

(2)或 "||"

有真则真,同假为假

假||假=假        假||真=真        真||假=真        真||真=真

(3)非 "!"

对一个bool值取反,真变假,假变真

!假=真        !真=假

(4)混合使用优先级

!>&&>||

逻辑运算符<条件运算符<算术运算符(逻辑非除外)

(5)逻辑运算符短路规则

只要逻辑与或者逻辑或的左边满足了条件,右边就不会进行运算

例:

int i=1;
bool result=i>0 || ++i>=1; //左边i>0为真,故右边不进行运算
Console.Write(i); //打印结果为1
result=i<0 && i++>1; //左边i<0为假,故右边不进行运算
Console.Write(i); //打印结果为1

5.位运算符

(1)位与 "&"

  • 连接两个数值进行位计算,将数值转为2进制
  • 对位运算,有0则0
//同位运算
int a=1; //001
int b=5; //101
//  001
//& 101
//  001 = 1
int c=a&b;
Console.Write(c); //1

//不同位运算,高位补0
a=3; //011
b=19; //10011
//  00011
//& 10011
//  00011 = 3
c=a&b;
Console.Write(c); //3

(2)位或 "|" 

  • 有1则1
//同位运算
int a=1; //001
int b=5; //101
//  001
//| 101
//  101 = 5
int c=a|b;
Console.Write(c); //5

//不同位运算,高位补0
a=3; //011
b=19; //10011
//  00011
//| 10011
//  10011 = 19
c=a|b;
Console.Write(c); //19

(3)异或 "^"

  • 相同为0,不同为1
//同位运算
int a=1; //001
int b=5; //101
//  001
//^ 101
//  100 = 4
int c=a^b;
Console.Write(c); //4

//不同位运算,高位补0
a=3; //011
b=19; //10011
//  00011
//^ 10011
//  10000 = 16
c=a^b;
Console.Write(c); //16

(4)位取反 "~"

  • 写在数值前面,将数值转为2进制,0变1,1变0
int a=5; //由于int有32位,所以2进制为0000 0000 0000 0000 0000 0000 0000 0101
int c=~a;
//~ 0000 0000 0000 0000 0000 0000 0000 0101
//  1111 1111 1111 1111 1111 1111 1111 1010  左侧第一位是符号位,为-
Console.Write(c); //-6 涉及反码补码

(5)左移 "<<" 和 右移 ">>"

  • 左移几位,右侧加几个0
  • 右移几位,右侧去掉几个数
//左移
int a=5; //101
int c=a<<5; //1010 0000 = 160
Console.Write(c); //160

//右移
c=a>>2; //1 = 1
Console.Write(c); //1

6.三目运算符

基本语法:bool类型?bool为真返回的内容:bool为假返回的内容;

例:

string str = true?"条件为真":"条件为假";
Console.Write(str); //条件为真

int a=5;
str = a<1?"a小于1":"a大于1";
Console.Write(str); //a大于1

八、条件分支语句

1.if语句

if(条件)
{
    //满足条件要执行的语句
}
else if(条件)
{
}
else
{
    //else可选
    //不满足任何条件执行的语句
}

2.switch语句

switch(变量)
{
    case 常量1:
        变量等于常量1要执行的语句;
        break;
    case 常量2:
        变量等于常量2要执行的语句;
        break;
    default:
        如果上面case的条件都不满足,就会执行default中的代码
        //default可选
        break;
}
  • 如果不加break,执行完case 变量1中的代码会继续执行后面的代码

九、循环语句

1.while语句

while(条件)
{
    //满足条件时会执行while中的语句,运行完后再重新判断,直到不满足条件才退出
}

2.do{}while();语句

do
{
    //先执行一次循环语句,再判断是否满足条件,满足则继续执行,然后再判断,直到不满足才推出
}
while(条件);

3.for语句

for(初始表达式;条件表达式;增量表达式)
{
    //满足条件时运行的代码
}
  • 初始表达式:一般声明一个临时变量,用于计数
  • 条件表达式:要满足的条件
  • 增量表达式:用初始表达式的变量进行自增减运算

4.流程控制关键词

(1)break

作用:跳出循环

(2)continue

作用:回到循环开始,继续执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值