Java基础
java基础已经学完很长一段时间了,很多东西都已经忘记了,所以我趁着空余时间复习了一波基础
JDK
JDK: java Development(开发) Kit(套件)
JRE: java Runtime(运行) Environment(环境)
JVM: java Virtual(虚拟) Machine(机)
JDK>JRE>JVM
API,Application Programming Interface,翻译为“应用程序编程接口”
字符串
数据类型
基本类型:primitive type
引用类型:reference type
浮点数之间不能相比较,如做银行业务,应当用数学工具类 BigDecimal更为安全
所有的字符本质都还是数字,数字可以强转为字符,字符也可以强转为数字
二进制:0b 八进制:0 十六进制:0x 十进制:平常生活的使用
boobean flag=true;
if(flag===true){
} //新手
if(flag){
} //老鸟
数据类型转换
由高到低:强转
由低到高:自动转换
不能对布尔转换
变量
变量的作用域
类变量:必须new自己后才可以使用
实例变量:前面加static 在整个类中使用
局部变量:只能在自己的方法中使用
常量(Constant)
变量前面加final
修饰的类,不能被继承
修饰的方法,不能被重写
修饰的变量,不能被改变
逻辑运算符
a=2;b=3;
System.out.println(a>b&&b>a);//a>b为错误,所以后面不执行
字符串连接符
//字符串拼接时候的位置
int a=10;b=20;
Sysout.out.println(""+a+b);//结果为1020
Sysout.out.println(a+b+"");//结果为30
使用IDEA生成javaDoc
Tools-> Generate Javadoc
output directory:路径
Other command line arguments:-encoding UTF-8 -charset UTF-8
Scanner对象
java.util.Scanner
scanner.next(); // 遇到空格只会返回空格前面的字符串
scanner.nextLine(); //返回所有字符串
scanner.close(); // 用完关闭
递归算法
public int fun(int i){
if(i==1){ //1阶乘本就是1
return 1;
}else {
return i*fun(i-1);
}
}
System.out.println( a.fun(6));
多态
子类重写了父类的方法,就一定执行子类的方法。
对象能执行那些方法,主要看左边的类型,和右边关系不大!
子类可以调用的方法都是自己或者继承父类的!
父类可以指向子类,但是不可以调用子类独有的方法!
多态是方法的多态,不是属性的
必须有继承关系
父类引用指向子类对象!
重写
无法被重写:1.static方法,属于类,不属于实例
2.final:常量,3.private
判断两个类之间有无关系
System.out.printfln(X instanceof Y); //看能不能 编译通过!
异常
异常的超类:Throwable,有Error和Exception两个子类。