九天学会Java,第一天,变量和数据类型,赋值和输出

用9天入门三门编程语言,有可能嘛,尤为是对没有基础的同窗来讲?对于想学好的编程的人来讲,不管从哪一门语言开始入手,语言的自己其实并非咱们最应该的关心的,至少不是做为一个初学者首先关心的。html

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

先说编程特性,任意一门编程语言都会具备如下特性:java

  • 变量和数据类型,赋值和输出
  • 算术运算
  • 选择结构
  • 循环结构
  • 函数定义,函数调用
  • 变量做用域
  • 栈,程序运行的基石
  • 面向对象
  • 语言提供的公用包

若是你不一样意,请给我留言!若是是零基础的同窗,请把以上几个关键字背下来。程序员

若是是已经有编程基础的同窗,相信用不了9天,大概3天是彻底能够入门一门新语言的。编程

后面我会讲的三门语言的入门。先讲Java,后讲Python和JavaScript。讲Java时只讲Java的知识点,到后面讲Python和JavaScript时会类比其余语言,横向作比较。后端

解释一下为何是Java,Python,JavaScript。Java是普遍使用的后端语言,Python是普遍使用的脚本语言,当胶水,作数据处理,作后端均可以。JavaScript是前端语言。这三门语言都是适合初学者入门,也是工业界普遍使用的,若是同时学这三门语言不难,之后学习其余语言确定不会再有门槛。浏览器

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

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

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

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

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

如今咱们开始说编程特性第一条“变量和数据类型,赋值和输出”。从广为流传的Hello World提及,

Hello World

  • 用Intellij Idea创建一个新的Java工程
  • 在src目录建一个FirstLesson.java 文件
/**
 * 变量和数据类型,赋值和输出
 */
public class FirstLesson {
    /**
    * 在java中,main()方法是java应用程序的入口方法。java虚拟机经过main方法找到须要启动的运行程序
    */
    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赋值。

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

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

image

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

image

"变量就像个盒子(占用存储空间),盒子有个名字(变量名),盒子能够存放东西(存变量的值)"

变量基本类型

说到变量,就得说清楚变量都有什么类型。若是我把全部的变量类型都罗列出来,恐怕太多了很差记。下面只列出经常使用的

  • 字节型(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就是一个最简单的输出

做业

  • 模仿Hello World 样例,写下你心爱的人的名字,让计算机输出你心爱的人的名字

完整章节

本文全部内容归原创者凯威的讲堂全部。请转载时请遵循 “署名-非商业用途-保持一致” 的创做共用协议。不欢迎商业网站擅自复制内容,而且保留全部权利。

相关文章
相关标签/搜索