java1
网站:

String[] args:可以用来获取命令行用户输入进去的参数
System.out.println(s);这个方法会调用s的toString方法
javaSE:java标准版
javaEE:java企业版,定位在服务器端,包括SE
javaME:定位在消费产品上
java既有编译(c,c++)又有解释:

JDK包含JRE,JRE包含JVM(虚拟机) ,各个操作系统对应不同jvm
静态变量:类变量,类在它在。static int a;
成员变量从属于对象
final:

整型:


右边的整型常量(就是数字)默认int,当数字过长时,后面加L表示转成long型常量,否则无法表示(下图是存在2种类型):

右边的数默认是double,此处加f转成float:
float a = 2.1f:
float和double都不是精确的,但是BigDecimal是:
只是精度是精的,但是不是指任意长度的整数
BigInteger,BigDecimal

与:& ,或:|,<<左移:
true & false = false ,3 & 4 = 0
短路与: A&&B,若A是false,则后面不看了,与&仅此区别
Scanner:得到键盘输入

格式化快捷键:Ctrl+alt+L
重载:方法名一致

栈:

堆:

类和对应的存储:


垃圾回收(C++没有):
搜索堆中哪些对象没有被引用,则当垃圾回收掉
分代垃圾回收:

this:可指代当前对象:

类只能调动static修饰的东西。
静态初始化块:
运行时会先执行父类的静态初始化块,再执行它,再执行别的句子:

值传递:就是传递副本
但是如果传的是对象,其实传地址,则操纵同一个对象:

package:类似文件夹

同一个包里面的类不用import
不同包得导:

还能导入静态属性和方法,就能直接使用方法和属性
java的类没有多继承,接口有。
默认extends Object
instanceOf :
判断对象是否是后面类的对象:

重载overload是一个类多个同名方法
override重写是子类重写父类的方法:
要求:
1.方法名和参数列表相同
2.子类返回值类型要小

==:看是否完全相等,对象则看地址
super:指向父类

构造器中默认调用父类的构造器:

属性查找顺序:

访问控制符(访问类内部的属性和方法或者整个类):

此处的子类是不同包,但是有继承关系
多态又叫动态绑定:调用某一方法时,要看是谁在调用,不同人调用结果不同
多态条件:

Animal d= new Dog();
d.shout();
d只能调用Animal里面的方法,或者Dog里面重写Animal的方法(多态)
((Dog)d).shout()向下转型后就能调用狗的所有方法了
数组:

for:

abstract:
但是可以:
抽象类 a = new 子类();

接口:


由于是Volant,v只能调用fly。

非静态内部类(类似进程中的线程):
可以访问外部类的成员:

String:
比较字符串一般用equals



常用方法:
replace不会改变s1本身

数组 拷贝:
arraycopy:
从s1的index=2处开始向s2的6处拷,拷贝3个元素过去

Arrays:
Arrays.toString(a):输出数组a的全部元素
sort:排序

binarySearch:
查询a数组中元素30的index:

二维数组:


二维数组存储表格:

包装类:
基本数据类型,包装类对象,字符串的相互转化:


拆箱与装箱:

字符串转成数字:
int a = Integer.parseInt("123");
Integer.toHexString(123):将十进制123转换成十六进制,然后以字符串形式输出。
在valueOf(n)中,当-128<n<127时,返回缓存数组中的元素地址,如果超出这个范围,则返回新的包装类对象

StringBuilder可以被修改(相比较string)


循环累加字符时,推荐:

Date:
以1970为基准能得到时间戳:

DateFormat:字符串和时间的转化

Calendar:





枚举:


异常:

try catch:
finally必然执行

异常一层层外抛,最后抛给jvm:


浙公网安备 33010602011771号