欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > 【从零开始入门unity游戏开发之——C#篇01】理论开篇,理解什么是编程

【从零开始入门unity游戏开发之——C#篇01】理论开篇,理解什么是编程

2024/12/31 1:02:35 来源:https://blog.csdn.net/qq_36303853/article/details/144376606  浏览:    关键词:【从零开始入门unity游戏开发之——C#篇01】理论开篇,理解什么是编程

文章目录

  • 前言
  • 前置条件
  • 进制
    • 什么是十进制、二进制
    • 二进制有什么用?
      • 为什么计算机用二进制而不用十进制?
      • 二进制转十进制
      • 十进制转二进制
      • 二进制运算
  • 计算机中的数据存储单位
  • 什么是编程?
  • 什么是代码?
  • 什么是编程语言?
  • 常见的编程语言
  • 什么是C#?
  • C#微软官方开发文档
  • 学习Unity为什么要先学习C#?
  • 选择适合自己的IDE集成开发环境
  • 专栏推荐
  • 完结

前言

这个系列我想了很久,最后决定还是整理出来。因为太多人问我如何零基础入门unity,我想着与其推荐,不如自己整理整理。

这个系列重点是压缩知识,只包含常用和必要的知识,尽量少讲理论知识,多举例说明,做到理论和实践相互结合,这样更容易理解。我会不断补充完善它,一方面是分享,另一方面是自己也可以扎实一下基础。我希望可以达到,无论是任何知识点,搜索查看之后几秒钟就能知道它是怎么且如何使用,这样后面忘记了某些知识点还可以把它当作文档回头查看。

文章虽然写的是零基础入门,但是其实无论是新手,还是有一定编程基础的人,我相信都能从中有所收获。扎实的基础真的很重要,不要等房子建起来了,才去修复地基,这无疑是十分困难且危险的行为。

如果你自认为基础已经很好了,那我简单提几个问题,看你是否能答上来:

  • 栈和堆的概念,值类型和引用类型区别
  • 委托和事件的区别?如何实现观察者模式?
  • 什么是程序集和反射?为什么需要反射?
  • 什么是GC、装箱和拆箱,如何优化?
  • 什么是特性,如何自定义特性?
  • 泛型的使用?
  • 进程和线程,如何实现多线程?
  • 什么是里氏替换原则?

好了,本文是开篇,主要是讲一下理论知识,看不懂也没关系,了解一下有个印象就行了。

前置条件

  • 只需要一台电脑

进制

什么是十进制、二进制

十进制很简单,其实就是我们生活中一直用的0123456789,逢十进一,9之后就是10
同理二进制就是逢二进一,0 1之后就是10 11 100 101…

二进制有什么用?

二进制是计算机系统中用来表示数据的一种基本数制,它只使用两个符号:0 和 1。每个符号称为一个“位”(bit)。

二进制位的组合是计算机存储和处理信息的基础。通过不同的二进制位组合,计算机可以表示数字、文本、图像、声音等各种各样的数据。

为什么计算机用二进制而不用十进制?

因为电路的开和关可以很容易地表示为0和1。二进制系统在硬件实现、可靠性、逻辑运算和数学基础等方面都有显著的优势,这使得它成为计算机内部表示和处理数据的首选数制。尽管我们人类通常使用十进制,但计算机使用二进制可以更高效、更可靠地执行各种计算任务。

二进制转十进制

二进制数转换成十进制数的方法是将每个位的值乘以其对应的2的幂次,然后将结果相加。例如,二进制数 1011 转换成十进制数的过程如下:

1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 1 * 2^0 = 8 + 0 + 2 + 1 = 11

所以,二进制数 1011 等于十进制数 11

十进制转二进制

十进制数转换成二进制数的方法是不断用2去除该数,记录下每次除法的余数,然后将这些余数倒序排列。例如,十进制数 11 转换成二进制数的过程如下:

11 ÷ 2 = 5 余 1
5 ÷ 2 = 2 余 1
2 ÷ 2 = 1 余 0
1 ÷ 2 = 0 余 1

将余数倒序排列得到二进制数 1011

二进制运算

二进制运算包括逻辑运算(如AND、OR、NOT、XOR等)和算术运算(如加法、减法、乘法、除法等)。例如,二进制加法:

  1011
+ 1101
------10100

这表示十进制中的 11 + 13 = 24

计算机中的数据存储单位

计算机中的数据存储单位从小到大依次为:

单位符号字节大小 (Bytes)比特大小 (Bits)
bit1/81
字节B18
千字节KB10248192
兆字节MB1024 * 10248192 * 1024
吉字节GB1024 * 1024 * 10248192 * 1024 * 1024
太字节TB1024 * 1024 * 1024 * 10248192 * 1024 * 1024 * 1024
拍字节PB1024 * 1024 * 1024 * 1024 * 10248192 * 1024 * 1024 * 1024 * 1024
艾字节EB1024 * 1024 * 1024 * 1024 * 1024 * 10248192 * 1024 * 1024 * 1024 * 1024 * 1024
泽字节ZB1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 10248192 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024
尧字节YB1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 10248192 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024

注意:

  • 位(Bit):是计算机中最小的数据存储单位,每个位只能是0或1。其实就是前面说的一个二进制位
  • 字节(Byte):由8个位组成,是计算机中最常用的数据存储单位。1字节通常可以存储一个字符(如字母、数字或符号),具体和编码格式有关。

这些单位帮助我们理解和管理不同大小的数据。例如,一个文本文件的大小可能是几KB,一张高分辨率的图片可能是几MB,一部高清电影可能是几GB,而大型数据库或云存储系统可能会以TB或PB来衡量。

什么是编程?

编程(也叫编码或开发)是通过特定的编程语言与计算机进行沟通的过程。通过编程,我们可以告诉计算机执行特定的任务。计算机本身只会执行非常基础的操作(如数学运算、数据存储、信息处理等),而编程则是人类用计算机能理解的语言编写一系列指令,指示计算机如何完成一个任务。

编程的目的是让计算机能够按照我们的需求工作,例如做一个网页、开发一个应用程序、分析数据,甚至是控制硬件设备等。

什么是代码?

代码是编程语言的具体表达形式,是程序员用来告诉计算机如何做某事的一系列指令。每一行代码都是为了实现某个功能,代码的逻辑结构决定了程序的行为。

什么是编程语言?

编程语言是一种人工语言,它用于定义计算机程序的行为和操作。通过编程语言,开发者能够向计算机发出指令,控制计算机的执行过程。编程语言包括一系列的语法规则和语义,用于描述数据的结构、操作以及程序的逻辑。

编程语言可以分为以下几类:

  • 低级语言(如汇编语言):

    直接与硬件交互,依赖于计算机的体系结构。
    与机器码的接近,语法和语义很简单,但可读性差,开发难度较高。

  • 高级语言(如Python、Java、C#、JavaScript等):

    离硬件较远,更接近人类语言,便于理解和编写。
    提供了更多的抽象功能,如内存管理、面向对象的支持等。

  • 脚本语言(如JavaScript、PHP、Ruby等):

    通常用于Web开发,语法简洁,开发周期短,主要用于动态网页和自动化任务。

  • 标记语言(如HTML、XML等):

    用于描述数据结构,非编程语言,但在计算机科学中用于组织数据。

  • 查询语言(如SQL):

    用于与数据库进行交互,进行数据查询、插入、更新等操作。

常见的编程语言

  • Python:简洁、易学,广泛用于Web开发、数据科学、人工智能等领域。
  • Java:面向对象,跨平台,广泛应用于企业级应用、Android开发等。
  • C:结构化编程语言,适合底层开发,常用于系统开发和嵌入式系统。
  • C++:C语言的扩展,支持面向对象编程,广泛应用于游戏开发、系统软件、应用软件等。
  • JavaScript:主要用于Web开发,能够在浏览器中执行,支持动态网页。
  • Ruby:动态、面向对象,广泛应用于Web开发(特别是Ruby on Rails框架)。
  • Swift:Apple开发的编程语言,主要用于iOS和macOS应用开发。
  • C#:微软开发的语言,主要用于Windows应用、游戏开发、Web开发等。

什么是C#?

C#(发音为 “C-Sharp”)是一种由微软开发的现代编程语言,属于C语言家族,并且是 .NET 平台的一部分。它结合了C、C++、Java等语言的特点,具备简洁、强大、类型安全的特性,适合进行各种类型的开发,包括桌面应用、Web应用、移动应用、以及游戏开发等。

C#的特点包括:

  • 面向对象:支持类、对象、继承、多态、封装等面向对象的编程思想。
  • 类型安全:强类型检查,避免类型不匹配的错误。
  • 简洁的语法:相比C++,C#的语法更简洁,减少了很多复杂的细节。
  • 自动垃圾回收:C#由.NET的垃圾回收机制管理内存,避免了手动管理内存的麻烦。
  • 跨平台支持:通过 .NET Core(现为 .NET 5/6 等版本)提供跨平台的支持,C#可以在Windows、Linux和macOS等操作系统上运行。

C#微软官方开发文档

https://learn.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/overview

学习Unity为什么要先学习C#?

  • Unity的脚本语言是C#,没有C#的基础,你将无法理解和编写Unity项目中的代码。
  • C#语法简洁且功能强大,它为Unity开发提供了高效的编程能力。
  • C#是跨平台的语言,这意味着你可以通过掌握它开发各种平台的游戏和应用。
  • C#的学习资源丰富,不仅限于Unity开发,对于其他编程任务也有广泛应用。

选择适合自己的IDE集成开发环境

IDE(Integrated Development Environment,集成开发环境)是一种为程序员提供开发、调试和执行程序所需工具的综合软件环境。它通常包含一个代码编辑器、调试器、构建工具、代码补全、版本控制等功能,目的是提高开发效率,简化软件开发流程。

目前市面上的IDE有很多,其中比较适合用于C#开发的包括Visual Studio(VS)和Visual Studio Code (VSCode),还有最近非商用免费开放的Rider。

其实选择哪个IDE都可以,根据自己喜欢选择即可。

这里我用的是VSCode,因为我一直用的都是VSCode,选择它原因:

  • VScode是一款轻量级的编辑器,安装包非常小,而且启动速度非常快。
  • 它拥有丰富的插件系统,更像一个任何语言都可以使用的万能的编辑器
  • 代码跟踪功能。绝大多数情况下要使用Git来管理我们的代码,这个时候VScode会跟踪我们的代码,非常明显地为我们标注修改内容。
  • 好看

专栏推荐

地址
【从零开始入门unity游戏开发之——C#篇】
【从零开始入门unity游戏开发之——unity篇】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架开发】

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇,https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信或者加群找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com