Day1
三元运算符:关系式?表达式1:表达式2
流程控制:
顺序结构:
if
分支结构:
if else
switch:
switch (a){
case 1:
a++;
break;
}
等同于
switch (a){
case 1 -> a++;
}
循环结构
需要在循环结束后使用控制循环变量用for
反之用while
Random类
Random r = new Random()
int number = r.nextInt(范围)
数组
数据类型 数组名[] = new 数据类型[]{数组元素,可省略}
数组动态初始化
int arr[] = new int[10]
数组常用方法
int [] cloneArr = arr.clone();//调用数组的clone()方法,将数组复制一份,并让cloneArr指向复制出来的数组
arr1 ={1,2,3}
arr2 ={1,2,3}
System.out.println(arr1.equals(arr2));//false 因为这两个数组没有指向同一个内存地址
System.out.println(Arrays.equals(arr1,arr2));//true
String arrString = Arrays.toString(arr);
eg:arr1:[1,2,3]
System.out.println(Arrays.asList(arr).contains("2"));//true 判断数组内是否有指定元素
length()方法: 获得此数组的长度
Array.sort方法 排列数组
数组内存图
栈:方法运行时使用内存,进入方法栈中执行
堆:存储对象或者数组,以new创建的都存储于堆内存
方法区:存储可以运行的class文件
本地方法栈:jvm在使用操作系统功能时使用
寄存器:给cpu使用
方法
定义
调用:形参 实参
方法重载
方法名字相同但参数不同(类型,数量等),与返回值无关
方法的内存原理
方法调用后进栈执行,变量进堆,结束调用后出栈,变量随之清空
数据类型
基本数据类型 赋值时赋值数据
形参改变不会影响基本数据类型变量的值
引用数据类型(数组等):即存储的不是直接数据而是地址值的变量类型,赋值时赋值地址
形参改变会影响引用数据类型变量的值
面向对象
设计和使用对象
类和对象:定义类,通过new获取对象
成员变量
成员方法
构造区
代码块
内部类
javabean类:不编写main方法,描述事物
一个java文件内只能定义一个public类