资讯专栏INFORMATION COLUMN

7天学会3门语言,第一天

aristark / 2835人阅读

摘要:天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的。

7天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的。

网络上,网友们争论的哪个语言是最好的语言在我看来是这个世界上最无聊的争论。语言只是最基础的工具,是为我们服务,为业务服务的。如果你会编程,从A语言切换到B语言不会有太大的gap。以后我要写的一系列文章,总结了如何快速入门一门新语言。核心思想是重视编程特性,而不是具体的语言。先把编程实现的特性拿出来,再看看某种语言是怎么做到的。

先说编程特性,任意一门编程语言都会具有以下特性:

变量和数据类型,赋值和输出

算术运算

选择结构

循环结构

函数定义,函数调用

变量作用域

栈,程序运行的基石

面向对象

指针/引用

异常处理

语言提供的公用包

如果你不同意,请给我留言!如果是零基础的同学,请把以上几个关键字背下来。

后面我们要讲的三门语言是Java,Python,JavaScript。Java是广泛使用的后端语言,Python是广泛使用的脚本语言,当胶水,做数据处理,做后端都可以。JavaScript是前端语言。这三门语言都是适合初学者入门,也是工业界广泛使用的,如果同时学这三门语言不难,以后学习其他语言肯定不会再有门槛。

在开始讲语言入门之前,我再举一个例子说明我们为什么要先掌握编程特性。如果你要DIY一台电脑,你肯定要买CPU,内存,主板,硬盘,机箱,显示器,鼠标键盘外设。这是一台电脑的基本组成,这个基本组成可以类比成我所说的编程特性。好了,当我们了解这些基本特性之后,我可能会有一些选择,比如CPU买Intel的还是AMD的,对应的主板也会有不同的选择。Intel还是AMD就可以类比成我要用Java还是Python。

所以呀,初学者千万不要纠结学哪门语言,纠结来纠结去,时间都浪费了什么都没掌握。掌握了编程特性之后,随着思考和实践的深入,学什么语言用什么语言是信手拈来的事。

我见过一些已经有工作经验的工程师,用Java写排序引擎,代码一团乱,自己骂Java这不好那不好,宣称用Go写肯定性能就好如何如何。我相信他不能用Java的基本特性做好一个工程,换一种语言也是于事无补的。能否写出好代码在于人,在于设计,在于实践,不在于语言。

真正有经验的程序员会如何学一门新语言呢,他肯定不是去看砖头厚的书籍学几个月再出山。往往是碰到一个需要解决的问题,然后花几分钟了解一下这门语言的特性,参考例子代码修改捣鼓,接着开始修改代码,实现新需求。整个过程中,他是利用编程特性解决自己的问题,而不是特意去学习一门语言。

说了半天,还没讲怎么准备编程环境工具之类的。对于Java,网络上很多安装教程,just Google it,IDE我推荐使用Intellij idea。对于Python,安装教程同样很多,IDE推荐PyCharm,以上都是安装社区版即可。对于JavaScript,不需要安装什么环境,我们直接用浏览器执行。IDE推荐使用Sublime。

现在我们开始说编程特性第一条“变量和数据类型,赋值和输出”。从广为流传的Hello World说起,

Java版本

用Intellij Idea建立一个新的Java工程

在src目录建一个FirstLesson.java 文件

/**
 * 变量和数据类型,赋值和输出
 */
public class FirstLesson {
    public static void main(String[] args) {
        /**
         * variable就是一个变量
         * 任何一门语言都会有变量的概念
         * 计算机会在内存留出一个区域存储变量的值,
         * 然后使用变量名对变量进行访问,读取变量的值,或者修改变量的值
         */
        String variable = "Hello World";
        /**
         * 输出variable,为什么是System.out,而不是其他方式
         * System里封装了很多基本的操作系统接口
         */
        System.out.println(variable);
    }
}
变量
String variable = "Hello World"; 

包含三个知识点,(1)新建变量variable;(2)variable是字符串类型;(3)给变量variable赋值。

下图讲解了变量在计算机里是什么意思

k是变量的名称,3是变量的值,还有一个变量的地址,即内存的地址。变量名称以及值的概念一定要记住,内存地址可以暂时不理解。

注意代码里我对这两行代码的说明。

变量基本类型

说到变量,就得说清楚变量都有什么类型。如果我把所有的变量类型都罗列出来,恐怕太多了不好记。下面只列出常用的

字节型(byte,字节型是一种 8 位有正负的二进制整数
最小值是 -128

最大值是 127

短整数(short)
最小值是 -32768

最大值是 32767

整数型(int)
最小值是 - 2,147,483,648

最大值是 2,147,483,647

长整型(long)
长整型是一种 64 位有正负的二进制整数

最小值是 -9,223,372,036,854,775,808(-2^63)
最大值是 9,223,372,036,854,775,807 (2^63 -1)

浮点型(float)
浮点型数据是一种单精度的 32 位 IEEE 754 标准下的浮点数据。

双精度型(double)
双精度型数据是一种双精度的 64 位 IEEE 754 标准下的浮点数据。

布尔型(boolean)
布尔型数据代表一个信息比特。

它只有两个可能的值:真(true)和假(false)

赋值

前面提到了,你在代码里写一个变量,计算机会在内存给他留出一个空间存储他的值。但是你得给他赋值啊,不然计算机怎么知道这个变量该存什么值。

在Java里面,赋值操作符就是=。直观理解,就是把等号右边的值,赋予左边的变量。

输出

我们和计算机的交互过程就是一个输入和输出的键盘,我们操作鼠标,操作键盘即是输入。显示屏幕,音箱的输出就是计算机的输出。

System.out.println(variable);

就是一种最简单的输出,Java调用系统函数,告诉操作系统打印变量variable。这个输出看起来不那么fancy,没关系,你只要理解好他就是最简单的输出即可。

总结

任意编程语言都有变量

变量由变量名称和值构成

变量可以是字符串,整数,布尔值,浮点数等

赋值是一个等号,把等号右边的值赋予左边的变量

System.out.println就是一个最简单的输出

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67425.html

相关文章

  • 7学会3语言第一

    摘要:天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的。 7天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的。 网络上,网友们争...

    RebeccaZhong 评论0 收藏0
  • 7学会3语言第一

    摘要:天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的。 7天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的。 网络上,网友们争...

    lbool 评论0 收藏0
  • 学会Java,第一,变量和数据类型,赋值和输出

    摘要:现在我们开始说编程特性第一条变量和数据类型,赋值和输出。从广为流传的说起,用建立一个新的工程在目录建一个文件变量和数据类型,赋值和输出在中,方法是应用程序的入口方法。变量包含三个知识点,新建变量是字符串类型给变量赋值。 用9天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一...

    cangck_X 评论0 收藏0
  • 26学通前端开发(配资料)

    摘要:网上有很多前端的学习路径文章,大多是知识点罗列为主或是资料的汇总,数据量让新人望而却步。天了解一个前端框架。也可以关注微信公众号晓舟报告,发送获取资料,就能收到下载密码,网盘地址在最下方,获取教程和案例的资料。 前言 好的学习方法可以事半功倍,好的学习路径可以指明前进方向。这篇文章不仅要写学习路径,还要写学习方法,还要发资料,干货满满,准备接招。 网上有很多前端的学习路径文章,大多是知...

    blair 评论0 收藏0
  • 一步步搭建物联网系统——无处不在的HTML

    摘要:也可以补充好之前在这个最小物联网系统缺失的那些东西,给那些正在开始试图去解决编程问题的人。在线查看一步步搭建物联网系统图灵电子书版一步步搭建物联网系统 某一天,正走在回学校的路上的我突然想到:未来将会是一个科技的时代——虽然现在也是——只是在未来,科技将会无处不在。如果我们依旧对周围这些无处不在的代码一无所知的话,或许我们会成为黑客帝国之中被控制的普通人。于是开始想着,有一天人们会像学...

    高胜山 评论0 收藏0

发表评论

0条评论

aristark

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<