前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >语法基础-C#基础语法(2)

语法基础-C#基础语法(2)

作者头像
孙寅
发布2020-06-02 18:15:34
9860
发布2020-06-02 18:15:34
举报
文章被收录于专栏:宜达数字宜达数字
C#底层知识

底层关系

公共语言运行库

.Net Framework

1、基本数据类型

数据类型

类型

开发工程中:f1可以查看文档 命名空间不允许以数字开头,所以我们创建好之后,会默认在前面加_,系统加的 int a; 整数 2的10,取值范围:正负20多亿 double a; 小数 精度 17位到18位 char a; 字符型,只能存储一个字符,并且这个字符必须用单引号包住 string 类型:字符串,可以由0个或者多个字符链接起来。 decimal: 存储金钱,精度高。28位到29位。因为钱比较敏感 decimal money; money = 1000; money = 1000.25m;// 如果是double,那么必须后面加符号m/M

2、变量的声明方法

第一种:先声明,后赋值 int a; a = 100;

第二种:声明的同时赋值 int a = 200;

第三种:一次性声明多个相同类型的变量可用都好分割

代码语言:javascript
复制
int a, b;
int age = 10, height = 2, results = 99
Console.WriteLine(b);
Console.ReadKey();

3、C#命名两条规定,三条注意:

两条规定: 1、必须以“字母” _或者@符号开头 2、后面可以跟任意字母,数字,下划线 可以用中文,但是不要模仿

三条注意: 你起的变量名不要与C#系统中的关键字重复 大小写是敏感的 同一个变量名不允许重复定义 举例: string name = “李四" string name = “张三" 这里运行就会报错 但是如果想让name变成 “张三” 只需要name = “张三” 这属于重新赋值

4、+以及占位符

在C#中,具有两重意思,当加号两边是数字类型的时候,那么就是数学的意义。 如果加号两边的数据,有一个是字符类型,那么就是连接的意义! Console.WriteLine("我的名字"+age+",性别”+sex+",工资”+wage+"元.");

占位符{} 占位符可以重复使用

代码语言:javascript
复制
Console.WriteLine("我的名字i{0},性别{1},工资{2},name, age, wage);
Console.WriteLine()
有多个参数时,输出都是第一个参数中的内容,
从第二个参数开始,都是用来替换第一个参数中的占位符的值,
所以从第二个参数开始,要不要输出,就要看第一个参数中有没有相关的占位符。
代码语言:javascript
复制
Console.Write(“我的名字“+name+",性别"+sex+",年龄"+age+",工资"+wage);
Console.WriteLine("我的名字i{0}{0}{0},性别{1}{1},工资{2},name, age, wage);
没用到的变量不会出错
 Console.Write( "{0}我的名字"+name,”年龄“+sex);
 Console.Write("{0},我的名字" + name, "xingbie"+sex);

5、变量的交换:

代码语言:javascript
复制
        int a = 18;
        int b = 10;
        int temp;
        temp = a;
        a = b;
        b = temp;
        Console.WriteLine("a = {0}, b = {1}",a, b);
        Console.ReadKey();

6、捕获用户输入

代码语言:javascript
复制
            string name = "zhangsan";
            int age = 18;
            string input;   // 定义一个字符串类型的变量,来存储用户的输入
            string phoneNumber = "18034795123";
            input = Console.ReadLine();   // 存储用户的输入
            Console.WriteLine("我的名字{0},性别{1},我的年龄{2},我想吃{3}",phoneNumber,name,age,input);
            Console.ReadKey();

或者直接赋值:
string input = Console.ReadLine();   // 存储用户的输入

7、转义字符

转义字符是一个字符,由一个+一个字母来组成具有特殊意义的一个字符

1、常用的转义字符:
代码语言:javascript
复制
\n (另起一行) 
\b(退格,不管前面有没有字符,都会退一格,覆盖执勤的)  
\t(tab键,由多个空格组成一个字符,具有行与行支架你的对齐功能)
\\ \(两个杠表示一个)"

Console.WriteLine("抗战英雄,痛恨"日本人",因为他的亲人被杀害"); Console.ReadKey(); char ch = ‘\”’; // 转义其实就是一个char类型。

2、@
1.字在字符串前面表示字符串中的\不转义。字符串中如果有,则不再理解为转义字符

Console.WriteLine(@"抗战英雄,痛恨"日本人",因为他的亲人被杀害"); 如果前面有@符号,那么我们可以使用两个 ” “ 字符代表一个。 Console.WriteLine(@"我是中国人,痛恨""侵略我们的日本"",虽然他们很会伪装");

2.另一种含义:可以使字符串换行

Console.WriteLine(@"dadsdfdgfdghf asddsda asdadadadadasdd addadaa");

8、算术运算符:

+、-、*、/、% 这五种都是二元运算符,要求:参与的两个操作数类型必须相同,并且结果也与操作数相同。 在算术表达式中,改变计算优先级,使用()来改变。

计算机会自动提升参与计算的数据类型

1、参与运算的两个数据类型必须相兼容。 2、一边的数据类型比另一个数据类型大,那么就会将小的类型提升为大的类型,精度不会丢失! 凡是有可能丢失数据精度的转换,都不会自动完成!

9、比较运算符

> < >= <= != ==

10、逻辑运算符

&&||

11、选择结构

if结构 if-else结构 if-else if结构 switch-case结构

12、循环结构

for循环 while循环 do-while循环 for each循环

13、总结

强制类型转换:只需要在前面int b = (int)3.14, 关于字符串转换成其他类型:Convert.ToInt32(待转换的字符串); string convert = “90”; int i = Conver.ToInt32(convert); // 这就把string类型转成int 类型了

其他类型转换成字符串 Convert.ToString,每种类型还有.ToString()方法 一切类型都可以转成字符串。 int a = 10; int b = 20; Console.WriteLine(a.ToString() + b); Console.ReadKey();

14、异常捕获机制

代码语言:javascript
复制
try
{
     有可能出现的错误
}catch
{
     如果try中的代码出问题,那么就执行这个里面的
}
代码语言:javascript
复制
     try
            {
                Console.WriteLine("请输入你的姓名");
                string name = Console.ReadLine();

                Console.WriteLine("请输入你的语文成绩");
                int Y = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("请输入你的数学成绩");
                int S = Convert.ToInt32(Console.ReadLine());
                int Z = Y + S;
                Console.WriteLine("{0}您输入的总成绩为" + Z, name);
            }
            catch
            {
                Console.WriteLine("输入错误,重新输入成绩");
            }

            Console.ReadKey();

小练习:

1、1000天是几周?
代码语言:javascript
复制
            Console.WriteLine("请输入一个数字");
            int days =Convert.ToInt32(  Console.ReadLine());
            int month = days / 30;
            int weak = days % 30 /  7;
            int day = days % 30 % 7;
2、23233243秒,是几天几小时几分几秒?
代码语言:javascript
复制
            Console.WriteLine("请输入秒数");
            int second = Convert.ToInt32( Console.ReadLine());
            int day = second / (60 * 60 * 24);
            second = second % (60 * 60 * 24); // 剩余秒数
            int hours = second /(60 * 60);
            second = second % (60 * 60);
            int minutes = second / 60;
            int seconds = second % 60;

            Console.WriteLine("{0}秒是{1}天{2}小时{3}分{4}秒",second,day,hours,minutes,seconds);

15、const常量

什么是常量? 在程序运行过程中不可修改的量。 语法:

代码语言:javascript
复制
[访问修饰符] const 数据类型 常量名
public const int number = 60;

注意点:

  • 常量必须在声明时初始化
  • 常量只能用于基本类型,不能用在类和结构上。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C#底层知识
  • 1、基本数据类型
  • 2、变量的声明方法
  • 3、C#命名两条规定,三条注意:
  • 4、+以及占位符
  • 5、变量的交换:
  • 6、捕获用户输入
  • 7、转义字符
    • 1、常用的转义字符:
      • 2、@
        • 1.字在字符串前面表示字符串中的\不转义。字符串中如果有,则不再理解为转义字符
        • 2.另一种含义:可以使字符串换行
    • 8、算术运算符:
    • 计算机会自动提升参与计算的数据类型
    • 9、比较运算符
    • 10、逻辑运算符
    • 11、选择结构
    • 12、循环结构
    • 13、总结
    • 14、异常捕获机制
    • 小练习:
      • 1、1000天是几周?
        • 2、23233243秒,是几天几小时几分几秒?
    • 15、const常量
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档