[Day7] IoT Maker之Coding知识科普 - (Variable)

1.前言

今天本来要进入函示Part2的,但後来想想这次系列文章面对的是全龄层(普遍级),前面好像也都没有说过关於Coding时候的一些规范,因此接下来2天就跟大家来介绍一下在做一位IoT Maker时相当重要的Code技能之基础知识,而今天主要是介绍变数、变数型态、回圈、判断,变数是什麽。大家可以把那个当成是一个容器,它可以装许多不同的数值,当然这个容器也有大小,大小的话等等再谈,那回圈是甚麽呢?回圈就是规律性的重复执行指令直到条件满足为止,例如:昼夜交替、呼吸...等事情,最後判断,字面上的意思很明显,就是判断 (废话模式On),判断什麽呢,就是判断数值是否正确,或容器内数值是否正确(当然也可以判断不正确),那下面开始进入主题。

2.变数及变数名称的爱恨情仇

变数(Variable)是指该数值是可变的,而在定义变数的数值时需要一个名称,我们通常会称为变数名称,变数名称相当於号码牌,因为我可以透过变数名称,就能得知我要更动未知数的数值,所以变数名称也相当於一个号码牌,就可以透过该号码牌得知我要寻找这个未知数,那都说变数名称了,总该会有命名的困扰吧?那这点就无需多担心,因为变数名称的命名很自由,只有些许规定及不要用到关键字(keyword)就OK,关键字的部分稍後会讲解到,那现在继续说变数的命名多简单,例如我把变数名称命名,Hello、Apple123等等的都可以,所以这就代表英文及数字都支援命名,而有些程序语言会支援用中文(Arduino不支援喔0u0)去命名变数名称,但在真正使用时,大家都是使用英文的,因为中文还是会有些诟病,例如:外国人看不懂及维护时很麻烦,因为要中英文一直切换,但也有优点,可以教国小、国中生即不会英文者。

图片取自:使用者绘制

图片取自:使用者绘制

上方两张图分别是定义变数的两种用法,上方为先定义变数名称,好处在於我可以在後续在定义要储存的数值为多少,下方为定义变数名称及要储存的数值为多少,那我这边先是使用150的数值,後续也会介绍它的最大值跟最小值的区间,而这些都与於在资料型别中,所以等等才会介绍到~。

那接下来各位看上图应该都注意到除了变数名称及数值,还需要资料型别和运算子及;做组合,运算子会在下一篇做讲解,所以我们现在先讲资料型别。

3.变数的资料型别(态)

资料型别(态),主要是规定变数的格式,例如设置变数数值的最大值及最小值或是可以储存什麽,那这边也没啥好讲了(但很重要),所以直接看下面吧。

表格取自:使用者绘制

看到上面有许多资料型态,而每定义一个变数都会消耗位元组(Byte),所以资料型态牵扯到记忆体的使用量,但因为现在我们所教的程序都属於较小型的所以不会特别去限制型态的大小,所以大多数都是使用int型态,除了程序上常使用的int还可以使用long等等的资料型态,各位也可以尝试使用不同的资料型态去练习。

4.命名变数名称规则

  1. 变数名称可包含英文字母、数字
  2. 变数名称开头不能是数字
  3. 变数名称大小写有差
  4. 变数名称应该设为有意义的名称
  5. 变数名称不能是特殊符号(_及$除外)

那除了以上这5点还有一点就是不会用关键字去命名(keyword),例如上面有提到的int(因为是资料型态),除了int之外还有很多,因为这些在Arduino里面都有特殊的意义,所以就会无法使用这个命名,但是可以在後面多加个数字或英文就可以使用了(被打XD。

欢迎交流

好了,今天的内容较为基础,因为他就是程序的地基,是每个踏入程序的第一步,就很像网路上每个工程师或学程序的都会在执行程序时印出HelloWorld了,这个习惯都已经成为每人的习惯起手式,但其实这步骤也是测试此程序可不可以使用,而Arduino都是有些基础才开始接触的,并不是一张白纸直接碰触,但是为了每人的起跑点都是相同的,所以最基础的也都会讲解到,所以一起跟上吧,那明天会讲解到剩下的,像是判断及回圈,那就好好期待明天吧~


<<:  D2 建立资料库表格、创建管理者帐户、登入後台

>>:  Python 搜寻子目录下档案+筛选条件 walk+fnmatch

[ 卡卡 DAY 26 ] - React Native 手机装置 keyboard 之乱之键盘挡住元件与键盘点萤幕收起来

手机装置切完版後才会发现 啊~~~ 还没完成 今天我们来针对键盘挡住元件做个处理吧!! 来介绍个插...

Gin 表单

Golang Gin 表单 今天真的有点爆炸了,几乎没时间补文章,只能抽空拿点时间来写,如果在gin...

android studio 30天学习笔记-day 13-介绍databinding BindingAdapter

BindingAdapter可以做一些自定义的属性,解决一些databinding在属性上的问题。 ...

#2 HTML x Lovely Auntie

What is HTML? English: Wiki - HTML Mandarin: HTML ...

Python 演算法 Day 4 - 理论基础 微积分

Chap.I 理论基础 Part 2:微积分 4. Critical Points and Opti...