初识C#(一)

初见C#有点激动,初学C#有点心动

文章目录

  • 前言
  • 一、第一个C#程序
    • [1.1 今天我们不用HelloWorld](#1.1 今天我们不用HelloWorld)
    • [1.2 超级变变变](#1.2 超级变变变)
    • [1.3 研究怎么变](#1.3 研究怎么变)
  • 二、C#里如何使用运算符
    • [2.1 数学运算符怎么到这里操作逻辑好像有点不同了?](#2.1 数学运算符怎么到这里操作逻辑好像有点不同了?)
    • [2.2 自生自灭运算符(++又- -)](#2.2 自生自灭运算符(++又- -))
    • [2.3 说不清道不明的关系运算符和非黑即白的布尔类型](#2.3 说不清道不明的关系运算符和非黑即白的布尔类型)
    • [2.4 或许真相并没有想象中那么简单的逻辑运算符](#2.4 或许真相并没有想象中那么简单的逻辑运算符)
    • [2.5 老幼病残优先没听过吗!](#2.5 老幼病残优先没听过吗!)
  • 总结

前言

本篇笔记重点描述C#的初级基础知识。


一、第一个C#程序

1.1 今天我们不用HelloWorld

在C#中,输出语句用Console.WriteLine();

csharp 复制代码
internal class Program
{
    private static void Main(string[] args)
    {
    	//这是一行注释
        Console.WriteLine("你说:\"what is \\n\"");
        //输出结果为,你说:"what is \n"
    }
}

因为\是转义字符,把本来是关键字的""和\n作为正常字符输出了。

1.2 超级变变变

变量顾名思义,就是可变的量,你可以利用变量来实现各种各样的操作。
而给这个变量定义一个类型是很重要的事情,这代表着这个变量可以变成对应类型的东西。

csharp 复制代码
internal class Program
{
    private static void Main(string[] args)
    {
        //创建变量
        //创建一个数据的容器,容器的名字叫做age,容器的类型是int
        //声明一个变量,变量的名字叫age
        int age;//int是变量类型,age是变量名
        //往容器里面放东西,赋值
        age = 10;

        double age2;

        char age3;

        int count;//计数器

        double ave;

        int total;

        double temperature;

        //赋值
        total = 4;

        //变量名是由英文字母,下划线,数字组成的,不能用数字作为开头
        int a = 3;
        int b = 8;
        Console.WriteLine(a + b);//11
        Console.WriteLine("a+b");//a+b
        Console.WriteLine(a + "+" + b);//3+8
        //当一个数字和字符串相加 做了一个字符串的组拼
        Console.WriteLine("a+b" + a + b);//a+b+38
        Console.WriteLine("a+b" + (a + b));//a+b11

        char a = '1';
        int b = a;
        Console.WriteLine(a);
        Console.WriteLine(b);

        Console.WriteLine("C:\\a\\b\\c");
        Console.WriteLine(@"C:\a\b\c");
        //通过@可以让转义字符不生效

        string str = @"www.suki.com""";
        Console.WriteLine(str);

        //怎么读取数据,输入数据
        //String str = Console.ReadLine();
        //Console.WriteLine(str + "-");
        1、类型一致 2、右边的值所需要的容器大小 小于等于左边的容器
        //int a = Console.WriteLine();

        //String str = Console.ReadLine();
        //int strInt = Convert.ToInt32(str);
        上下代码是等价的
        //int a = Convert.ToInt32(Console.ReadLine());

        //Console.WriteLine(str + "-" + a);

    }
}

现在的你看不懂上述代码也没关系,继续往下学自然就明白这些小细节的作用,知识并不是线性的,而是网状性的。

1.3 研究怎么变

但是每一次变量都需要亲自到场给它下达命令如何变就太麻烦了,接着我们研究了一种能把他们统一在一个地方来进行变的办法!

csharp 复制代码
internal class Program
{
    private static void Main(string[] args)
    {
        //int a = 5;
        //int b = 10;
        //int c = a;
        //a = b;
        //b = c;
        //a = a + b;
        //b = a - b;
        //a = a - b;


        //console.writeline(a);
        //console.writeline(b);

        int a = 23;
        int b = 45;
        //23+45=68;
        //Console.WriteLine(a + "+" + b + "=" + (a + b));
        //上面这种方式太麻烦,另一种方式是
        Console.WriteLine("{0}+{1}={2}", a, b, a + b);//0 1 2
		//输出23+45=68
        Console.WriteLine("两个数相加{0}+{0}={2}", 34, 123, 4);
		//输出两个数相加34+34=4
        Console.WriteLine("两个数相加{0}+{1}={2}", 34, 123, 4);
		//两个数相加34+123=4
    }
}

二、C#里如何使用运算符

2.1 数学运算符怎么到这里操作逻辑好像有点不同了?

在我们的惯性思维里面,等于号是'=',但其实在程序中,等于号是'=='

csharp 复制代码
internal class Program
{
    private static void Main(string[] args)
    {
        //int a = 23 + 23;
        //int b = 2 - 10;
        //int c = 4 * 23;
        //int d = 45 / 10;
        //int e = 45 % 10;

        //double f = 45 / 10.0;

        //Console.WriteLine(a);
        //Console.WriteLine(b);
        //Console.WriteLine(c);
        //Console.WriteLine(d);
        //Console.WriteLine(e);
        //Console.WriteLine(f);

        //int a = 43;
        //int b = 43 % 10;
        //int c = 43 / 10;

        //Console.WriteLine("个位数是{0}十位数是{1}", b, c);

        //int a = 0;
        //a + 1;
        //Console.WriteLine(a);

        int a = 0;
        a += 10;//a = a + 10;
        Console.WriteLine(a);
    }
}

2.2 自生自灭运算符(++又- -)

偶尔像个莽夫一样或许也能解决不少问题?但关键在于是先莽再怂还是先怂再莽。

csharp 复制代码
internal class Program
{
    private static void Main(string[] args)
    {
        int a = 5;
        //a++;
        //++a;
        //a++;
        //int b = a++;//先赋值再自增,先自增再赋值
        //int b = ++a;
        //Console.WriteLine(a);
        //a--;
        //Console.WriteLine(a);

        Console.WriteLine(++a);//先自增再赋值
        Console.WriteLine(a);
    }
}

2.3 说不清道不明的关系运算符和非黑即白的布尔类型

既然说了是关系,那就必然有大于1个的对象才叫关系。既然说了非黑即白,那就必然有黑白之分。

csharp 复制代码
internal class Program
{
    private static void Main(string[] args)
    {
        //bool a = true;//是的 真的 满足条件  1
        //bool b = false;//不是 假的 不满足条件    0
        //Console.WriteLine(a); 
        //Console.WriteLine(b);

        bool a = 45 == 67;
        bool b = 45 < 47;
        bool c = 45 <= 67;
        bool d = 45 > 67;
        bool e = 45 >= 67;
        bool f = 45 != 47;

        Console.WriteLine(a);
        Console.WriteLine(b);
        Console.WriteLine(c);
        Console.WriteLine(d);
        Console.WriteLine(e);
        Console.WriteLine(f);
    }
}

2.4 或许真相并没有想象中那么简单的逻辑运算符

既然是叫逻辑运算符,那这之间就一定不止上面2.3那么单纯,我们之间的关系可能是...谁知道呢?又或者说你其实并不是黑,而是穿着黑的衣服。

csharp 复制代码
internal class Program
{
    private static void Main(string[] args)
    {
         &&和 ||或 !非
        bool a = (3 < 4) && (9 < 10); //ture && false
        //bool a = true && true; //ture && false

        //bool b = (3 < 2) || (9 < 7);

        bool c = !(4 < 7);
        //bool c = !(true);//取反

        //Console.WriteLine(a);
        //Console.WriteLine(b);
        //Console.WriteLine(c);

        int age = Convert.ToInt32(Console.ReadLine());
        bool isYoung = (age > 17) && (age < 61);

        Console.WriteLine(isYoung);
    }
}

2.5 老幼病残优先没听过吗!

在各种运算符中自然也有优先级之分,但也能用()去强制让其中优先级低的优先级提高,毕竟让座也不是法律规定的嘛~

csharp 复制代码
internal class Program
{
    private static void Main(string[] args)
    {
        int res = 3 + 2 * 4;//乘法优先级比加减高
        Console.WriteLine(res);
    }
}

总结

1、C#中输出语句用Console.WriteLine();

2、输入语句用Console.ReadLine();

3、运算符和C++还有C里面的用法大致类似。

相关推荐
杨荧7 分钟前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
白子寰14 分钟前
【C++打怪之路Lv14】- “多态“篇
开发语言·c++
王俊山IT26 分钟前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
为将者,自当识天晓地。28 分钟前
c++多线程
java·开发语言
小政爱学习!30 分钟前
封装axios、环境变量、api解耦、解决跨域、全局组件注入
开发语言·前端·javascript
k09331 小时前
sourceTree回滚版本到某次提交
开发语言·前端·javascript
神奇夜光杯1 小时前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
Themberfue1 小时前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
plmm烟酒僧1 小时前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
测试界的酸菜鱼1 小时前
Python 大数据展示屏实例
大数据·开发语言·python