记住一些基础语法和规则,和一些常用的符号,剩下的可通过查阅详知。
①程序要求:
Java规定,所有的程序都要定义在类中,用英文输入法输入,且空格必须用半角或Tab
大括号{}代表我们定义了一个区块(Block),区块里面包含了一个方法(Method),小括号()的前面就是方法名,这个方法的区块里包含一句显示信息的程序指令,我们称之为描述句(statement),描述结束用分号;
所有的Java 程序执行都有一个起点,即程序进入点(Entry Point),规格书规定是由public static void main(String []args)这个main方法开始执行。
②标识符
概念:Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
注意:
所有标识符都应以字母、美元符号或下划线开始
首字符之后,只能是字母、美元符号、下划线和数字的混合组合
类名以大写字母开头,变量和方法名以小写字母开头,且若为多单词结构则每个单词首字母开头大写,即驼峰式命名
区分字母大小写
关键字不能作为标识符
③修饰符
概念:修饰符用来定义类、方法或者变量,通常放在语句的最前端。
修饰符有很多,可分为访问控制和非访问控制。
1.访问控制修饰符:(1)default(缺省):同一包内可见;
(2)public(公有):所有类可见;(接口的变量会隐式声明为public static final;方法默认为public)
(3)private(私有):同一类可见,不可修饰外部类和接口;
(4)protected(受保护):对同一包内的类和所有子类可见。
2.非访问控制修饰符:
(1)static (全局/静态),可修饰变量和方法。
静态变量或方法都属于类自己拥有,即只有一份拷贝,所有对象共用,而不各自拥有。同时会把类名称作为名称空间,只能用类名调用。建议为了形式习惯,在同一类里也这么书写。
※ 特别注意:
static方法独立于对象,不能调用非static的方法和数据成员,只从参数列表获得数据进行计算。
static区块:在位码加载后,即加载完JVM,类初始化时就执行且执行一次。写在类定义的最前面。用"static{}"。
JDK5后新增import static语法,即静态导入,为了避免重复的调用静态方法简化书写,而直接在开头导入静态方法,但失去了可读性。
(2)final,可修饰类、变量和方法。
修饰类则表示不能被继承。
修饰变量则表示不可修改,若修改就会编译错误。如果被声明为final但还没指定值,那表示延迟指定,执行时一定要显式指定。一般是public static final创建类常量。
修饰方法则表示可以被子类继承,但不能被子类修改。(防止内容被修改)
(3)abstract(抽象),可抽象类和方法。
抽象类则表示不能实例化对象,声明抽象类的唯一的目的就是未来对该类进行扩充。
抽象方法则表示没有任何实现的方法,交由子类实现。继承的子类只有两个选择,一是实现方法,二是子类也作为抽象类。
※ 抽象类可以包括抽象类或非抽象类;但拥有抽象方法一定是抽象类,否则编译错误。
(4)transient 可修饰变量。
修饰的变量不会持久化,并且被包含在序列化对象里,jvm会跳过该特定的变量,用来预处理类和变量的数据类型。
(5)synchronized 可修饰方法。
声明同一时间只能被一个线程访问
(6)volatile 可修饰变量。
在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值;当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。(不同线程共享同一变量)
④关键字
不可作为任何标识符的名称
包括八大类:访问控制,修饰符,程序控制语句,错误处理,包相关,基本类型,变量引用以及保留字。
⑤格式控制符与转义忽略符
println()是显示文字后换行,print()是不换行。
标准的输出API是System.out.printf(),-f是format格式化,配合格式控制符号,控制变量类型的输出。
如System.out.printf("%d*%d=%2d %n",x,y,x*y);
第一个自变量(Argument)是字符串,里面可以加运算符、控制符、空格。第二个自变量开始,会依次置换掉第一个自变量的格式控制符号。
可以在输出浮点数时指定精度,%.2f,还可以在指定输出时预留字符宽度,%6.2f
转义忽略符
⑥注释与空行
空白行,或者有注释的行,Java编译器都会忽略掉。
lalalalalalal // 单行注释
/* 这是多行注释
* 这是多行注释
* 这是多行注释
*/