什么是程序
程序指的是计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合
概述
Java programming language具有大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。
Java具有类似于C++语言的"形式和感觉",但它要比C++语言更易于使用,而且在编程时彻底采用了一种"以对象为导向"的方式。使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。
Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用,applet可使网页使用者和网页之间进行交互式操作。
Java是Sun微系统公司在1995年推出的,推出之后马上给互联网的交互式应用带来了新面貌。
最常用的两种互联网浏览器软件中都包括一个Java虚拟机,几乎所有的操作系统中都增添了Java编译程序。
Java的诞生
1990年sun公司想要开发一套智能家居的通用控制系统。由于c++缺少垃圾回收系统、可移植性、分布式和多线程等功能,开发团队在尝试了c++以后发现不行,决心创造一种新的面向对象的开发语言,于是就有了Oak。
1994年,负责Oak语言的FirstPerson有限公司(sun子公司)团队开发了第一个Java语言的网页浏览器:WebRunner。得到了领导的高度评价,由于Oak商标已被注册,于是只好更名为Java。
1995年,sun公司发布了java语言。Sun公司直接把java发布到网上免费给大家使用,并且完全开源。之后,java深受大家喜爱,成为了一种广为人知的编程语言。
应用领域
企业级应用
主要指复杂大企业的软件系统、各类类型的网站,应用领域包括金融、电信、交通、电子商务等等。
Android平台应用
Android应用程序是使用Java语言编写的,Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实。
移动领域应用
主要表现在消费和嵌入式领域,指在各类小型设备上的应用,包括机顶盒、车载的影音娱乐设备、汽车通信设备、扫码的POS机等等。
技术体系平台
Java SE(Java Standard Edition) - 标准版
支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本之前称为J2SE
Java EE(Java Enterprise Edition) - 企业版
为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术有Servlet、Jsp等等,主要针对于Web应用程序开发,此版本之前称为J2EE。
Java ME(Java Micro Edition) - 小型版
支持Java程序运行在移动终端(如手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本之前称为J2ME。
特点
- Java语言是面向对象语言(OOP);
- Java语言是健壮的,Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证;
- Java语言是跨平台的(即:一个编译好的的.class文件可以在多个系统下运行,这种特性称为跨平台性);
-
Java语言是解释型;
解释型语言:Java、php、JavaScript、python等,编译型语言:C、C++。
区别为:解释型语言编译后的代码,不能直接被机器执行,需要解释器来执行;编译型语言,编译后的代码可以直接被机器执行。
核心机制-Java虚拟机
JVM - Java Virtual Machine
-
JVM是一个虚拟的计算机,具有指令集合并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在JDK中;
-
对于不同的平台,有不同的虚拟机;
-
Java虚拟机机制屏蔽了底层运行平台的差异,实现了“一次编译,到处运行”;
JDK与JRE
JDK
Java Development Kit - Java开发工具包
JDK = JRE + Java的开发工具【Javac、java、javadoc、javap等等】
JDK是提供给Java开发人员使用的,其中包含了Java的开发工具、JRE,所以安装了JDK就无需再单独安装JRE了
JRE
Java Run environment - Java运行环境
JRE = JVM + Java核心类库
JRE中包含Java虚拟机和Java程序所需的核心类库
如果只想运行一个开发好的Java程序,那么计算机中只需要安装JRE即可
两者之间的关系
JDK = JRE + 开发工具集(例如 javac、java编译工具等)
JRE = JVM + JAVA SE标准类库(Java核心类库)
如果只想运行开发好的Java程序,只需安装JRE
快速入门
开发步骤
1、将代码编写到扩展名为Hello.java的文件中;
public class Hello{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
2、通过javac命令对该文件进行编译,生成同名的.class文件;
3、通过java命令对同名的.class文件进行运行;
运行原理示意图
什么是编译
javac Hello.java
- 对Java源文件,通过编译器将其编译为JVM可以识别的字节码文件;
- 在该源文件目录下,通过javac编译工具对Hello.java文件进行编译;
- 如果程序没有错误,则没有任何提示信息,但是在源文件目录下会生成一个Hello.class文件,该文件称为字节码文件,也是可以执行Java的程序;
什么是运行
java Hello
- 有了可执行的Java程序(Hello.class字节码文件);
- 通过运行工具java.exe对字节码文件进行执行,其本质就是将.class文件装载到jvm虚拟机中进行执行;
Tips:对修改后的Java源文件需要重新编译,生成新的.class文件后,再进行执行。
Java程序执行流程
注意事项
-
Java源文件以.java为扩展名,源文件的基本组成部分是类(class);
-
Java应用程序的执行入口是main()方法,固定的书写格式;
public static void main(String[] args){ }
-
Java语言严格区分大小写;
-
Java语言中每个语句的结束符为分号(;);
-
大括号成对出现;
-
一个源文件中最多只有一个public类,其他类的个数不限;
-
如果源文件包含一个public类,则文件名必须按该类名命名;
-
一个源文件中最多只有一个public类,其他类的个数不限。可以将main 方法写在非public类中,然后指定运行非public类,这样入口方法就是非public的main方法;
常用转义字符
转义字符 | 说明 |
---|---|
\t | 一个制表符 |
\n | 换行符 |
\\ | 一个\ |
\" | 一个" |
\’ | 一个’ |
\r | 一个回车 |
注释(comment)
概述
注释用于说明解释程序的文字,可提高代码的阅读性[可读性]。
注释类型
注释类型 | 注释符 |
---|---|
单行注释 | // 注释 |
多行注释 | /* 注释 */ |
文档注释 | /** 注释*/ |
Tips:被注释的文字,不会被JVM解释执行;多行注释不允许嵌套使用;
代码规范
- 类、方法的注释,要以javadoc的方式来写;
- 非Java Doc的注释,往往是写给代码维护者的;
- 使用Tab键操作,实现缩进,默认整体向右边移动,Shift + Tab整体向左移;
- 运算符两边由一个空格隔开,例如:1 + 1 - 2;
- 源文件使用UTF-8编码;
- 行宽度不超过80字符;
- 代码编写分为次行风格与行尾风格;
相对路径与绝对路径