4.java基础语法
1.基本语法
编写Java程序时,应注意以下几点:
- 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。
- 类名:类名每个单词首字母大写,其它小写,例如 :MyFirstJavaClass 。
- 变量和方法名:第一个单词小写,从第二个单词开始首字母大写,例如:javaClass
- 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
- 常量:所有字母大写,每个单词之间用下划线连接,例如:TIME_OUT.
- 标识符:要符合语义信息。
- 主方法入口:所有的Java 程序由public static void main(String []args)方法开始执行。
2.Java标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
关于Java标识符,有以下几点需要注意:
- 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合
- 关键字不能用作标识符
- 标识符是大小写敏感的
- 合法标识符举例:age、$salary、_value、__1_value
- 非法标识符举例:123abc、-salary
3.Java修饰符
像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:
- 访问控制修饰符 : default, public , protected, private
- 非访问控制修饰符 : final, abstract, strictfp
4.Java变量
Java中主要有如下几种类型的变量
- 局部变量
- 类变量(静态变量)
- 成员变量(非静态变量)
5.Java数组
数组是储存在堆上的对象,可以保存多个同类型变量。
6.Java枚举
Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的bug。
例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。
注意:枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。
7.Java关键字
下面列出了Java重要保留字。这些保留字不能用于常量、变量、和任何标识符的名称。
1).abstract:抽象方法,抽象类的修饰符。
2)boolean:布尔数据类型,true或false。
3)break:跳出循环。
6)catch:与try搭配捕捉异常信息。
7)continue:不执行循环体剩余的部分。
8)do:循环语句,循环体至少执行一次。
9)else:if条件不成立的分支。
10)eumn:枚举类型
11)extends:一个类继承另外一个类。
12)final:最终化,修饰类不能被继承,修饰方法不能被不能被重写。
13)finally:无论有无异常都会执行finally代码块。
14)implement:一个类实现另一个接口,UserServiceImpl implement UserService.
15)instanceOf:判断对象是否为某个类的实例。
16)interface:接口,抽象类的一种类型,仅有方法和常量的定义。
17)new:创建对象。
18)private:私有字段和方法,只能在类的内部进行访问。
19)protected:字段只能本类或本类的子类进行访问或者同一个包中的其他类进行访问。
20)public:表示共有属性或者方法。
21)static:类级别定义,所有实例共享。
22)synchronized:表示同一时间只能由一个线程访问的代码块
23)this:表示调用当前实例或者调用另一个构造函数。
24)throw:抛出异常
25)throws:定义方法需要抛出的异常
26)try:表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码
27)void:表示方法不返回任何值
28)volatile:标记字段可能会被多个线程同时访问,而不做同步
8.Java注释
public class HelloWorld {
/**
* 文档注释
* @return
*/
public static void main(String []args){
// 这是单行注释
/*
*这个是多行注释
*/
System.out.println("Hello World");
}
}
9.java空行
空白行和注释行,java编译器都会忽略掉。
10.继承
如果创建一个类,而已经存在一个类具有所需要的属性和方法,就可以选择继承该类。利用继承的方法可以重用已存在类的属性和方法。被继承的类称为超类superclass,派生的类称为子类subclass
11.接口
理解:可以理解为对象之间相互通信的协议。只定义派生类的方法,实现交给派生类。
12.java的8种基本类型数据
1)boolean 布尔型 1个字节 8bit(8位)(Boolean.SIZE)
只有两个取值:true或者false
默认值为:false
例子:boolean one = true;
2)byte 字节类型 1个字节(Byte.SIZE)
最大值:2^7-1=127(Byte.MAX_VALUE)
最小值:-2^7-1=-128(Byte.MIN_VALUE)
默认值:0
空间:byte变量所占空间仅为int变量空间的四分之一。
例子:byte a = 100;
3)char 字符类型 2个字节(Character.SIZE)
最大值:\u0000(即为0)(Character.MAX_VALUE)
最小值:\ufff(即为65.535)(Character.MIN_VALUE)
char数据类型可以存储任意字符。
例子:char letter='A'
4)short 短整型 2个字节(Short.SIZE)
最大值:2^15-1=32767(Short.MAX_VALUE)
最小值:-2^15-1=-32768(Short.MIN_VALUE)
默认值:0
空间:是int变量所占空间的二分之一。
例子:short s = 1000;
5)int 整型 4个字节(Integer.SIZE)
最大值:2^31-1(Integer.MAX_VALUE)
最小值:-2^31-1(Integer.MIN_VALUE)
默认值:0
6)float 浮点型(单精度)4个字节
7)long 长整型 8个字节(Long.SIZE)
最大值:2^63-1(Long.MAX_VALUE)
最小值:-2^63-1(Long.MIN_VALUE)
默认值:0L
8)double 双精度类型 8个字节(Double.SIZE)
最大值:2^63-1(Double.MAX_VALUE)
最小值:-2^63-1(Double.MIN_VALUE)
默认值:0.0f
Java中默认的整数类型是int,如果要定义为long ,则要在数值后加上L或者l
默认的浮点型是双精度浮点,如果要定义float,则要在数值后面加上f或者F
一个字节等于8位,1个字节等于256个数。2^8
一个英文字母或者阿拉伯数字占一个字节
一个汉字占2个字节