计算机语言分类
- 机器语言: 直接用二进制指令表达,指令是用0和1组成的一串代码,它们有一定的位数,各段的编码表示不同的含义(如0000代表加载(LOAD),0001代表储存(STORE)).
- 汇编语言: 使用一些特殊的符号来代替机器语言的二进制码(又称符号语言),计算机不能直接识别,需要一种软件将汇编语言翻译成机器语言,汇编语言依赖于硬件体系,开发难度大(如加法指令ADD/ADC,减法指令SUB/SBB).
- 高级语言: 使用一定格式的自然语言进行编写源代码,通过编译器将源代码翻译成计算机直接识别的机器语言,之后再由计算机执行,不直接操作硬件,把繁琐的翻译操作交给编译器完成.
编程
- 什么是编程: 程序员通过编程语言告诉计算机需要做什么,怎么一步一步去做.这种程序员和计算机之间的交流过程,就是编程.
Java语言
- Java历史: Java诞生于1995年,原属于SUN公司,2009年4月20日,美国数据软件巨头甲骨文公司(Oracle)宣布以74亿美元收购SUN公司.Java也是目前最受欢迎的开发语言,Java的三大平台: Java SE, Java EE, Java ME.
- Java SE: Java标准平台,它允许开发软件,运行在电脑上,最经典的Java SE程序就是它的开发工具Eclipse,同时Java SE也是Java EE的基础.
- Java EE: Java企业平台,针对Web方向,主要应用与开发企业项目和互联网项目,如淘宝,京东,12306以及各大银行网站等等.
- Java ME: Java微型平台,用来开发移动设备上的软件,如早期功能机上的Java游戏,然而现在移动端开发则基本上是使用iOS和Android技术.
跨平台原理
- 平台相关性: Windows系统只能运行Windows的程序,Linux系统只能运行Linux程序,Mac系统只能运行Mac程序.Windows程序不能直接运行在Linux系统中,反之亦然,就好比iPhone手机不能运行Android的App一样,这就是平台相关性.
-
跨平台性:
如图所示,使用特定平台的编译器所编译的程序只能在其对应的平台运行,编译器是与平台相关的,编译后的文件也是与平台相关的,所以语言跨平台是编译后的文件跨平台,而不是源程序跨平台.
那么语言的跨平台性如何实现?拿Java举例,我们可以对Java程序进行编译操作,编译后生成一种和平台系统无关的文件--字节码文件.但此时Windows系统,Linux系统是不能执行字节码文件的,只有Java虚拟机(JVM)才能识别字节码文件,那么只需要在对应的系统上安装其对应的JVM,便可以运行该Java程序.
这样一来,Java就实现了跨平台,也就达到了"一次编译,到处运行"的效果.
Java能够跨平台是有两个原因:
1.Java文件经过编译后生成的是和平台无关的class(字节码)文件.
2.Java虚拟机(JVM)是不跨平台的.
这是Java程序从编译到运行的简要流程图,在这里进行编译操作的工具叫做javac,启动JVM并把字节码文件加载进JVM的工具叫做java.
Java开发和运行环境搭建
-
JDK和JRE概述
- JRE(Java Runtime Environment): Java运行环境,如果要运行Java程序,就需要JRE的支持,JRE当中包含JVM,一般在只运行程序而不开发程序的服务器中安装.
- JDK(Java Development Kit): Java开发工具,包含开发Java程序的所有工具,如javac和java等,JDK包含JRE,所以安装了JDK就不需要安装JRE.
- JVM(Java Virtual Machine): Java虚拟机,就是用来运行Java程序的虚拟计算机,JVM是不跨平台的,所以要安装对应系统的JVM.
-
JDK安装: JDK下载地址,选择合适自己的下载,之后一直下一步式的傻瓜式安装.其中需要注意的是不要安装在C盘,且不要带有中文路径,路径中也不要包含空格.
在JDK的安装目录下的bin目录中,存在编译工具(javac)和运行工具(java). -
配置PATH环境变量:
配置PATH环境变量的目的是能够在任何地方使用编译工具(javac)和运行工具(java).
检查是否配置成功:
Java的基本语法
1.Java语言严格区分大小写,好比Main和main,system和System是完全不同的概念.
2.一个Java源文件里可以定义多个Java类,但其中只能有一个类被定义为public类.如果源文件中包含了public类,那么源文件必须和该public类同名.
3.一个源文件中包含N个Java类时,成功编译后会生成N份字节码文件,即每个类都会生成一份单独的class文件,且字节码文件名与其对应的类名相同.
4.若一个类必须运行,则必须拥有main方法,因为main方法是程序的入口.
注释:
1.单行注释: //注释
2.多行注释: /注释/
3.文档注释: /*注释/
4.文档注释会生成文档信息API,多行注释之间不能相互嵌套,比如文档注释套多行注释.-
保留字和关键字:
关键字是编程语言事前定义好的,有着特殊用途和含义的单词.
保留字和关键字一样,都是编程语言事先定义的,但暂时还没有被赋予特殊的功能.
关键字和保留字都是由小写构成的.
标识符: 在写代码的时候为了增强阅读性,我们会自定义很多名字,如:类名,方法名,变量名等.这种为了增强程序阅读性而自定义的名称,就是标识符.
标识符命名规则:
1.由字母,数字,下划线,$组成,但不能以数字开头.
2.大小写敏感.
3.不得使用Java中的关键字和保留字.
4.不得用Java中内置的类名作为自己的类名.