Java
1995年由SUN公司推出的一门高级编程语言,面向互联网的编程语言,是WEB应用程序首选的语言,简单易学,安全可靠,跨平台
目录
Java的跨平台性
Java虚拟机---Java Virtual Mechine---JVM。所有的Java程序是运行在Java虚拟机上的,Java虚拟机屏蔽了不同操作系统之间的差异性,是的相同的Java程序能够在不同的操作系统上运行,从而实现了Java语言的跨平台,
.p.s:Java语言是跨平台的,但是Java虚拟机不是跨平台的
Java之父:James.Gosling
Java的技术结构
J2SE---标准版---为一些小应用程序与桌面程序提供了解决方案
J2EE---企业版---为企业中项目的开发提供了方案
J2ME---移动版---主要是嵌入一些小型电子设备中,实现移动端的开发
JDK,JRE,JVM
JVM---Java Virtual Mechine---Java虚拟机,是Java语言能够跨平台的前提
JRE---Java Runtime Environment--Java运行时环境。JRE中包含了核心类库和JVM。
JDK---Java Development Kit---Java开发工具包。包含了开发工具和JRE。
下载JDK
java.sun.com
安装的时候不建议安装到C://program files目录下
注意:安装路径中不要出现空格和中文
将Java源文件翻译成及其能读懂的过程---编译
编译完成之后产生一个字节码文件(.class文件)
Java程序须知
- Java程序所在的文件需要改成.java
- Java程序运行的入口是主函数。没有主函数程序可以编译,但是不能运行
- class文件的文件名和类名对应
- 一个Java文件中可以写多个类,并且每个类对应一个class文件
- 一个Java文件中只能有一个公共类,但是可以有多个类
带包编译:javac -d 要编译到的位置 要编译的Java源文件
环境变量
是为操作系统指定一些运行参数的量
JAVA_HOME=Java的安装路径
Path=%JAVA_HOME%\bin;
可以通过set 变量名=变量值; 的方式设置一个临时的环境变量,dos命令窗口关闭后,该临时变量随之消失
关键字
是只在Java中被赋予了特殊含义的单词
在Java中一共有53个关键字,其中51个在用,还有2个目前没有使用,称之为保留字---const,goto
所有的关键字都是小写的
用于定义数据类型的关键字 | |||||||
class | interface | byte | short | int | long | ||
float | double | char | boolean | void | enum | ||
用于定义数据类型值的关键字 | |||||||
true | false | null |
|
|
| ||
用于定义流程控制的关键字 | |||||||
if | else | switch | case | default | while | ||
do | for | break | continue | return |
| ||
用于定义访问权限修饰符的关键字 | |||||||
private | protected | public |
|
|
| ||
用于定义类、函数、变量修饰符的关键字 | |||||||
abstract | final | static | synchronized |
|
| ||
用于定义类与类之间关系的关键字 | |||||||
extends | implements |
|
|
|
| ||
用于定义建立实例、判断实例的关键字 | |||||||
new | this | super | instanceof |
|
| ||
用于异常处理的关键字 | |||||||
try | catch | finally | throw | throws |
| ||
用于包的关键字 | |||||||
package | import |
|
|
|
| ||
其他修饰符关键字 | |||||||
native | strictfp | transient | volatile | assert |
| ||
标识符
在程序中自己命名的名字
命名规则:
- 可以由字母、数字、_、$组成
- 注意:实际开发中$符号几乎不用
- 可以是其中纯粹的一种,但不能是纯数字,数字也不能开头。
- Java支持中文命名,但是不推荐。
- 不能使用关键字。
- Java是大小写敏感的语言,所以只要两个名称有一点不同就是不同的标识符。
- 为了提高程序的可阅读性,尽量做到见名知义。
驼峰命名法:
- 类名/接口名:当由多个单词组成的时候,每个单词的首字母大写,其余字母小写HelloWorld Demo
- 变量名/方法名:当由多个单词组成的时候,第一个单词的首字母小写,其余单词的首字母大写 helloWorld demo
- 包名:如果由多个单词组成,所有字母全部小写,单词之间用 . 隔开
- 常量名:如果由多个单词组成,所有字母全部大写,单词之间用_隔开
.p.s:main是标识符还是关键字?---标识符
注释
在程序中用来解释说明程序的文字
格式
- 单行注释 //注释文字
- 多行注释 /*注释文字*/
- 文档注释 /**注释文字*/---文档注释中的文字可以利用工具或者命令进行提取。
javadoc 要提取的Java源文件---注意,一个类如果能够被提取,必须是公共类
作用:
- 解释程序
- 便于阅读、维护
- 排错
常量
不可改变的量
- 整数常量:所有的整数,0,1,100,209
- 小数常量:所有的小数,0.9,100.1,1000.77
- 字符常量:将一个字母、数字、符号用 ‘’标识起来的量 ‘a’, ‘2’, ‘*’,
- 字符串常量:将一个或者多个字符用 “”标识起来的量, “a”, “bbb” , “ ”, “”
- 布尔常量:true和false---用于表示逻辑值
- 空常量:只有一个值null
进制
- 二进制:o~1。满二进一,ob00011,0b10011,在JDK1.7之前程序中无法直接书写一个二进制数字,JDK1.7之后要求是以0b开头作为标志。
- 八进制:0~7,满八进一,07,015,要求以0开头作为标识。
- 十进制:0~9,满十进一。
- 十六进制:0~9,A~F,满十六进一,以0x作为标识符。
进制之间的转换
-
十进制转换成二进制:不断除以2取余,然后将余数倒排
二进制转换成十进制:从低位次起,按位次乘以2的位次次幂,然后求和。
十进制向那个进制转换就除以那个进制,然后取余倒排
二进制向八进制转换:从低位次起,每三位化为一组,产生一位八进制数字,最高位不足三位,补0,三位以内,按照二进制向十进制的转化规则进行运算,产生的八进制数字按顺序排列---三变一
八进制转换成二进制:一变三的过程--每一位八进制转换成三位二进制数字,然后将这些二进制数字按顺序排列
二进制转换成十六进制:四变一的过程---类比二进制转换成八进制