Day1

1:常见的问题(掌握)
(1)javac后面跟的是文件名+扩展名
java后面跟的类名不带扩展名
(2)Java语言严格区分大小写,请注意。
还有就是单词不要写错了。
(3)见到非法字符: \65307肯定是中文问题。
我们写程序要求标点符号必须全部是英文状态。
(4)括号的配对问题。
一般来说,括号都是成对出现的。

2:path环境变量
(1)path环境变量的作用
保证javac命令可以在任意目录下运行。
同理可以配置qq等
(2)path配置的方案:
找到环境变量的位置,在系统变量里面
新建:
变量名:JAVA_HOME
变量值:D:\develop\Java\jdk1.7.0_60
修改:
变量名:Path
变量值:%JAVA_HOME%\bin;以前的内容

3:classpath环境变量
(1)classpath环境变量的作用
保证class文件可以在任意目录下运行
(2)classpath环境变量的配置
找到环境变量的位置,在系统变量里面
新建:变量名:classpath
变量值:E:\JavaSE\day01\code\HelloWorld案例

Day2

1:标识符
(1)组成规则:
A:英文大小写字母
B:数字
C:$和_
(2)注意事项:
A:不能以数字开头
B:不能是java中的关键字
C:区分大小写
(3)常见的命名规则(见名知意)
A:包 全部小写
单级包:小写
举例:liuyi,com
多级包:小写,并用.隔开
举例:cn.itcast,com.baidu
B:类或者接口
一个单词:首字母大写
举例:Student,Demo
多个单词:每个单词首字母大写
举例:HelloWorld,StudentName
C:方法或者变量
一个单词:首字母小写
举例:name,main
多个单词:从第二个单词开始,每个单词首字母大写
举例:studentAge,showAllNames()
D:常量
全部大写
一个单词:大写
举例:PI
多个单词:大写,并用_隔开
举例:STUDENT_MAX_AGE

2:注释
(1)就是对程序进行解释说明的文字
(2)分类:
A:单行注释//
B:多行注释//
C:文档注释(后面讲) /
*/

3:数据类型
(1)分类:
A:基本数据类型:4类8种
B:引用数据类型:类,接口,数组。
(2)基本数据类型
A:整数 占用字节数
byte 1   -128~127
short 2  -32768~32767
int 4      -2147483648~2147483647
long 8
B:浮点数
float 4
double 8
C:字符
char 2
D:布尔
boolean 1

注意:
整数默认是int类型,浮点数默认是double。

长整数要加L或者l。
单精度的浮点数要加F或者f。

Day4

Switch表达式:可以是byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串

Day 5

数组每一个变量都有默认值
byte,short,int,long 0
float,double 0.0
char ‘\u0000’(字符空格)
boolean false
引用类型 null

Day 8

静态代码块,构造代码块,构造方法的顺序问题?
静态代码块 > 构造代码块 > 构造方法
Java继承中的成员关系
A:成员变量
a:子类的成员变量名称和父类中的成员变量名称不一样,这个太简单
b:子类的成员变量名称和父类中的成员变量名称一样,这个怎么访问呢?
子类的方法访问变量的查找顺序:
在子类方法的局部范围找,有就使用。
在子类的成员范围找,有就使用。
在父类的成员范围找,有就使用。
找不到,就报错。
B:构造方法
a:子类的构造方法默认会去访问父类的无参构造方法
是为了子类访问父类数据的初始化
b:父类中如果没有无参构造方法,怎么办?
子类通过super去明确调用带参构造
子类通过this调用本身的其他构造,但是一定会有一个去访问了父类的构造
让父类提供无参构造
C:成员方法
a:子类的成员方法和父类中的成员方法名称不一样,这个太简单
b:子类的成员方法和父类中的成员方法名称一样,这个怎么访问呢?
通过子类对象访问一个方法的查找顺序:
在子类中找,有就使用
在父类中找,有就使用
找不到,就报错

Day9
多态中的成员访问特点
A:成员变量
编译看左边,运行看左边
B:构造方法
子类的构造都会默认访问父类构造
C:成员方法
编译看左边,运行看右边
D:静态方法
编译看左边,运行看左边
为什么?
因为成员方法有重写。
2)抽象类的特点
A:抽象类和抽象方法必须用关键字abstract修饰
B:抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类
C:抽象类不能实例化
D:抽象类的子类
a:是一个抽象类。
b:是一个具体类。这个类必须重写抽象类中的所有抽象方法。
(3)抽象类的成员特点:
A:成员变量
有变量,有常量
B:构造方法
有构造方法
C:成员方法
有抽象,有非抽象
abstract不能和哪些关键字共存
a:final冲突
b:private 冲突
c:static 无意义
接口的成员特点:
A:成员变量
只能是常量
默认修饰符:public static final
B:构造方法
没有构造方法
C:成员方法
只能是抽象的
默认修饰符:public abstract
其他:
Math.random随机范围为【0,1)