文章目录
- 前言
- 前置条件
- 进制
- 什么是十进制、二进制
- 二进制有什么用?
- 为什么计算机用二进制而不用十进制?
- 二进制转十进制
- 十进制转二进制
- 二进制运算
- 计算机中的数据存储单位
- 什么是编程?
- 什么是代码?
- 什么是编程语言?
- 常见的编程语言
- 什么是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) |
---|---|---|---|
位 | bit | 1/8 | 1 |
字节 | B | 1 | 8 |
千字节 | KB | 1024 | 8192 |
兆字节 | MB | 1024 * 1024 | 8192 * 1024 |
吉字节 | GB | 1024 * 1024 * 1024 | 8192 * 1024 * 1024 |
太字节 | TB | 1024 * 1024 * 1024 * 1024 | 8192 * 1024 * 1024 * 1024 |
拍字节 | PB | 1024 * 1024 * 1024 * 1024 * 1024 | 8192 * 1024 * 1024 * 1024 * 1024 |
艾字节 | EB | 1024 * 1024 * 1024 * 1024 * 1024 * 1024 | 8192 * 1024 * 1024 * 1024 * 1024 * 1024 |
泽字节 | ZB | 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 | 8192 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 |
尧字节 | YB | 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 | 8192 * 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
一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信或者加群找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~