一起学编程(4--数据类型及流程)

人脑可以处理的数据包括声音,图像,触感等。人类对数据进行分类的基本目的是有利于组织和加工。相似类型数据的处理方法可以固化(模式化),这样有利于提高数据处理的效率,同时也有利于处理经验的传播。编程语言中的数据类型的是人类这种处理数据的思想或方法在计算机上的具体应用。数据类型的定义包括相似数据的共同特征(属性)和类似的一系列加工方式(方法)。看起来这种认识方法与我们知道的面向对象的特征一致,这并不意外,因为每种数据类型都可以看作是数据对象的类型。

数据类型可以分为基本数据类型和复合数据类型。要明白,这个两个概念是相对的。一般情况下,我们定义复合类型是基本数据类型的一个集合。对于计算机编程语言来说,基本的数据类型都很相似:位,字节,整形,浮点数,字符串,时间。对于真假,不同的语言处理方式则不太相同,这点比较重要,因为如果忽略这一点,就容易产生Bug.对于Java,Delphi,C# 这些语言,都有专门的真假保留字。而对于C,C++,JavaScript等语言来说,则没有专门的保留字。学习具体语言的时候应该弄清楚。当然,这些问题不要问为什么,就当约定就好了。

在这里我觉得有必要提一个数据库中的空值概念。空代表没有输入,是一种原始的状态。对于文本来说,空,空文本是有很大区别的(虽然有些数据库把空串处理成空值),有一些聚合函数会忽略空条件。在数据库中,这类错误很容易犯。具体的大家可以参考目标数据库的处理方式。对于C#编程语言,对于基本数据类型,也提供了一种可空类型,虽然从实际含义上来说这是一种进步,但说实在的,这增加了数据处理的复杂度(要时刻记得判空)。所以一般要求不高的情况下,可以通过拒绝空值来减少处理中的各种空值判断。

在学习数据类型的时候,基本类型因为经常用,只需要先了解基本概念,如何定义,有哪些基本的方法或函数。没必要死记硬背,在实践过程中积累即可。对于数据类型的长度,特别是数字型,应结合目标业务(特别是精度方面)以及计算机的位数来考虑。而对于数据库中的数据类型长度,则应考虑到数据库本身的文件读取特性(比如Oracle数据每次读取数据文件块都是2K(这个可以设置),那么数据记录的总长度就应该控制在2K以内为好。

编程中的流程控制,有顺序,分支和循环三种基本类型。任何其它流程都可以通过这三种基本的流程控制来表达。如果想了解为甚么,可以百度。但一般情况下不需要深究。这也是一种处理学习的一种方法:经过证明的东西可以拿来用,不需求什么事情都要弄明白为什么。

我们工作和学习一般都是流程化的,人生也是这样,但由于时间的单向性,循环只能是在一种类似,不是数学意义上的循环。

数据类型的很多东西,其实都是一种约定或者规范,或者偶然,比如一个字节是8位,这可能和早期的计算机位数(CPU带宽)有关,至于为什么早期CPU只有8位呢.....打住。而且有些东西可能就出自于设计者们的偏好,比如java为什麽叫Java,比如i,j,k表示循环变量等。

识别基本的元素,有的时候是一种非常重要的工作。比如0-9十个数字符号就可以表示任意的自然数(含0)。这和基本数据类型的选取也是相同道理。从数学上讲就是线性代数中的秩和线性表达(相关)的内容。

时间: 2024-10-25 04:24:54

一起学编程(4--数据类型及流程)的相关文章

小白从零开始学编程(五)--python数据类型--字符串

前言 从2020年3月份开始,计划写一系列文档--<小白从零开始学编程>,记录自己从0开始学习的一些东西. 第一个系列:python,计划从安装.环境搭建.基本语法.到利用Django和Flask两个当前最热的web框架完成一个小的项目 第二个系列:可能会选择Go语言,也可能会选择Vue.js.具体情况待定,拭目以待吧... 基本概念 字符串时候Python中最常见的数据类型,通过引号间包含字符串的方式就可以创建一个字符串数据,因为python中没有字符这个数据类型,所以单引号和双引号的作用是

为什么要学编程呢?

为什么要学编程?  不知道大家有没有感受到云计算的威胁?我已经深深的感受到了来自公有云的威胁,虽然国内云环境还不成气候,但威胁无时不在. 按照当前的发展趋势,运维,或者说中级运维的需求会越来越少,为什么会这样?因为随着自动化程度的提高,尤其像docker这样的容器技术的发展,更多的运维沦为操作工,而这是初级运维的事,我花5k请一个应届生能操作得很好,而且还听话,我干嘛要花15k去雇你. 然而,也并非所有运维都沦为操作工,那些在某一领域有深入研究的专家,在需要他的地方,永远是块宝,这样的人,无须我

一起学编程(2--认识世界)

?? 人类认知这个世界的开始并不是开始于人类成为人类的时刻,应该是生命开始诞生的时候就开始了,因为我们对世界的认知中,有部分已经刻画在我们的基因里面.在这里,我并不想写认知的历史和哲学,因为一是功底不够,二是我的目标是写学编程.但由于编程本质上也是认知世界的一部分,因此,我想我应该被允许从这里开始我们的编程之旅. 当生命具有自我意识的时候,其实就代表生命可以把自己从环境中区分开来,当然,前提是事物是可区分的,即事物具有生命感官可区分的特性(属性和行为).分类是我们认知这个世界最基本的手段,而分类

一起学编程(转载)

人类认知这个世界的开始并不是开始于人类成为人类的时刻,应该是生命开始诞生的时候就开始了,因为我们对世界的认知中,有部分已经刻画在我们的基因里面.在这里,我并不想写认知的历史和哲学,因为一是功底不够,二是我的目标是写学编程.但由于编程本质上也是认知世界的一部分,因此,我想我应该被允许从这里开始我们的编程之旅. 当生命具有自我意识的时候,其实就代表生命可以把自己从环境中区分开来,当然,前提是事物是可区分的,即事物具有生命感官可区分的特性(属性和行为).分类是我们认知这个世界最基本的手段,而分类的基础

入门:《教孩子学编程 Python语言版》中英文PDF+代码

工作需要看过这本书,书中以turtle绘图展开,吸引学生兴趣,引入点非常好,安利也比较有意思好理解,但是有部分案例不太符合中国情况,还需要再改一改,总之是一本学习编程的好书 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.这门强大的语言如今在大学和Google.IBM等大型技术公司广泛使用.<教孩子学编程 Python语言版>是一本父母和老师教孩子使用Python进行基础程序设计和解决问题的入门图书.书通过科学合理的结构.通俗易懂的文字.活泼有趣的图示,帮助孩子学习计算机的

17岁开始学编程,晚么?

刚在伯乐在线上看到一篇文章: 有位年轻的童鞋在 Quora 提问,“如果想成为一名顶级程序员,17岁开始学编程晚么?”FB 前程序员 Don Pinkus 针对这个问题,分享他从 22 岁开始起学习编程的经历. 看完他的分享,截取对自己有帮助部分马克一下,查看原文(http://blog.jobbole.com/85548/) 如果你现在就希望自己成为一名工程师,那么以下就是你的任务清单: 1. 到w3schools.com网站上学习HTML和CSS.2. 思考一下你想做一个什么样的网站.已经有

从零学编程1-写一封情书

一哥们闲暇之余想学编程,博主作为"会装系统的人"自然脱不了干系,这哥们名字叫鹰,初中文化,对于电脑的认识属于只会上网听歌看电影,差点忘了他强调过CF玩的不错. 那就教起吧. 主人公两枚: 鹰:从零学编程的哥们 我:从零教编程的作者 !!注意为了便于新手理解,使用大量的便于理解的语句,不代表本人知识水平.我怎么会告诉你Windows启动过程呢.(- o -)~ 开始我们的故事 我:今天让我们写一封电子情书. 鹰:我听说过,但是网上说得太复杂了- 我:会非常简单的.先下载个编程工具.就用我

我为什么学编程?

学习编程认真的算起来已经有2个多月了,实际上只有一个多月时间是认真学,其余时间是找借口或者说是心情不好,而不去学.总的来说已经是开始入门了.前几天一直以为自己笨,学了很长时间什么都没学会.可是昨天无意间看了学习Java的视频,感觉也没有那么难(我是从c语言开始学起的,看的是郝斌的视频和在网上买的C Primer Plus(第五版)中文版),除此之外,还发现那个老师打的代码不 规范,至少是不漂亮!!! 好了,言归正传!我在上初中时,我的一个远房叔叔就送了我一本谭浩强写的<C语言程序设计>,可是我

我给女朋友讲编程分享篇--看我姐和我女朋友如何学编程

有两天没有更新文章了,真是惭愧啊.前天,我想写写有关网站配色.美工方面的一些内容,查了很久,都没有找到满意的,本人也是程序员,没做过美工,所以对这方面确实很欠缺,希望哪位美工看到了,可以给我们程序员专门写一个系列的文章,叫<我教程序员学美术>,然后用最简单的.最生动的内容写出来,一定有很多程序员喜欢看.如何真得火了,到时候出书了,我一定买一本,捧捧场,哈哈. 昨天,搜了一下,如何注册免费空间和域名,本来是想注册一个免费的域名,申请一个免费的空间,自己可以更新文件的那种,结果,找了好几个,都不满

学编程,学单词.....在学习中积累自己的单词(不断更新__ing)

可以去肆意大话天下,可以去小民一般的言语,但是一定要清楚,知识的积累,至于心中,这样,你才能低至市井,上至高阁....畅通无阻! 1.  Loowater  厕所水 , Loo 盥洗室 学编程,学单词.....在学习中积累自己的单词(不断更新__ing),布布扣,bubuko.com