程序属于指令的集合, 编写程序就是借助指令使得计算机去做我们期望它做的事情。那么, 为何要用语言去写程序呢? 其原因在于语言具备简单优雅的特性, 相较于C、C++、此类编程语言, Java对初学者而言更为友好。
一、一些计算机常识
在着手开启系统的编程学习之前这段时间,我们先来开展一些计算机基础知识的科普工作。计算机的硬件系统一般是由五大部件来构成的, 这五大部件包含着: 运算器、控制器、存储器、输入设备以及输出设备。其中, 运算器跟控制器放置到一块儿就是我们平常所说的中央处理器, 它所具备的功能乃是执行各种运算以及控制的指令。刚刚我们提及道程序是指令的集合, 编写程序就是把一系列的指令依照某种方式组合到一块儿, 接着借助这些指令去操控计算机做我们期望它去做的事情。当下, 我们所运用的计算机基本上都是归属"冯·诺依曼体系结构"的计算机, 这类计算机存在两个关键要点, 其一, 是得把存储设备跟中央处理器分离开来, 其二, 是要将数据依照二进制方式进行编码。
"逢二进一"的计数法, 此为二进制, 它跟人类所用"逢十进一"计数法, 本质并无二致, 人类因有十根手指故而采用十进制, 计数之时, 十根手指耗尽后为表示更大数值便只能借助进位方式, 当然凡事均存在例外, 玛雅人或许是因常年赤足, 连脚趾头都加以运用, 如此他们采用二十进制计数法, 在此计数法指引下, 玛雅人的历法遂与平常人类所用历法不一样。据玛雅人的历法, 2012年是前一个被称作"太阳纪"的最后一年, 2013年是新的"太阳纪"的起始之年, 而后此事经以讹传讹进而误传成"2012年是玛雅人预言的世界末日"之荒诞说法。如今众多人在猜测, 玛雅文明发展迟缓与采用二十进制存在关联。对计算机而言, 二进制在物理器件上最易达成, 因可用高电压表示1, 用低电压表示0。并非每个从事写程序工作的人皆须晓得十进制及二进制是怎样进行转换的, 多数情况里我们即便对这些知识缺乏了解, 同样能够编写出程序, 然而我们务必要明白计算机乃是运用二进制来计数的, 不管是怎样的数据, 当其抵达计算机内存之后是以二进制形态存在的。
二、变量和类型
想要于计算机内存里头保存数据, 那首先就得讲一讲变量这个概念。在编程语言之中, 变量是数据的载体, 从简单的角度来讲就是一块用以保存数据的内存空间, 变量的值能够被读取以及修改, 这是所有计算以及控制的基础。计算机能够处理的数据存在多种类型, 最为常见的便是数值, 除了数值以外还有文本、图形、音频、视频等形形色色的数据。尽管数据在计算机里皆是以二进制形态存在的, 然而我们能够运用不同类型的变量来体现数据类型的差异。其中的数据类型数目众多, 并且又准许我们凭借自身定义全新的数据类型(有关这一点在后边将会予以讲述), 这里我们应当先行知悉若干种常用的数据类型呐。
python
`a = 5 # a是整数类型
b = 'Hello' # b是字符串类型
c = 3.14 # c是浮点数类型
d = True # d是布尔类型
print(a, b, c, d)`
三、变量命名
在相关情境里, 对于每一个变量而言, 我们都要给其赋予一个名称, 这如同我们每个人都拥有属于自身独有的姓名那般。其中, 就变量命名来讲, 是需要去遵循以下这些既定的规程的, 而这些规程又被划分成必须严格依照执行的硬性准则, 和建议予以遵循的并非硬性的规则。
非硬性规则:
你先暂且不用去领会规则2, 规则3, 往后自然而然就会清楚明白了。那个, 身为一名专业程序员, 在给变量(实际上是所有标识符)取名的时候, 达成见名知意这一点, 也是相当关键重要的。
四、变量的使用
下面通过例子来说明变量的类型和变量的使用。
python
`a = 45 # 变量a保存了45
b = 12 # 变量b保存了12
print(a + b) # 57
print(a - b) # 33
print(a * b) # 540
print(a / b) # 3.75`

能在其中运用type函数去对变量类型予以检查。于程序设计里函数的概念跟数学方面函数的概念大体相同, 数学上的函数想必大家并不感到陌生, 它涵盖了函数名、自变量以及因变量。要是暂时没法理解函数这个概念也没关系的, 我们会在后续内容里专门针对函数的定义与使用开展讲解。
python
`a = 100
b = 12.345
c = 'hello, world'
d = True
print(type(a)) #
print(type(b)) #
print(type(c)) #
print(type(d)) # `

各种各样不同品类的变量能够彼此相互进行转换, 而达成这样一点可借由的是内置的函数予以实现。
转换
python
`a = 100
b = 12.345
c = 'hello, world'
d = True
# 整数转成浮点数
print(float(a)) # 100.0
# 浮点型转成字符串 (输出字符串时不会看到引号哟)
print(str(b)) # 12.345
# 字符串转成布尔型 (有内容的字符串都会变成True)
print(bool(c)) # True
# 布尔型转成整数 (True会转成1,False会转成0)
print(int(d)) # 1
# 将整数变成对应的字符 (97刚好对应字符表中的字母a)
print(chr(97)) # a
# 将字符转成整数 (Python中字符和字符串表示法相同)
print(ord('a')) # 97`

变量的作用域
处于其中, 变量所拥有的作用域, 乃是指变量能够被进行访问的范围。其中存在着不同的作用域。
处于全局作用域(scope)的情况是, 存在着定义于模块层次的变量, 或者是那定义于模块层次的函数, 它们能够在模块当中的任何一处地方被访问到的。
在函数当中或者类方法之内所定义的变量, 其属于局部作用域, 而这样的变量, 仅仅能够在该函数或者类方法里面会有所被访问。
里头,变量的作用范围是靠它所处的代码块来定的。每个代码都有其自身的作用范围, 当解释程序在行代码块的时候, 会创立个新的作用范围, 当代码块执行完了的时候, 这个作用范围就被消除了。
特殊的变量
中有一些特殊的变量,它们有着特定的作用,包括:
name: 这是个特殊变量, 它于每个文件里自动生成。当文件直接运行时, 此变量所呈现的值是"main" , 当文件作为模块被导入时, 该变量的值是文件名。
对于变量而言是专为去存储文档字符串, 采取编写字符串方可定义就在函数、类或模块的首行位置。文档字符串这一内容能够借助help()函数于其中来进行访问。
变量 file 的作用是涵盖当前模块中带有路径的 , 在模块于缓存内被搭建起来的时候, 该变量所具有的数据值为 None。
存有内置函数和变量之名称空间与否的变量, 可供获取内置函数列表时的访问所用。
存在这样一个变量, 它所包含的是当前模块的包名, 要是模块不在包里面, 那么这种状况下该变量的值会是None。
删除变量
将变量进行删除操作时, 能够运用del关键字来达成。del既有删除单个变量的功能, 又存在删除多个变量之作用。
python
`x = 5
print(x)
del x
print(x)`

在方才提及的案例里头, 我们首先对变量x进行了定义, 接着把变量x予以打印, 随后又将变量x给删除, 一旦删除之后, 此变量x便没办法再被访问了。
由del进行删除操作的变量或者元素, 会被完全地删除掉, 没办法再一次去进行访问或者使用。要是试着去访问已经被删除的变量或者元素, 就会抛出来一个异常。所以, 在将变量或者元素删除以前, 务必要保证它们不再被需要使用。
在程序里面, 我们能够运用变量去保存数据, 变量具备不一样的类型, 变量能够进行运算, (下一课会给出详细的讲解), 并且也能够借助内置函数来转变变量类型。
总之, 变量是个基本概念, 其作用是存储数据。变量命名得遵一定规则, 能借赋值语句创建变量, 允许多个变量指向同一对象, 还支持变量类型的动态转换。在删除变量或元素前, 请务必保证它们不再被需要使用。