1.Java基础语法
一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。
下面简要介绍下类、对象、方法和实例变量的概念。
- 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃灯。
- 类:类是一个模版,它描述一 类 对象的行为和状态
- 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
- 实例变量:每个对象都有特殊的实例变量,对象的状态由这些实例变量的值决定。
2.第一个Java程序
实例:
public class HelloWorld {
public static void main(String []args) {
System.out.println("Hello World");
}
}
基本语法:
编写Java程序时,应注意以下几点:
- 大小写敏感: Java是大小写敏感的,这就意味着标识符Hello 与 hello 是不同的。
- 类名: 对所有的类来说,类名的首字母应该大些。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass
- 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
- 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
- 主方法入口:所有的Java程序由 public static void main (String []args) 方法开始执行。
3.Java标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符
- 标识符都应该以字母(A-Z,a-z),美元符号($)、或者下划线(_)开始
- 首字符之后可以是字母(A-Z,a-z),美元符号($)、下划线(_)或数字任意字符组合
- 关键字不能用作标识符
- 标识符大小写敏感
4.Java修饰符
可以使用修饰符来修饰类中方法和属性
- 访问控制修饰符 default,public,protected,private
- 非访问控制修饰符 final,abstract,strictfp
5.Java变量
- 局部变量
- 类变量(静态变量)
- 成员变量(非静态变量)
6.Java数组
- 数组是存储在堆上的对象,可以保存多个同类型变量
7.Java枚举
Java5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的bug
实例:
class FreshJuice {
enum FreshJuiceSize{SMALL,MEDIUM,LARGE}
FreshJuiceSize size;
}
public class FreshJuiceTest {
public static void main(String []args){
FreshJuice juice = new FreshJuice();
juice.size = FreshJuice.FreshJuiceSize.MEDIUM;
}
}
注意:枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。
8.Java关键字
Java关键字,这些保留字 不能用于常量、变量、和任何标识符的名称。
-
访问控制:
private 私有的
protected 受保护的
public 公共的 -
类、方法和变量修饰符:
abstract 声明抽象
class 类
extends 扩充、继承
final 最总值,不可改变的
implements 实现(接口)
interface 接口
native 本地,原生方法(非Java实现)
new 新,创建
static 静态
strictfp 严格,精准
synchronized 线程,同步
transient 短暂
volatile 易失 -
程序控制语句:
break 跳出循环
case 定义一个值以供switch选择
continue 继续
default 默认
do 运行
else 否则
for 循环
if 如果
instanceof 实例
return 返回
switch 根据值选择执行
while 循环 -
错误处理:
assert 断言表达式是否为真
catch 捕捉异常
finally 有没有异常都执行
throw 抛出一个异常对象
shrows 声明一个异常可能被抛出
try 捕获异常 -
基本类型:
boolean 布尔型
byte 字节型
char 字符型
double 双精度浮点
float 单精度浮点
int 整型
long 长整型
short 短整型
null 空 -
变量引用:
super 父类,超类
this 本类
void 无返回值 -
保留关键字:
goto 是关键字,但不能使用
const 是关键字,但不能使用
9.Java注释,Java 空行,
类似于C、C++,Java也支持单行以及多行注释。注释中的字符将被Java编译器忽略。
//单行注释
/*单行注释*/
/**
*多行注释
*/
空白行,或者有注释的行,Java编译器都会忽略掉
10.继承
在Java 中,一个类可以由其他类派生,如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。
利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(subclass)
11.接口
在Java中,接口可以理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。
接口之定义派生要用到的方法,但是方法的的具体实现完全取决于派生类。
12.Java源程序与编译型运行区别
13.命名规范
1.项目名全部小写
2.报名全部小写
3.类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。如:MyFirstClass()
4.变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写。
如:int index = 0;public void toString() {}
5.常量名全部大写
如:public static final String GAME_COLOR = “RED”;
6.所有命名规范必须遵循以下规则:
1.名称只能由字母、数字、下划线、$符号组成
2.不能以数字开头
3.名称不能使用JAVA中的关键字
14.一个完整的Java源程序应该包括下列部分:
- package语句:该部分之多只有一句,必须放在源程序的第一句。
- import语句:该部分可以有若干import语句或者没有,必须放在所有的类定义之前
- public classDefinition:公共定义部分,至多只有一个公共类的定义,Java语言规定该Java源程序的文件名必须与该公共类名完全一致
- classDefinition:类定义部分,可以有0个或者多个类定义。
- interfaceDefinition:接口定义部分,可以有0个或者多个接口定义。
package语句:由于Java编译器为每个类生成一个字节码文件,且文件名与类名相同,因此同名的类有可能发生冲突。为了解决这一问题,Java提供包来管理类名空间,包实际提供了一种命名机制和可见性限制机制。