- 三目运算符
-
- 布尔类型值 ? 值1 : 值2
- 如果为真就执行一的值
- if(布尔类型值){
- 值1}else{
- 值2}
- 字符串拼接符
- +
- 字符串和其他类型进行+,都是字符串拼接符,都会向后进行拼接。
- 表达式:由(变量,常量,操作数)和运算符组成的式子
- 流程控制
- 顺序结构
- 代码从上到下,从左到右,依次执行
- 分支结构
- 判断
- 单分支
- 语法if ()
- 双分支if {} else{}
- 多分支
- if {} else if{}
- switch case
- 有case穿透现象
- 同时可以利用船头进行组合
- 循环结构
- 循环在做某一件事情,判断
- fori
- do....while
- while
- 双层for循环
-
- 外层循环 循环的是行
- 内层循环 循环的是列
- foreach(增强for)
- 跳出当前循环,结束
- continue
- 跳过本次循环,直接执行下一次循环
- continue
- break:
- 跳出当前循环,结束
- 外层循环 循环的是行
方法
方法:可执行语句的集合
方法的优点:
- 1.让程序更加简洁
- 2.重用性
- 3.提高开发效率、
- 4.可利于维护
- 分类:
- 静态方法:被static修饰的
- 构造方法:
- 成员方法:没有被static修饰的
- 调用:
- 静态方法调用:
-
- 在本类中:直接写方法名
- 其他类中:
- 先判断权限修饰符
- public 类名.方法名
- private 不能外部访问
- 形参:方法参数列表的变量
- 实参:调用方法时,传入的变量
- 语法:
- 访问修饰符 返回值 方法名(参数列表){}
- 访问修饰符
- 权限修饰符:public ,private,protected,不写(默认)任选其一
- 其他修饰符:static,native,final
- 返回值(数据类型):任选其一
- 引用数据类型:
- 基本数据类型:
- 方法名:和类名,变量名规则相同
- 参数列表(数据类型)(个数不限):
- 方法的重载
- 1.方法名相同
- 2.参数列表不同
- 1)参数的数据类型不同
- 2)参数的个数不同
- 3)参数的顺序不同
-
- 内存分析
-
-
- 程序计数器:记录当前执行行数
- 方法区/静态区:存放静态代码,方法
- 本地方法栈:存放本地方法(native)给栈内存提供方法
- 虚拟机栈/VM栈/栈内存:执行代码
-
-
-
-
- 栈空间:栈内存,以栈数据结构为模型的一小段数据空间(弹夹)
- 栈帧:栈空间内的元素。(弹夹的子弹)
- 栈底元素:栈空间内最下面的栈帧
- 栈顶元素:栈空间内最上面的栈帧
- 压栈:向栈空间放入栈帧的过程
- 弹栈:从栈空间弹出栈帧的过程
- 先进后出
-
-
-
-
- 堆区/堆内存:保存对象
-
-
- 运行机制
-
-
- javac编译代码成.class文件
- 代码,先被加载到静态区
- 栈内存会自动调用main方法===把main方法压栈
- 如果说main方法里面不再调用其他方法,直接弹栈main(销毁),程序结束
- 如果说main方法里面有其他的方法,继续压栈其他的方法。
- 然后依次运行,依次弹栈,最终弹出main,程序结束。
-
-
- 递归:
-
-
-
- 定义:自己调用自己
-
-
-
-
- 1.文件夹的复制
- 2.菲波那切数列
- 3.汉诺塔
-