c#入门学习

本文是C#编程的初学者指南,涵盖了变量、常量、转义字符、类型转换、异常捕获、算术运算符、条件分支语句、显示转换、数据类型、数组、值类型和引用类型,以及特殊的引用类型string的基础知识。内容包括变量的命名规范、常量的声明、转义字符的使用、类型转换的规则、异常处理的基本结构、算术运算符的优先级、条件运算符和逻辑运算符的使用,以及循环语句如for、while等。此外,还介绍了显示转换的方法,如括号强转、Parse法和Convert法,以及数据类型转换的注意事项。
摘要由CSDN通过智能技术生成

c # 基础入门

(纯小白的学习记录)
变量
常量
转义字符
类型转换
异常捕获
算术运算符
条件分支语句
显示转换
数据变量类型
数组
值类型和引用类型
特殊的引用类型

变量

一、变量

1.变量的类型

有符号 所占字节数(字节数越大,范围越大)

sbyte(-128~127) 1
int(-21亿多~21亿多) 4
short(-3万多~3万多) 2
long (-9百万兆多~9百万兆多) 8

无符号 ----不能装负数

byte (0~255) 1
uint (0~42亿多) 4
ushort (0~6万多) 2
ulong (0~18百万兆多) 8

浮点数

float (7~8位有效数字) 4
double (15~17位有效数字) 8
decimal (27~28位有效数字) 16

特殊

bool (true 和false) 1
char (一个字符) 2
string (一串字符) 【该字符串较为特殊,范围可变】

2.变量的储存空间
1byte = 8bit
1MB = 1024 byte
1GB = 1024MB
1TB = 1024 GB

通过sizeof 方法 可以获取变量类型所占的内存空间(单位:字节)
(sizeof 是不能得到string 类型所占的内存大小的,因为string字符串的长度是可变的)

int sbyteSize= sizeof (sbyte);
  Console.WriteLine("sbyte 所占的字节数为:” +sbyteSize);

3.变量的本质是2进制

计算机中所有数据的本质都是二进制,实际上是一堆0和1
数据传递只能通过电信号,只有开和关两种,所以就用0和1 表示这两种状态

1bit就是一个数,要不是0要不是1,为了表示数据方便,出现一个叫bite(字节)的单位,它是由8个bit组成的存储单位,所以我们一般说一个字节为8位

4.变量的命名规范

规则
1.不能重名
2.不能以数字开头
3.不能使用程序关键字命名
4.不能有特殊符号,下划线除外

*建议的命名规则 变量名要有含义,用英文表示变量的作用 ,尽量不用汉字

*命名法

驼峰命名法 (变量)
首字母小写,之后单词首字母大写,相当于间隔的作用

帕斯卡命名法 (函数,类)
所有字母都大写

常量

二、常量

1.常量的申明
关键字 const
const 变量类型 变量名 = 初始值

常量的申明 const int i2 = 20;
变量的申明 int i = 10;

2.常量的特点
//变量的申明可以不初始化
string name;
//之后可以修改
name = “123”;
name = “345”;

3.常量的申明必须初始化,且不能被修改
const string myName = “肖战”;
//常量的作用,申明一些常用的不变的量

转义字符

三、 转义字符

定义 它是字符串的一部分,用来表示一些特殊含义的 字符,如在字符串中表现单引号双引号 空行等等

1.固定写法 \字符
不同的 \和字符的组合,表示不同的含义

2.转义字符,举例单引号

  string str = "\'哈哈哈\'";
        Console.WriteLine(str);

单引号 ’
双引号 "
换 行 \n
斜杠 \ (计算机文件路径 是要用到 \ 符号的)

不常用的转义字符
制表符 tab键,快速空四格      \t
光标退格   \b
空字符      \0
警报音       \a

4.取消转义字符

 string str2 = @"哈哈\哈哈”;
Console.WriteLine(str2);
 

本来\是不能在该字符串中体现,但是现在加了@,打印出后就是 哈哈\哈哈

类型转换

四、类型转换(不用变量类型间的转换)

       //隐式转换----不同类型间的自动转换
           大范围装小范围

        //1.相同大类型之间的转换
        //有符号  long  int  short   sbyte(范围一次减小)
        long l = 1;
        int  i = 1;
        short s = 1;
        sbyte sb = 1;

        l = i ;
        //隐式转换int 转换成了long,可用大范围装小范围, i= l  就不能实现
  • decimal 这个类型 没有办法用隐式转换去存储float 和double,但是可以隐式存储整形(有符号和无符号);特殊类型(bool char string)之间不存在隐式转换

         //2.不同大类型之间的转换
          *无符号和有符号之间
         (1)无符号装有符号(不能实现)
         //有符号的变量是不能隐式转换成 无符号的
       (2)有符号装无符号(可以)
         // 只要有符号的变量 都在无符号变量的范围内
         *浮点数  可以装任何类型 整数的
         *整数  不能装浮点数
         *特殊类型 和其他类型之间 
         //bool没有办法和其他类型相互转化 ;char 没办法隐式储存其他类型的变量,但是可以隐式转换成 整形和浮点型
        //char隐式转换成数值类型,对应的数字其实是一个ASCII码(百度搜),计算机里存储二进制,字符中文英文标点符号在计算机中其实都是一个数字,一个字符对应一个数字,ASCII码就是一种对应关系
    

    总结 double–>float—>整数(有符号,无符号)---->char
    decimal ---->整数(有符号,无符号)---->char
    string 和bool 不参与隐式转换规则

异常捕获

五、异常捕获

//异常捕获作用
//将玩家输入的内容存储 string 类型的变量(容器)中
string str = Console.ReadLine() ;
//Parse转字符串 为 数值类型时 必须要合法合规
int i = int.Parse(str);
//通过对异常捕获的学习,可以避免当代码报错时,造成程序卡死的情况

         //必备部分
         try
         {
           //希望进行异常捕获的代码块
           //如果try中的代码 报错了不会让程序卡死
         }   
         catch
         {
              //如果出错了  会执行  catch中的代码 来捕获异常
              //catch(Exception e )具体报错跟踪 通过e得到 具体的错误信息
         }
         //可选部分
         finally
         {
             //最后执行的代码  不管有没有出错 都会执行其中的代码
            // 目前可以不用
         }
            // try
            //{
   
            //    string str = Console.ReadLine();
            //    int i = int. Parse(str);
            //    Console.WriteLine(i);
            //}
            //catch
            //{
   
            //    Console.WriteLine("请输入合法数字");
            //}

//注意 异常捕获代码基本结构中 不需要加 ; 在里面写代码逻辑的时候 每句代码才要加 分号

算术运算符

六、算术运算符

1.赋值符号
//=
//先看右侧 再看左侧 把右侧的值赋给左侧的变量

2.算术运算符

// +

(1) 用自己计算 先算右侧结果 再赋值给左侧变量
int i = 1;
i = i +2;
(2)连续运算
(3)初始化就运算 先算右侧结果 再赋值给左侧变量
int i2 = 1+2+3;
Console.WriteLine(i2);

// 除法

  int chu = 1;
        chu = 10 / chu;
        Console.WriteLine(chu);
       默认的整数  是int类型  如果用来做除法运算  会丢失小数点后的小数
       如果想用浮点数来存储 一定是 在运算的时有浮点数的特征
  chu = 1;
        chu = 1 / 2;
        Console.WriteLine(chu);
        float f = 1 / 2f;
        Console.WriteLine(f);

//取余 %

int y= 4;
y = y % 3;
Console.WriteLine(y);

3.算术运算符的优先级

先乘除后加减

4.复合运算符

//固定写法  运算符=
        // +=   -=  *=   %=
       // 复合运算符  用于  自己= 自己进行运算
  int i3 = 1;
        i3 += 2;// i3 = i3 + 2 ;
        Console.WriteLine(i3);

//复合运算符 只能进行一种运算 不能混合

5.算数运算符的自增减

 //自增运算符   让自己+1
    a2 = 1;
    Console.WriteLine(a2++);//先用再加   //1
    //2
    Console.WriteLine(++a2);//先加再用    //3

//只有加减才有自增减

6.字符串的拼接1

//之前的算术运算符只是用来数值类型变量进行数学运算的 //而string 不存在算术运算符 但是可以通过 + 号来进行字符串 的拼接

string str = "123";
            str = str + "456";
            Console.WriteLine(str);
            str = str + 1;
            Console.WriteLine(str);

复合运算符

str = "123";
        str += "1" + 4 + true;
        Console.WriteLine(str);

        str += 1 + 2 + 3 + 4;
        Console.WriteLine(str);

        str +=  ""  + 1 + 2 + 3 + 4;
        Console.WriteLine(str);

        str = "";
        str += 1 + 2 + "" + (3 + 4);
        Console.WriteLine(str);

字符串的拼接2

//固定语法
//string.Format(“待拼接的内容”,内容1,内容2,…);
//想要被拼接的内容用占位符代替 {数字} 数字:0-n,依次往后

  string str2 = string.Format("我是{0},我今年{1}岁,我想要{2}", "王垚", "18", "去重庆");
        Console.WriteLine(str2);

        //控制台打印拼接
        //后面的内容比占位符 多  不会报错,比占位符少 会报错
        Console.WriteLine("A{0},B{1},C{2}"
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值