基础阶段
一 前期
-
Java语言平台版本
J2SE(Java 2 Platform Standard Edition)标准版
是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。J2ME(Java 2 Platform Micro Edition)小型版
是为开发移动设备和嵌入式设备(电器、机器人、机顶盒…)提供的解决方案。J2EE(Java 2 Platform Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 Servlet、Jsp 等,主要针对于Web应用程序开发。 -
java语言特点
简单性,高性能,编译性,解释性,面向对象,分布式处理,健壮性,安全性,开源,跨平台 -
什么是跨平台性?
通过Java语言编写的应用程序在不同的系统平台上都可以运行。
原理是什么?
只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性
-
JDK
JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心。
它包含了:
JAVA开发工具(jdk\bin)
基础开发库(jdk\jre\lib\rt.jar)
基础开发库的源码(jdk\src.zip) -
运行与工作原理
编译:通过javac命令将java的源文件也就是.java文件编译成.class文件。
执行:
先启动java虚拟机,不同的操作系统有不同的jvm,因此java跨平台。
再通过JVM加载HelloWorld.class字节码文件。并加载main方法执行程序。 -
JDK JRE JVM的关系
JDK–Java Development Kit是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。
JRE–Java Runtime Environment是运行JAVA的运行时环境,包含JVM和Java核心类库。
JVM–Java Virtual Machine,Java虚拟机的缩写,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。
-
Java的”一次编写,处处运行”是如何实现的?
Java程序会被编译成字节码组成的class文件,这些字节码可以运行在任何平台,因此Java是平台独立的。
二 语法
-
标识符
A 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符。
B 不能以数字开头。
C 标识符是严格区分大小写的。
D 标识符的命名最好能反映出其作用,做到见名知意。 -
数据类型
基本类型(八种)
位bit 字节byte 1byte=8bit
类型名称 | 字节空间 | 取值范围 | |
---|---|---|---|
整数型 | byte | 1 | -128到127或-27到27-1 |
整数型 | short | 2 | -215到215-1 |
整数型 | int | 4 | -231到231-1 |
整数型 | long | 8 | -263到263-1 |
浮点型 | float | 4 | 单精度,对小数部分的精度要求不高 |
浮点型 | double | 8 | 双精度,精确的小数部分并操作值很大时 |
字符 | char | 2 | 0到65535 |
布尔 | boolean | 1 | 真true 假false |
引用类型
引用类型是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。如:类,接口,数组
-
基本类型的类型转换
小到大(隐式转换)
大到小(显式转换)强制类型转换
-
运算规则(了解)
计算结果的数据类型,与最大类型一致
byte,short,char三种比int小的整数,运算时会先自动转换成int -
char 型变量中能不能存储一个中文汉字,为什么?
char 类型可以存储一个中文汉字,因为 Java 中使用的编码是 Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个 char 类型占 2 个字节(16 比特),所以放一个中文是没问题的。 -
&和&&的区别
当一个&表达式在求值的时候,两个操作数都会被求值,&&更像 是一个操作符的快捷方式。当一个&&表达式求值的时候,先计算第一个操作数,如果它返回true才会计算第二个操作数。如果第一个操作数 取值为fale,第二个操作数就不会被求值 -
变量
局部变量:
定义在方法里,或者局部代码块中。
注意:必须手动初始化,来分配内存。如:int i=5;
作用域也就是方法里或者局部代码块里,方法运行完内存就释放了。
成员变量:
定义在类里。
注意:不用初始化,也会自动被初始化成默认值。
作用域是整个类中,类消失了,变量才释放。
基本类型 | 默认值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
boolean | false |
- 方法的重载
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数列表(也就是说参数的个数和类型不同)。
程序调用方法时,可以通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。