第一天(12.01)
- 语句以分号结束
 - 起名以'_','$'和字母开头
 - 使用final定义常量
 - '^'表示异或,相同为false
 
算术运算符'+'的使用
- 
从左到右逐个执行
 - 
只要有字符串参与,就会将前后拼接
System.out.printIn("abc"+true); //abctrueSystem.out.printIn(2+1+"abc"+2+1); //3abc21 - 
字符+字符 或 字符+数字 时,会将字符转换为ASCII码对应值再运算
 
输入
点击查看代码
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();

基本数据类型

类型转换
- 底层类型是二进制位数增加和删除,注意最前一位都是符号位
隐式:1100 0100 --> 0000 0000 1100 0100
强制: 1001 0101 1100 0100 --> 1100 0100 
隐式转换
- 取值范围小 --> 取值范围大
 - int<long<float<double
 
转换场景
- 小范围与大范围运算时,小范围自动转换为大范围再进行运算,并最终返回大范围类型数据
 - byte,short,char在进行任何运算时都会先转换为int再运算
 - 在使用 +=, -= ,*= ,/= ,%= 时底层都隐藏了强制类型转换
 
强制类型转换
- 取值范围小 <-- 取值范围大
 
短路逻辑运算符
- && 和 ||
 - 前面条件能够判断则跳出,提高程序效率
 
三元运算符
- 三元运算符的结构必须被使用
 
'&' 的用法('|' 同理)
- 作为逻辑连接运算符连接两个表达式
 - 可以用在 数字和数字 字符和数字 字符和字符 之间使得其转换而成的十进制数在底层通过按位与的方式运算
 - 计算机中的数的存储方式都是补码,按位与运算结果也是补码,因此计算结果需要特别注意收尾符号位
 
左移和右移
a << 2 a >> 2
- 底层逻辑也是二进制左右移,相当于乘除2en
 
流程控制
if
- if后的大括号省略时,如果直接写
int a = 100;会报错,该语句包含定义和赋值两句 - 支持else if最后不加else
 
第二天(12.02)
- 使用 sout+Tab 快速输出
 System.out.print()在使用时不会换行- sc.nextLine()可用于键盘读入字符串
 
switch
- switch中路由是byte,short,int,char,枚举,字符串
 - default位置可以随意
 - JDK12的switch简化写法
case 1 -> System.out.printIn("number为1"); - switch使用于离散值,if可用于连续值
 - 支持多个值匹配(注意JDK版本)
case 1,2,3,4,5: System.out.printIn("workday"); 
for
- 键入 5.fori+Tab 快速写循环(循环5次)
 - continue:结束本次循环,开始下次循环
 
案例:判断回文数
生成1-99之间随机数
点击查看代码
  Random r = new Random();
  int num = r.nextInt(1,100); //记得配置高版本jdk
  System.out.println(num);
数组
- 定义
int[] array = new int[]{1,2,3,4}; //静态
int[] arr = new int[3]; //动态 - 使用去arr.length获取数组长度
 - 快速遍历数组快捷 arr(数组名).fori + Tab,然后填入语句
 - 数组初始值定义规律
 

- 数组以以下方式复制时,只复制引用,实质上指向同一块空间
 
点击查看代码
int[] arr1 = {1,2,3};
int[] arr2 = arr1;
第三天
- psvm + Tab 快捷创造程序主入口
 - 选中代码中重复部分 + ctrl + Alt + M 自动抽取方法
 - 上述参数定义放在选取部分之外
 System.out.println();// 只做换行不输出- ctrl + Alt + L 格式化代码
 
方法重载
- 同一个类方法名相同
 - 参数不同(个数,类型,顺序)
 - 与返回值类型无关(返回值类型可以不同)
 - 进行随机抽取时,可将所有需要抽取的元素放入数组,随后随机生成数组的下标
 
注意Java中的内存空间分配
- 分为栈和堆两部分
 - 栈用于存储程序运行过程的方法以及方法中定义的基本数据类型
 - 对用于存储程序运行过程中创建的引用类型数据
 - 栈中方法出栈后数据消失(作用域),而堆中的数据不会随着某个方法出栈而消失,只在程序全部运行完毕后释放
 
二维数组
- 数组定义
int[][] arr = new int [][]{{11,22,33},{44,55}};
int[][] arr = new int [2][]; //允许不定义第一位数组长度 - 允许后续使用别的数组引用对二维数组进行重新赋值
 - 内存形式
![]()
 
                    
                
                
            
        
浙公网安备 33010602011771号