基础规范
一个.Java文件只能有一个公开类,且文件名必须与该类名称一样
一个.Java文件可以有多个类,编译后生成多个类名.class
常写注释,类的注释应该包括作者,修改时间和版本号等
方法的注释应该包括方法的参数和方法的返回值
多行注释用于小节的总结和描述 单行注释重点的参数部分
/**
* 学习注释
* {@link <a href="http://www.baidu.com">}这是一个链接地址{@link </a>}
*/
public class Note {
/**
* main方法是程序运行的入口
* @param args
* @return String
*/
public static void main(String[] args) {
/*
* 学习打印功能
*/
//换行打印
System.out.println("Hello world!");
//不换行打印
System.out.print("Hello world2!");
}
}
包的命名
(1)合法字符:
字母、数字、下划线、货币符号($¥)、各国家的文字(通常不使用) 首字符不能是数字,首字符不能 是数字,首字符不能是数字
(2)大小写敏感 Java 中严格区分大小写
(3)java 语法关键字
- Java 中有一些字符用作特殊用途称之为关键字 关键字不能应用首字符
- 关键字:权限修饰:public private protected
- 数据类型:static void
- 类与接口:implements class abstract package import
- 操作符:do if while for ……
- Java 语言未使用的关键字:goto const
- 严格说 true 和 false 不是关键字他们是布尔型数据的值
(4)标识符命名习惯
①望文生义
②命名规则
包名:全部小写 例:com.oracle.ljq
类名:每个单词首字母大写 例:MyClass
接口名:每个单词首字母大写 例:MyInterface
变量/方法名:第一个单词小写,以后的每一个单词首字母大写。例:int myFirstObject
常量:每个单词全部字母大写,用下划线_分隔。 如:REQUEST_CODE
数据类型
整数 byte short int long 字节数1248
浮点数 float double
布尔类型 boolean
字符类型 char
引用类型 对象类型,复合类型,类类型
类型转换优先级
byte<short<char<int<long<float<double
变量的作用域
全局变量 类的内部声明,有static 修饰
局部变量 在某一个逻辑块中,声明后赋值再使用,只在内部起作用
原则:就近原则,出现相同的变量名是,局部变量优先被引用。同一个作用域中,名字不能相同。
输入输出语句
(1)输出语句
① System.out.print(“打印的内容”); //不换行打印
② System.out.println(“打印的内容”); //换行打印
(2)输入语句 import java.util.*; //添加包的引用
Scanner in = new Scanner(System.in); //声明 Scanner 类
int i = in.nextInt(); //输入整数,从控制台读取用户输入的下一个整数
string str = in.next(); //输入字符串,从控制台读取用户输入的下一个字符串
流程控制语句
if 语句
if(boolean 表达式){ 表达式返回值为 true 执行的语句; }
else{ 表达式返回值为 false 执行的语句; }
其他写法:
if(表达式){ 表达式返回值为 true 执行的语句; }
if(表达式 1){ 表达式 1 返回值为 true 执行的语句; }
else if(表达式 2){ 表达式 1 返回值为 false 且表达式 2 返回值为 true 执行的语句; }
else{ 表达式 1,表达式 2 返回值都为 false 执行的语句; }
switch-case 语句(等值匹配)(尽量不要用)
switch(数据)){ case 数据 1:执行语句 1; btrak; case 数据 2: 执行语句 2; btrak; case 数据 3: 执行语句 3; btrak; default: 以上条件都不满足语句; break; }
注意:每个 case 后面必须有 break,没有 break 继续执行下一跳 case。
switch-case 支持的数据类型:byte,short,char,int,枚举(JDK1.5),String(JDK1.7)
if 语句
if(boolean 表达式){ 表达式返回值为 true 执行的语句; }
else{ 表达式返回值为 false 执行的语句; }
其他写法:
if(表达式){ 表达式返回值为 true 执行的语句; }
if(表达式 1){ 表达式 1 返回值为 true 执行的语句; }
else if(表达式 2){ 表达式 1 返回值为 false 且表达式 2 返回值为 true 执行的语句; }
else{ 表达式 1,表达式 2 返回值都为 false 执行的语句; }
switch-case 语句(等值匹配)(尽量不要用)
switch(数据)){ case 数据 1:执行语句 1; btrak; case 数据 2: 执行语句 2; btrak; case 数据 3: 执行语句 3; btrak; default: 以上条件都不满足语句; break; }
注意: ①每个 case 后面必须有 break,没有 break 继续执行下一跳 case。
②switch-case 支持的数据类型:byte,short,char,int,枚举(JDK1.5),String(JDK1.7)
循环
for(初始语句;循环条件;增量语句){
单次循环代码;
}
初始语句:循环控制变量的定义与赋值。
循环条件:是否进行下一次循环的判断语句(返回值为true时,进行下一次循环)。
增量语句:单次单次循环代码执行之后执行该语句,控制循环变量。
for(类型 对象名 : 数组名){
对象名 //返回遍历到的一个数组元素
}
该方法被用在数组元素的遍历中,仅能返回元素的值,不能返回元素的对象。
while(循环条件){
单次循环代码;
}
(2)转换关系
for(初始语句;循环条件;增量语句){ 单次循环代码; }
初始语句 while(循环条件){ 单次循环代码; 增量语句 }
(3)for与while的比较
①for循环可以和while循环相互替换使用
②for循环一般多用于确定次数的循环
③while循环一般多用于不确定次数的循环
(4)流程控制语句
continue:表示本次循环结束,直接进行下一次循环。
break:跳出循环。
例:
for(int i=0;①i<100;④i++){
②循环语句;
③continue;
}
执行顺序:①②③④①……
while(①i==100){
②循环语句;
③break;
}
④其他语句
执行顺序:①②③④
(5) 退出多重循环
label : while( ① 循环 1 条件 ){
while( ②循环 2 条件 ){
if( ③跳出条件 ){
④ break label;
}
}
}
⑤ 其他语句
当给某一层的循环加一个标记 label 时,执行 break label 将跳出有标记那层的循环
执行顺序: ① ②③ ④ ⑤