编程语言
当然这一讲其实不是让大家真的去编程,而是让大家通过了解编程的基本原理,知道产品背后的程序逻辑是如何处理的。
现在主流的世界里面,编程语言,C语言当然还是有用的。而且还很有用,C++和Java都是基于C发展而来的。其次是,Java是如今非常主流的编程和语言了,很多机顶盒以及安卓都是基于Java开发的。在web开发领域,有一个主流的是PHP,另外一个是JavaScript,简称JS。而苹果公司,iOS系统,使用的则是objective-C,以及swift。这些语言,写出了一行有一行的代码。
数据
说到代码,则不得不提计算机世界中的基本单元,数据。每一个数据单元主要由几下三部分组成。分别是数据类型、数据名称、数据值。
数据类型是用来在计算机世界中区分和表达数据再提的规则,是一种对数据内容的约束,每一种数据都有一种且唯一一种数据类型。数据类型代表着标称语言中的最基本规则。
数据类型有“整型“‘字符型‘’浮点型‘和’布尔型‘。整型就是整数用int表示,字符型是文本类型,啥东西都能变成字符型。包括今天说的这一大堆话,里面的任何内容,都能是字符型。在Java里面用string表示,浮点型就是小数,float表示。布尔型特殊,它只有两个值,就是true和false。真或者假。
数据类型是能够转换的,也是能够拼接的,把数据转换成同一种类型,在代码里就能拼接了。
比如,这里三个数据,‘我爱你‘,’123‘,’我们相爱吧‘。 文字和数字怎么拼接呢。把他们都转换成字符型,就能接在一起,并打印出来了。 变成我爱你123我们相爱吧。
数据名称,就是一个东西的名称,比如,a,b,c。关键在于数据的值,你可以让a = 老虎,也可以让b =1,这个老虎和1就是值。这个名称下面的值。
数据有了,我们还得用这些数据,在程序中就是编程语言的逻辑结构。有条件判断if……else……,
就是,如果xxx,否则xxx。比如我们常见的登录框,可以这么写
If (用户名和密码不为空):
执行登录操作;
Else:
提示用户输入用户名和密码。
不过这不是真正的代码,就是一个例子。还有一种是条件选择switch ,case。这个方式是根据条件来选择对应的执行方式。比如一个自动售货机里面有5元,10元,15元三种商品。在程序中,可以类似于下面的方式来表示:
Switch(钱的面值):
Case 5:
选购5元商品;
Case 10:
选购10元商品;
Case 15:
选购15元商品;
Default:
退回并提示无法识别。
还有一种是循环操作,比如你想倒计时100秒,你若是自己数,那就是100,99,98.。。而让程序来做,就可以用do while来循环执行。
Do{100秒倒计时,每次倒计时数减一};
While(倒计时数>0)
在产品设计中,很多时候都会用到循环,你看现在很多广告牌,就那么三个广告循环,一会儿是肯德基,一会儿新浪新闻,一会来个吴亦凡。就这三种循环,就用的到程序的循环控制。
数据结构
说完数据和数据执行方式,我们来聊聊数据的组织的方式,即数据结构。
数据结构有这么几种,数组,栈,队列,树。
数组是同一数据类型的集合,就是具有相同数据类型的数据原色组成的集合,比如 12345,比如苹果,梨,棍子。前面是整数型数组,后面是字符型数组。如果用程序来定义呢,就是int a[3] ={1,2,3} . str fruit[3] ={‘苹果‘,’梨‘,’棍子‘}。
当我们看到一个页面设计,从A页面进入到B页面,在进入C页面,如果这时候返回a页面,我们在界面上执行返回操作,首先会先回到B页面,再回到A页面。这就是一个【栈】的设计思路。栈,又可以叫做堆栈,是一种满足一定规则的数据结构,这种规则,通常叫做后进先出。就是如果你想把底部的数据拿出来,就必须把前面的数据全部拿走。很像我们往桶里放东西。放到最底下的东西,要出来了,就得把上面的都拿出来。
而队列正好相反,队列在结构上氛围队头和队尾。这也是一个桶,但是是一个没有底的桶,横着放的。它是先进的先出。比如一个事儿,有几个步骤,而每个步骤先后顺序要求严格,就是用队列这种数据来实现了。
还有一种是树。就是树状结构。比如学校里面,高中,分为高一高二高三,高一有1班2班3班,这就是一个典型的树状结构。
了解完数据之后,我们再来说说程序。程序=数据+算法。就是一套指令的集合,程序里面最小的执行单元,称之为函数。程序员的第一个程序,都是hello world。
可以这么写print(‘hello world‘). Print(),就是一个函数, 里面的helloworld,是一个字符型数据。
我们见到的各种各样复杂的程序,里面都是由各种函数和数据构成的。
总结一下,前面我们提到了基本的数据结构和程序,程序是一系列数据结构和逻辑处理的集合,一个单一的处理流程用最小程序单元表示,将不同的逻辑处理流程组合拼接起来,就构成了一个产品的基本功能。
对于非技术型产品经理来说,不需要深挖每一行代码是怎么写的,但是需要知道代码的基本原理,知道这些原理后,在于技术人员的沟通中就能够更加游刃有余了。
网友评论