[ 拉钩教育学习笔记-阶段01-任务01 ]
1. java历史
- 1995年诞生,詹姆斯·高斯林 (James Gosling)
- 2014年发布 Java8
- 2018年发布 Java11
2. Java分类
- Java 分为 Java SE、Java EE、Java ME
- Java ME不是目前用来开发Android APP的,它主要适用于嵌入式系统的,随着以Java为核心编程语言的Android智能平台的普及,Java ME已经走向淘汰。(虽与以往的认知不同,但既已淘汰就不用先关心了)
3. JDK目录
4. java11的便捷编译执行
使用命令:java Test.java
可以直接编译执行。过程不会生成class文件,同时也不允许已存在class文件。
5. JDK环境变量
老师说:JDK11,CLASSPATH不需要配了,网上也确实不提到11配CLASSPATH,JDK中也确实没有以前的jar文件了。
6. 键盘录入
- Scanner属于java.util包
- 读取字符串 next()
- 读取整数 nextInt()
7. 数值字面量
- 0开头表示8进制 例: 0123
- 0x开头表示16进制 例: 0x12a4
- 0b开头表示二进制 例: 0b100110
8. 二进制表示
- byte的范围是 -128到127
9. 浮点数
涉及精确计算的情况应该使用BigDecimal
10. byte short char注意(面试题考点)
- byte short char 只要参与运算就会先提升为 int,所以只要碰到小类型,一定要想到运算时,强制类型转化。
- b += 2; 注意:特殊赋值运算符 是可以的
11. 移位运算符
12. 优先级
13. switch支持的数据类型
14. break标签
- break只能跳出一层循环
- 跳出指定循环,使用标签:
15. 素数
- 素数:(质数)仅能被1和自身整除的整数。
- 查找方法:验证2到根号X之间是否存在可整除的除数。
for(int i=1;i<=100;i++){
boolean flag=true;
for(int j=2;j<=Math.sqrt(i);j++){
if(0 == i%j){
flag=false;
break;
}
}
if(flag){
System.out.println(i+" 是质数。");
}
}
16. 笔试考点 “ ;”
- do while() 之后 有分号 ;
- while() ; 表示循环体为空的循环。
17. 数组的几种创建方式
int[] arr = new int[10]; int[] arr = new int[]{1,2,3,4}; // 注意这种方式一定不能指定数组长度 int[] arr = {1,2,3,4};
18. 数组相关API
System
- System.arraycopy(from, index, to, index, len);
java.util.Arrays
- Arrays.toString(arr) // arr必须为一维数组
- Arrays.deepToString(arr) // arr多维数组
- Arrays.fill(arr,value) // arr必须为一位数组
- Arrays.equals(arr1, arr2) // 内容是否完全相等
- Arrays.sort(arr) // 从小到大
- Arrays.binarySearch(arr, value) // 二分查找,先sort
- 如果找到关键字,则返回值为关键字在数组中的位置索引,且索引从0开始
- 如果没有找到关键字,返回值为负的插入点值,所谓插入点值就是第一个比关键字大的元素在数组中的位置索引,而且这个位置索引从1开始。
- 不知道这个负索引有什么用?
19. 二维数组
- 二维数组就是一维数组的数组,也可以说是一维指针数组,故二维数组每行可等长也可不等长。