当前位置: 首页 > article >正文

初识C#(一)

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

文章目录

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


前言

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


一、第一个C#程序

1.1 今天我们不用HelloWorld

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

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

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

1.2 超级变变变

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

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 研究怎么变

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

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 数学运算符怎么到这里操作逻辑好像有点不同了?

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

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 自生自灭运算符(++又- -)

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

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个的对象才叫关系。既然说了非黑即白,那就必然有黑白之分。

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那么单纯,我们之间的关系可能是…谁知道呢?又或者说你其实并不是黑,而是穿着黑的衣服。

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 老幼病残优先没听过吗!

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

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里面的用法大致类似。


http://www.kler.cn/news/318694.html

相关文章:

  • 2.以太网
  • 毕设基于SSM+Vue3实现设备维修管理系统四:后台框架及基础增删改查功能实现
  • 常见区块链数据模型介绍
  • [leetcode]113_路径总和II_输出所有路径
  • 【AIGC】ChatGPT RAG提取文档内容,高效制作PPT、论文
  • day-59 四数之和
  • 【React】(推荐项目)使用 React、Socket.io、Nodejs、Redux-Toolkit、MongoDB 构建聊天应用程序 (2024)
  • 数据集-目标检测系列-海洋鱼类检测数据集 fish>> DataBall
  • short-link笔记
  • ubuntu 24.04 输入设备显示没有,系统没有找到电脑麦克风
  • web平台搭建-LAMP(CentOS-7)
  • 【自动驾驶】基于车辆几何模型的横向控制算法 | Stanley 算法详解与编程实现
  • ai写论文哪个平台好?分享4款ai论文写作平台软件
  • Python范例总结
  • 【计算机视觉】YoloV8-训练与测试教程
  • javascript是什么语言?它是干什么的?
  • Element UI在工程中使用方式
  • 79、Python之鸭子类型:没有听过鸭子类型?关键在于认知的转变
  • 网络安全-长亭雷池waf的sql绕过,安全狗绕过(5种绕过3+2)
  • 安科瑞Acrel-1000DP分布式光伏监控系统在鄂尔多斯市鄂托克旗巴音乌苏六保煤矿5MW分布式光伏项目中的应用
  • [linux][证书]证书导出公钥
  • MySQL记录存储过程执行的错误信息
  • 改进拖放PDF转换为图片在转换为TXT文件的程序
  • 浅谈C++之多线程实现
  • 口语训练材料
  • 力扣【283-移动零】【数组-C语言】
  • 微服务之服务保护
  • git checkout -b dev origin/dev
  • golang cmd.exec 执行命令后报错 No such file or directory
  • 最优化理论与自动驾驶(二-补充):求解算法(梯度下降法、牛顿法、高斯牛顿法以及LM法,C++代码)