Java的八大基本类型
char、short、int、long、float、double、boolean、byte
byte是1字节补码;
boolean类型是布尔型,就是逻辑型;其取值只有两种:true和false。
Java的long是8字节补码。
在java中,没有unsigned 类型的修饰符,也就是说,java中的类型都是补码,没有无符号数这个概念。
java对于关系运算和逻辑运算的结果,一律按boolean类型对待。
构造方法
方法的重载
方法的覆盖(equals方法的覆盖,toString方法的覆盖,其他方法的覆盖)
this与super
静态成员和静态方法(static)
1、类的方法中的局部变量(含形参变量),在方法被调用前,尚未在内存中存在空间,当方法
被调用时,其空间在系统堆栈中存在;
(简而言之就是:局部变量占用系统堆栈空间);
2、类的非静态成员,在该类的对象new之前,并不存在于内存,当该类的对象被new之后,
即,在系统堆中申请空间;
(简而言之就是:类的非静态成员占用系统堆空间);
3、类的静态成员,一开始就存在于.class文件中;当该类被“加载”时(通过Java类加载器,
加载到JVM中),静态存储类成员的空间随着被加载到内存!
(简而言之就是:类的静态成员占用可执行文件的数据段空间,载入内存后,依然占用数据段空间)。
关于继承(涉及基类与派生类之间的关系):extends
instanceof :是实例否
关于private、public、protected、无修饰符:final:被final 修饰的变量,就是“只读变量”,或称“常变量”。可以避免”神仙数字“,提高代码的可读性。
String类:不是八大基本类型之一,是类类型。
运算结果:
System.out.println(oneString.replaceAll(oneString, "123123213"));
//不能把原来的字符串真正的替换,也就是不能改变它的真正的指向。实际上,这里new了一个新的String类的对象。
而StringBuffer和StringBuilder类可以改变指向:从键盘进行输入:
对于其他类型数据的输入,有系列的nextXXX()方法,比如:nextInt() nextLong() nextShort() nextString()等。
强制结束输入快捷键:Ctrl + Z
数组:
浅克隆
日历类:CalendarSimpleDateFormat类:(可以很好的输出日期)
注意:1月的返回值为0。
基本类型的封装类(类类型):泛型类
arrayList 类和 linkedList类:
arrayList 使用的时“动态数组”,而 linkedList 使用的时“链表”。如果未来程序中没有数据的插入和删除,主要是查找的话,那么,ArrayList的效率更好,反之,LinkedList的效率更好。
HashMap类: 这是一个双泛型类。键值对。
抽象类:abstract
**内部类:**在一个类中定义其他类,这些类称为内部类。
异常处理 :
java进程与线程:
来源:https://blog.csdn.net/weixin_44836233/article/details/102223277