• 运算符概念解析


    运算符本身是为数据服务的

    加减乘除是不是运算符?是,但运算符不只有加减乘除,就像是苹果,香蕉,猕猴桃都叫水果,但是水果并不是只有猕猴桃,还有西瓜。什么意思?

    意思是有很多其他的字符也叫运算符。

    一个很有意思的事情,水果的定义到底是什么?如果不深究,也许是充满水分的?但是香蕉好像没那么多水,也许是长在树上的?也不是,西瓜长在地上。能吃的?有些水果有毒,不能食用。

    所以很难定义什么是水果,但是如果你爸妈问你要不要吃水果,你不会想到那些有毒的,没见过的水果,只会想到常见的那些。此时的水果含义可以认为是缩小化的,但在此时此刻水果的意义就是这样。

    在你的世界里,你叫黄瓜水果完全可以,但有些人会说那是蔬菜,但真的不算吗?

    水果,我们用几个条件去约束。可食用,味道好,长在地球上。

    所以关运算符什么事?

    因为如果想定义一个事物,就得给出这个事物的本质特征。

    运算符的本质特征就是为了数据服务。

    1+2=3;

    一个问题,离开了数字,+号有意义吗?

    var a=1;

    var b=2;

    var c;

    c=a+b;

    =的优先级为7,+的优先级为4;

    =的结合性是从右到左,+的结合性是从左到右;

    先不考虑上面两条,看看这个式子的运行顺序:

    先计算a+b,然后把值给c,这是明面上的东西,但谁能说清楚计算机内部到底是如何进行的?知道真正的运行原理才是真的明白了,否则都是在结果上进行探究而已。

    结合性到底是什么?

    a+b,就这三个字符而言,我真的看不出来结合性发挥了什么作用。接着看,c=a+b,这个就是说把=号右边的结果给c,以=为分割线,可以把这个式子看成两部分,a+b和c。

    想象一下自己的面前有两个篮子,左右各一个,ok,现在右边篮子里面有三个鸡蛋,然后我拿起三个鸡蛋放入左边篮子当中。

    这个过程有什么特点?很简单,就是说我是在把右边篮子中的鸡蛋放入左边,而不是左边放入右边。记住,这不是废话,这是不可出错的步骤,虽然简单,但是就是这么重要。

    所以结合性是什么?

    应该这么思考,如果没有结合性会怎样?看一个式子:

    c=d;

    啥意思?没意思,没有意义。

    所以,=号的实质和鸡蛋篮子的实质一样,它定义了一个动作:把右边篮子里的鸡蛋放到左边篮子当中。

    所以,这一动作是从右往左的(更好玩的是,到底什么是左右?哈哈),代表着一种顺序。

    所以结合性是什么?不知道

    结合性的中文是什么意思?结合?代表着组合,一个事物与另一个事物进行联系,比方说“结合理论与实际”,结?打结,一种动作,合,也是一种动作,“合二为一”,所以结合的含义就是两件事物本身变得有联系了。

    结合本身就是一种性质,所以叫结合性。

    继续,三元运算符,?:

    为什么叫三元?三个元素,就是三个东西。三元运算符指的是“本运算符要对三个元素动手!”

    var a=2;

    var b=(a==1)?1:2;

    优先级和结合性:

    ==:从左向右,7级

    ?: :从右向左,13级

    =:从右向左,14级

    1. 首先登场的是==,它关乎两个东西,a,1,拿左边篮子中的a去和右边篮子的1相比,结果是false;
    2. 其次登场的是?:,它先按照结果false去找到1,然后返回1这个值
    3. 最后登场的是=,右篮子鸡蛋放左边。

    ?:为什么是从右至左?

    到此为止,先停一下,因为我错了。

    你看,即便是花了很多功夫也不一定能理解这结合性到底是啥,说明我被误导了。

  • 相关阅读:
    mysql安装及初始密码问题
    centos7上安装erlang22.1
    共享文件夹设置
    putty免密登录
    重新开始
    单任务多线程 安全
    线程池
    多线程
    commons-IO
    打印流
  • 原文地址:https://www.cnblogs.com/flyover/p/14069834.html
Copyright © 2020-2023  润新知