java代码运行的一个过程:
编写java源文件
创建一个filename.java,
.java 文件是java的源文件,但是不能直接运行,必须先被编译成为.class文件 才能够执行
编译源文件
java 使用 javac命令进行编译,编译成 filename.class
1 | javac filename.java |
运行.class文件
java的运行命令是
1 | java filename.class |

每个Java源文件都包含一个单一的公共类或接口。若私有类和接口与一个公共类相关联,可以将它们和公共类放入同个源文件。公共类必须是这个文件中的第一个类和接口。
Java源文件还遵循以下规则:
开头注释
包和引入语句
类和接口声明
1 )开头注释
所有的源文件都应该在开头有一个C语言风格的注释,其中列出类名、版本信息,日期和版权声明:
1 | / * |
2)包和引入
在多数Java源文件中,第一个非注释行是包语句行。在它之后可以跟引入语句。例如:
1 | package java.awt; |
3)类和接口声明
类/接口声明的各部分 | 注解 | |
---|---|---|
1 | 类/接口文档注释 (/ **…* /) |
该注释中所包含的信息。 |
2 | 类/接口的声明 | |
3 | 类/接口实现的注释 (/ … /) 如果有必要的话 | 该注释应包含任何有关整个类或接口的信息,而这些信息又适合作为类/接口文档注释。 |
4 | 类的(静态)变量 | 首先是类的public变量,随后是protected变量,再后是包一级别的变量(没有访问修饰符),最后是private变量。 |
5 | 实例变量 | 首先是public变量,随后是protected变量,再后是包一级别的变量(没有访问修饰符),最后是private变量。 |
6 | 构造器 | |
7 | 方法 | 这些方法应该按功能,而非作用域或访问权限,分组。 |
1、注释(Comments)
Java程序有两类注释:
1) 实现注释(implementation comments):
使用/*…*/
和//界定的注释。
块注释:通常用于提供对文件,方法,数据结构和算法的描述。块注释被置于每个文件的开始处以及每个方法之前。它们也可以被用于其他地方,比如方法的内部。在功能和方法内部的块注释应该和它们所描述的代码具有一样的缩进格式。
1 | /* |
单行注释:短注释可以显示一行内,并与其后的代码具有一样的缩进层级。如果一个注释不能在一行内写完,就该块注释。
1 | if (condition) { |
尾端注释:极短的注释可以与它们所要描述的代码位于同一行,但是应该有足够的空白来分开代码和注释。若有多个短注释出现于大段代码中,它们应该具有相同的缩进。
1 | if (a==2) { |
2) 文档注释(document comments) :
Java独有的,由/**…*/
界定,可以通过javadoc工具转换成HTML文件
文档注释描述Java的类、接口、构造器、方法,以及字段(field)。每个文档注释都会被置于注释界定符/ *…/之中,一个注释对应一个类、接口或成员。
1 | /** |
文档注释可以添加更多信息,通过@param来添加,具体参数含义如下:

2、命名规范
命名规范使程序更易读,从而更易于理解。它们也可以提供一些有关标识符功能的信息,以助于理解代码。
1 )包
一个唯一包名的前缀总是全部小写的ASCⅡ字母并且是一个顶级域名,通常是com,gov,edu,mil,net,org,或1981年ISO 3166标准所指定的标识的国家的英文双字符代码。
包名的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范可能以特定目录名的组成来区分部门(department),项目(project),机器(machine),或注册名(login names)。
例如:com.sun.eng 、 com.apple.quicktime.v2 、 cn.edu.nwpu.job
2) 类和接口
类和接口名是一个名词,采用大小写混合方式,每个单词的首字母大写。尽量使你的类和接口名简洁而富于描述。使用完整单词,避免缩写词(除非该缩写词被广泛的使用,如URL,HTML)。
例如:class Raster 、 class ImageSprite 、 interface RasterDelegate 、 interface Storing
3) 方法
方法名是一个动词,采用大小写混合方式,第一个单词的首字母小写,其后单词的首字母大写。
例如:run() 、 runFase() 、getBackground()
4) 变量
第一个单词的首字母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头。
例如:char c 、 int i 、 float myWidth
5) 常量
大小写规则和变量名相似,除了前面需要一个下划线隔开。尽量避免ANSI常量,容易引起错误。
例如:
static final int MIN_WIDTH = 4 、 static final int MAX_WIDTH = 999 、static final int GET_THE_CPU = 1
3 、java变量与常量
Java的数据类型


整型常量
十进制(12) ,十六进制 (0x12),八进制(012)
长整型常量
13l,100L
单精度浮点数
5.1f,.4f ,2e3F ,0f
双精度浮点数
5.1,.4,2e-3,0d
布尔常量
true和false
字符常量
‘a’ , ‘8’, ‘\u0027’
‘\r’表示接受键盘输入,相当于按下了回车键;
‘\n’是换行;
‘\t’是制表符,相当于table键;
‘\b’是退格键,相当于Back Space;
'\''
是单引号,而'\"'
是双引号;‘\‘是一个斜杠”\”。
字符串常量
- “Hello World” , “123”, “Welcome \nXXX”
null
- 表示对象的引用为空
4 、 Java中的运算符
运算符是一种特殊符号,用以表示数据的运算、赋值和比较,一般由一至三个字符组成 。运算符共分以下几种
算术运算符

赋值运算符

比较运算符

逻辑运算符

a&b与a&&b的区别:a&b——a与b都计算,a&&b——先计算a如果a为false则不计算b。
a|b与a||b的区别:a|b——a与b都计算,a||b——先计算a如果a为true则不计算b。
移位运算符
任何信息在计算机中都是以二进制的形式保存的,&,|,^除了可以作为逻辑运算符,也可以做为位算符,它们对两个操作数中的每一个二进制位都进行运算。
只有参加运算的两位都为1,&运算的结果才为1,否则就为0。
只有参加运算的两位都为0,|运算的结果才为0,否则就为1。
只有参加运算的两位不同,^运算的结果才为1,否则就为0。
可以对数据按二进制位进行移位操作,java的移位运算符有三种:
<< 左移
>>
右移>>>
无符号右移
运算符的优先级
