语法与c大致相同
for each语句
geeting[]表示一个数组
格式for(variable : collection) statement --collection表示这表达式必须是一个数组或者实现了Iterable接口
for(String a:geeting)
geeting[a];
Switch语句
goto 不建议使用
命令行参数
public class Message
{
public static void main(String[] args){
if(arg[0].equals("-h")) System.out.println("Hello,");
else if(args[0].equals("-g")) System.out.println("Goodbye,");
for (int i=1;i<args.length;i++)
System.out.println(""+args[i]);
System.out.println("!");
}
}
运行 java Message -g Crual World
‘’ 结果 Goodble,Crual World!
具体命名规范参考《阿里巴巴java开发手册》
- 标准的类名是以大写字母的开头的单词,如果是多个单词每个单词开头应该大写(CamelCase)
- java文件名必须与公共类的文件名相同(区分大小写)
- 类的源文件中必须包含一个main方法
- System.out.println(“Hello World!”); 使用System.out对象并调用了他的方法println,注意点号(.)调用方法,java使用的通用语法是object.method(parameters) 等价于函数的调用
- 声明一个变量之后,必须用赋值语句对变量进行显式初始化,千万不要使用未被初始化的变量
- 关键词final (static final 表示常量)
- 修饰变量时表示这个变量只能被赋值一次,不能被修改
- 修饰类时表示最终类,即不能被继承。
- throw 抛出异常
- 关键词public 是公共的
- 不需要对象就可以调用静态方法
- 关键词this与super
- 注释/* */
- // 单行注释
- /** */ 文档注释
- / * */不能嵌套
数据类型
- int
- float
- boolean
枚举类型
- enum Size{SMALL,MEDIUM,LARGE,EXTRA_LARGE}
- 声明这种类型的变量 Size s= Size.MEDIUM;
常用类
- String、StringBulider、Scanner
数组
- 创建数组的方式
- int [] =new int[100]; --创建并初始化
- int[] a; --声明一个a数组
对象与类(oop)
类是构造对象的模板或者蓝图
- 封装(数据隐藏)不过是把 数据和行为组合在一个包里,并对对象隐藏了数据的实现方式
- 实现封装的关键在于绝不能让类中的方法直接访问其他类的实例域。程序仅通过对象数据进行交互
对象-三个主要特性
- 对象的行为–可以对对象施加哪些操作,或可以对对象施加哪些方法?
- 对象的状态–当施加那些方法时,对象如何响应?
- 对象的标识–如何辨别具有相同行为与状态的不同对象?
对象的构造
- 重载:如果多个方法有相同的名字、不同的参数,便产生了重载。
- 编译器必须挑选具体的方法执行。如果编译器找不到匹配的参数,或者找出多个可能的匹配,就会产生编译时的错误(被称为重载解析)
静态导入
- 如果在开头加入一条指令
- import static java.lang.Systen.*;
这样就可以使用System类的静态方法和静态域了,不需要加类名前缀
- import static java.lang.Systen.*;
out.println("Goodbye,World!");
exit(0);
方法注释
- @param变量描述
- 这个标记将对当前方法的"param"(参数)部分添加一个条目。这描述可以占据多行,并可以使用HTML标记。一个方法所有@param标记必须放在一起
- @return描述
- 这个标记将对当前方法添加“return”(返回)部分。这个描述可以跨越多行,并可以使用HTML标记。
- @throw类描述
- 这个标记将添加一个注释,用于表示这个方法有可能抛出异常。
通用注释
- @author 作者名
- @version 文本
- @since 文本
- 这个标记将产生一个“since”(始于)条目。 这里的text可以是引入特定的版本号
- @deprecated 文本
- 对类、方法或变量添加一个不再使用的注释。文本中给出了取代的建议
- @see 引用
类的设计技巧
- 一定要保持数据的私有性–绝对不要破坏封装性
- 一定要对数据初始化
- 不要再类中使用过多的基本类型
- 不是所有的类都需要独立的域访问器和域更改器
- 将职责过多的类进行分解
- 类和方法名要体现它们的职责
java核心技术前四章-复习总结