第2章
JDK和JRE
JDK和JRE的区别:https://blog.csdn.net/weixin_40807247/article/details/83054382
JDK 11 后就不需要 jre 了,Oracle 和 OpenJDK 都把 jre 合成到了 jdk 里,JDK 11之后只需要配置一个 jdk 就可以了。
Java ee和se
Java ee和se区别:https://www.cnblogs.com/wzk-0000/p/8016202.html
se写桌面应用,ee写web应用,me写移动应用。但现在me被安卓取代了。ee用的很少,用的都是在ee上面衍生出来的spring。
第3章
编译运行
源代码的文件名必须与公共类的名字相同,并用.java 作为扩展名。因此,存储这段源代码的文件名必须为FirstSample.java ( 再次提醒大家注意,大小写是非常重要的, 千万不能写成firstsample.java)
如果已经正确地命名了这个文件, 并且源代码中没有任何录人错误, 在编译这段源代码之后就会得到一个包含这个类字节码的文件。Java 编译器将字节码文件自动地命名为FirstSample. class, 并与源文件存储在同一个目录下。最后, 使用下面这行命令运行这个程序:java FirstSample
输出
System.out.println();换行
System.out.print();不换行
数据类型
在Java 中, 整型的范围与运行Java 代码的机器无关。这就解决了软件从一个平台移植到另一个平台,或者在同一个平台中的不同操作系统之间进行移植给程序员带来的诸多问题。与
此相反,C 和C++ 程序需要针对不同的处理器选择最为高效的整型, 这样就有可能造成一个在32 位处理器上运行很好的C 程序在16 位系统上运行却发生整数溢出。由于Java 程序必须保证
在所有机器L都能够得到相同的运行结果, 所以各种数据类型的取值范围必须固定。
长整型数值有一个后缀L或l 。 十六进制数值有一个前缀0x 或0X。八进制有一个前缀0。很显然, 八进制表示法比较容易混淆, 所以建议最好不要使用八进制常数。
从Java 7 开始, 加上前缀0b或0B就可以写二进制数。例如,0b1001就是9。
另外,同样是从Java 7 开始,还可以为数字字面量加下划线, 如用1_000_000表示一百万。这些下划线只是为了让人更易读,Java 编译器会去除这些下划线。
Java 没有任何无符号(unsigned ) 形式的int、long、short 或byte 类型。
在C++ 中, 数值甚至指针可以代替boolean 值。值0相当于布尔值false,非0值相当于布尔值true,在 Java 中则不是这样。
最大值
Integer.MAX_VALUE、Integer.MIN_VALUE
https://blog.csdn.net/beguile/article/details/82862606
第4章
java中的全局变量、局部变量与static
https://blog.csdn.net/qq_40693828/article/details/81054090
static是所有对象只有一份拷贝,适合用来做常量
不加static是类的变量
第9章
STL的数据类型
数据类型使用注意:不能使用基本数据类型:https://blog.csdn.net/csj50/article/details/79364937
Boolean、Character、Byte、Short、Integer、Long、Float、Double
Queue类
Queue<Integer> queue = new LinkedList<>();
while(queue.peek() != null) {
int peek = queue.peek();
queue.poll();
}
offer,add 区别:
一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。
这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。
poll,remove 区别:
remove() 和 poll() 方法都是从队列中删除第一个元素。remove() 的行为与 Collection 接口的版本相似, 但是新的 poll() 方法在用空集合调用时不是抛出异常,只是返回 null。因此新的方法更适合容易出现异常条件的情况。
peek,element区别:
element() 和 peek() 用于在队列的头部查询元素。与 remove() 方法类似,在队列为空时, element() 抛出一个异常,而 peek() 返回 null。
HashMap类
Map<Integer, Integer> map = new HashMap<>();
map.containsKey(5);
map.get(3);
map.put(1, 5);
for(Map.Entry<Integer, Integer> entry : map.entrySet()) {
entry.getValue();
entry.getKey();
}
getOrDefault方法:https://blog.csdn.net/weixin_43263961/article/details/86513880
如果key存在,则返回value,如果不存在,则设置为default值
IDEA学习
IDEA中代码快速缩写
https://blog.csdn.net/xiaoduan_/article/details/79512885