Java是sun公司于1995年开发的一门面向对象编程语言,在2009年被Oracle公司收购
Java的应用:桌面应用软件、互联网应用软件
Java语言平台:JavaSE(标准版)、JavaEE(企业版)、JavaME(移动版)
跨平台特性:Java程序可以在任意操作系统上运行,“一次编写,到处运行”
JVM:Java虚拟机,全称:Java Virtual Machine(Java程序是在Java虚拟机里运行的)
JRE:Java运行环境(类库),全称:Java Runtime Environment
JDK:Java软件开发工具包(包含了JRE),全称:Java Development Kit
建立Java开发环境,安装JDK,一般需要设置环境变量 path 和 classpath。
path 环境变量用来存储Java的编译和运行工具所在的路径(bin文件夹), classpath 环境变量则用来保存Java虚拟机(JVM)要运行的 “.class” 文件路径。
java.exe:Java解释器
javac.exe:Java编译器
javadoc.exe:Java文档工具(注释)
它们都位于 bin 文件夹中。
Javac.exe 是Java编译器,能将源程序代码编译成字节码,以 .class 扩展名存入Java工作目录中,它的命令格式为:
javac [选项] 文件名
其中,[选项]有:
-g:输出文件中加行号以及局部变量信息,为调试程序时使用
-o:对类文件进行优化编译
-nowarn:关闭警告信息,只显示错误信息
-verbose:显示源代码文件和字节码文件的相关信息
-d<目录>:指定文件存放生成的类文件(.class)的位置
并且,Javac.exe 不区分大小写,Java.exe区分大小写。
Java程序是区分大小写的(与标识符命名有关)。
标识符:用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列。
简单来说,标识符就是一个名字。
组成规则:
可以由 字母、数字、下划线_ 、美元符$ 组成,但不包括 @、%、#、空格 等其它特殊字符
不能以 数字 开头
不能是 Java关键字
区分大小写
可以使用中文命名,但是一般不要使用,容易出错/报错
命名:
变量、方法:单个单词:全部小写。例如:int name
多个单词:首单词小写,其后的单词首字母大写。(驼峰法)
例如: int myName
常量:全部大写
类、接口:所有单词首字母大写。(帕斯卡命名法)
包:小写字母组成
补:
Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。
48个关键字
abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while
2个保留字(现在没用以后可能用到作为关键字)
goto、const
3个特殊直接量
true、false、null
关键字的大致含义
abstract:表明类或者成员方法具有抽象属性
assert:断言,用来进行程序调试
boolean:基本数据类型之一,声明布尔类型的关键字
break:提前跳出一个块
byte:基本数据类型之一,字节类型
case:用在 switch 语句之中,表示其中的一个分支
catch:用在异常处理中,用来捕捉异常
char:基本数据类型之一,字符类型
class:声明一个类
const:保留关键字,没有具体含义
continue:回到一个块的开始处
default:默认,例如,用在 switch 语句中,表明一个默认的分支
do:用在 do-while 循环结构中
double:基本数据类型之一,双精度浮点数类型
else:用在条件语句中,表明当条件不成立时的分支
enum:枚举
extends:表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
final:表示不可变,最终的
finally:用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float:基本数据类型之一,单精度浮点数类型
for:一种循环结构的引导词
goto:保留关键字,没有具体含义
if:条件语句的引导词
implements:表明一个类实现了给定的接口
import:表明要访问指定的类或包
instanceof:用来测试一个对象是否是指定类型的实例对象
int:基本数据类型之一,整数类型
interface:接口
long:基本数据类型之一,长整数类型
native:用来声明一个方法是由与计算机相关的语言(如 C/C++语言)实现的
new:用来创建新实例对象
package:包
private:一种访问控制方式:私用模式
protected:一种访问控制方式:保护模式
public:一种访问控制方式:共用模式
return:从成员方法中返回数据
short:基本数据类型之一,短整数类型
static:表明具有静态属性
strictfp:用来声明 FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754 算术规范
super:表明当前对象的父类型的引用或者父类型的构造方法
switch:分支语句结构的引导词
synchronized:表明一段代码需要同步执行
this:指向当前实例对象的引用
throw:抛出一个异常
throws:声明在当前定义的成员方法中所有需要抛出的异常
transient:声明不用序列化的成员域
try:尝试一个可能抛出异常的程序块
void:声明当前成员方法没有返回值
volatile:表明两个或者多个变量必须同步地发生变化
while:用在循环结构中
开发Java程序的一般步骤是:源程序编译、生成字节码和解释执行。
Java程序首先由 编译器 编译成字节码文件,然后再由 解释器 解释执行字节码文件。由于编译和解释有先后,所以Java程序的编译和执行模式包括2点即 半编译 和 半执行,一般认为Java语言是 解释执行 的。
.java文件(源文件)——编译器——.class文件(字节码)——JVM虚拟机——010101
Application:Java中能够独立运行的应用程序
Applet:也叫 Java小程序,是运行于各种网页文件中,用于增强网页的人机交互、动画显示、声音播放等功能的程序。它本身不能单独运行,需要嵌入在一个HTML文件中,借助浏览器或Appletviewer来解释执行,Applet可能通过网络传输,由浏览器自动装载并执行。
区别:
运行方式不同:Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行。 Java Application是完整的程序,可以独立运行,只要有支持Java的虚拟机,它就可以独立运行而不需要其他文件的支持。
运行工具不同。运行Java Applet程序的解释器不是独立的软件,而是嵌在浏览器中作为浏览器软件的一部分。Java Application程序被编译以后,用普通的Java 解释器就可以使其边解释边执行,而Java Applet必须通过网络浏览器或者Applet观察器才能执行。
Java语言支持 TCP/IP 协议,从而使得Java程序在分布式环境中能够很方便地访问处于不同地点的对象。
Java数据类型:
https://www.cnblogs.com/onesun/p/16092717.html
还会持续补充,学无止境。