- 分隔符、标识符以及关键字
- java程序的注释
- 基本数据类型
- 编码惯例
分隔符
起到分隔作用的符号。
- 分号(“;”) :语句结束的标记 、for循环中分隔不同的成分
- 逗号(“,”):方法声明或调用参数列表中,用于分隔多个参数int a,b;
- 圆点(“.”) :访问对象成员(属性或方法)标明调用或隶属关系。对象名.成员名、 类名.成员名
- 空格(“ ”) :分隔源代码中不同的部分
起到标识作用的符号。
- 标识符必须以字符、下划线(“_”)或美元符(“$”)开头,后跟字符、下划线、美元符或数字(0~9)。
- 长度无限制。
- 即区分大小写。
- 不允许Java关键字
关键字
Goto和const虽未起任何作用,但为避免无用也被作为关键字保留下来;True和false虽不是关键字,但也已被用作专门用途,因此不可做标识符使用;
Java关键字都是小写。
java程序的注释
- // :本行;
- /* */ :注释内容可以跨行,适用于内容较长的注释;
- 以/***/:注释内容可以跨行。使用JDK中提供的文档化工具javadoc可以将这种注释的内容提取出来自动生成软件说明文档 。
- 多行套单行,单行套单行,多行不套多行
数据类型的分类
- 作用:确定内存大小
- 将数据按数据性质进行分类,每一类称为一种数据类型(datatype)。
- 数据类型定义了数据的性质、取值范围、存储方式以及对数据所能进行的运算和操作。
- 都是小写的。
- 基本数据类型:Java语言中预定义的、长度固定的、不能再分的类型,数据类型的名字被当作关键字保留。
类型名称 | 关键字 | 所占字节 | 取值范围 | 默认值 | |
整 数 | 字节型 | byte | 1 | -27~27-1 | (byte)0 |
短整型 | short | 2 | -215~215-1 | (short)0 | |
整型 | int | 4 | -231~231-1 | 0 | |
长整型 | long | 8 | -263~263-1 | 0 | |
小 数 | 单精度浮点数 | float | 4 | -3.4E38~3.4E38 | 0.0 |
双精度浮点数 | double | 8 | -1.7E308~1.7E308 | 0.0 | |
字符型 | char | 2 | 0~65535 | ‘\u0000’ | |
布尔型 | boolean | 1 | true和false | false |
-
常量和变量
- 常量
-
整型常量
默认为int。12 -98245 0122 0x4f 5649L
浮点常量
默认为double。 1.23 1..23E-5 1.23e+2 1.23f 1.23e+3f
布尔型常量
true false
字符型常量
单个字符,转义字符,八进制,Unicode字符。 ' a' '汉' '\n ' ' \141 ' ' \u234f '
字符串常量
属于对象,引用数据类型。“this is a string!\n”
- 变量
- 变量的声明
- 变量的作用域 变量的作用域也称变量的作用范围,即一个变量在多大的范围内可以使用。
- 类中声明的变量
- 方法中声明的变量
- 复合语句中声明的变量
static String str = "Hello\t"; 类的全局变量
public static void main(String[] args){
String stringVar = "Java"; main的局部变量
System.out.println(str + stringVar);
show();
}
static void show(){
String stringVar = "中国"; show()的局部变量
System.out.println(str + stringVar);
}
}
编码惯例
项目 | 命名规则 | 说明/举例 |
类 | 名词或名词性词组,每个单词首字母大写;一般不使用缩写,除非其缩写更通用和便于理解,如HTML。 | class Person; class SprintRain; |
方法 | 动词或动词性词组,首字母小写,第二个及以后的单词首字母大写。 | run(); displayInfo(); |
接口 | 同“类”的命名规则。 | interface Runner; |
变量 | 名词或名词性词组,首字母小写,第二个及以后的单词首字母大写;不提倡使用下划线“_”和美元符”作为变量开头;单词间可以使用下划线分隔;变量名不宜“$过长但也应有意义,除非是临时使用(例如只涉及几行代码)后即丢弃的情况,不建议使用单个字母做变量名,常用的单字母变量名包括表示整数的i、j、k、m、n和表示字母的c以及表示异常对象的e等。 | int i; char c; double salary; int age; int student_age; String studentName; Exception e; |
常量 | 名词或名词性词组,全部大写;单词间使用下划线分隔。 | final int MAX_LEVEL=10; |
包 | 名词或名词性词组,全部小写;一般使用本公司/组织网站域名的逆序、后跟具体的软件内部模块名 | package com.sun.java; package com.mycompay.db; |
文件的组织
-
建议一个源文件中只定义一个Java类或接口,无论该类或接口是否被声明为public的,文件名都以类名来命名。
-
源文件中各成分的出现顺序为:开始的注释、package语句、import语句、类/接口声明
-
各种成分的排列,推荐的顺序:属性声明、构造方法声明、static语句、普通方法声明、main方法声明、内部类的声明
- 空行
- 方法之间
- 方法的内部代码的逻辑段落小结间
- 方法中声明局部变量之后,具体的java语句之前
- 注释行之前
- 同1源文件中,定义多个类、接口之间
- 空格
- 参数列表“,”后
- 运算符与运算数之间
- 换行符
- 小括号
- 优先级
- 花括号
- 缩进
- 类中成分
- 方法体或语句块中的成分
- 换行时的非起始行
- 声明一个变量,尽量在声明童同时初始化,除非初始值不确定
- 避免将变量不必要的声明在外层范围内