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

C#底层知识

语法基础-C#基础语法(2)_第1张图片
底层关系

公共语言运行库
.Net Framework

1、基本数据类型

语法基础-C#基础语法(2)_第2张图片
数据类型
语法基础-C#基础语法(2)_第3张图片
类型

开发工程中: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;

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

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+"元.");

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

Console.WriteLine("我的名字i{0},性别{1},工资{2},name, age, wage);
Console.WriteLine()
有多个参数时,输出都是第一个参数中的内容,
从第二个参数开始,都是用来替换第一个参数中的占位符的值,
所以从第二个参数开始,要不要输出,就要看第一个参数中有没有相关的占位符。
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、变量的交换:

        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、捕获用户输入

            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、常用的转义字符:

\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、异常捕获机制

try
{
     有可能出现的错误
}catch
{
     如果try中的代码出问题,那么就执行这个里面的
}
     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天是几周?

            Console.WriteLine("请输入一个数字");
            int days =Convert.ToInt32(  Console.ReadLine());
            int month = days / 30;
            int weak = days % 30 /  7;
            int day = days % 30 % 7;
2、23233243秒,是几天几小时几分几秒?
            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常量

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

[访问修饰符] const 数据类型 常量名
public const int number = 60;

注意点:

  • 常量必须在声明时初始化
  • 常量只能用于基本类型,不能用在类和结构上。

一个人的路需要更多人的陪伴:欢迎加群: 134688909 一起交流,分享心得,获取项目资源。

你可能感兴趣的:(语法基础-C#基础语法(2))