java基础学习
1. 标识符和关键字
标识符
由字母,数字,下划线,美元符号$组成;
不能以数字开头;
java区分大小写.
- 包名: 字母小写 xxxyyyzzz
- 类名,接口名: 单词首字母大写 XxxYyyZzz
- 变量名,方法名:首字母小写,驼峰命名规范 xxxYyyZzz
- 常量名:全部大写下划线连接 XXX_YYY_ZZZ
关键字
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
2. 数据类型
八种基本数据类型:
整数型 | 浮点型 | 布尔型 | 字符型 |
---|---|---|---|
byte(1), short(2), int(4), long(8) | float(4), double(8) | boolean(1) | char(2) |
数据类型转换:
byte<short(char)<int<long<float<double
- 自动类型转换:小转大
- 强制类型转换:大转小(可能会损失精度)
引用数据类型
3. 运算符
逻辑运算符:&&,||,!
位运算符:&,|,^,>>,<<
条件运算符:x?y:z(如果X为真,则为y,为假则为z)
4. 接收键盘输入
Scanner sc = new Scanner(System.in);
sc.hasNext();
sc.hasNextLine();
sc.hasNextInt();
...
sc.next();
sc.mextLine();
sc.nextInt();
...
5. 控制语句
5.1 选择语句
if
if(true|false){
}else{}
switch
switch(字面值或变量){
case 值:
java语句;
break;
case 值:
java语句;
break;
default:
java语句;
}
5.2 循环语句
for
for(;;){
循环体;
}
增强for
for(int i:xxx){
循环体;
}
while
while(布尔表达式){
循环体;
}
do…while
do{
循环体;
}while(布尔表达式);
5.3控制循环语句
break
终止switch语句
终止循环
continue[下一个]
跳过本次循环,直接进入下次循环,不会终止全部循环
6. 方法
6.1普通方法、静态方法、构造方法
-
静态方法是带有static修饰的方法,是类级别的方法,不需要new对象,可直接类名.的方式直接访问
-
构造方法是每个类必有的,如果没写,系统默认提供无参构造方法【缺省构造器】,如果写了,系统不提供无参构造方法,构造方法是在创建对象时运行,可以对对象初始化赋值
6.2方法重载和覆盖
重载(overload):在同一个方法中,方法名相同
- 数量不同
- 顺序不同
- 类型不同
重载和什么有关,和什么无关?
-
和方法名,参数列表有关
-
和返回值类型无关
-
和修饰符列表无关
覆盖:子类调用父类方法,重写父类方法
7. 方法递归
包含两部分:
- 递归头(什么时候结束递归)
- 递归体(什么时候调用自身)
8. java面向对象的三大特征
封装、继承、多态
8.1封装private
类的属性私有化,对外提供set和get方法, 重写toString,使数据安全
8.2继承extends
子类继承父类,只能单继承;如果没有继承,默认继承object类
8.3多态
向上转型
//通过父类型引用指向子类型对象
Animal a = new Cat();
向下转型(调用子类型特有的方法,就需要强制类型转换)
Cat c = (Cat) new Animal();
向下转型有风险,使用instanceof运算符在运行阶段动态判断引用1指向的类型
(c instanceof Cat)//结果为true或者false
9. this和super
10. final
final修饰的变量通常加上static修饰,称为常量
一般是公开的
常量名建议全部大写,每个单词之间用下划线衔接
public static final int COUNT = 10;