本帖最后由 邸佩宁 于 2019-8-27 16:25 编辑
基础语法
定义变量:数据类型 变量名 = 变量值
if...else...语句:if (关系表达式){
语句体;} else{
语句体;}
三种循环格式:for循环,while循环,do while循环
1.for循环:for(初始化语句;条件判断语句;条件控制语句){循环体;}
2.while循环:初始化语句;while(条件判断语句){循环体;条件控制语句;}
执行流程跟for循环执行流程类似
3.do while循环:初始化语句;do{循环体;条件控制语句}while(条件判断语句)
三种循环的永真循环格式和区别格式:⑴for(;;){ 循环体 }
⑵while(true){ 循环体 } ⑶do{ 循环体 }while(true)区别: switch语句格式
switch(表达式){case 值1: 表达式类型:byte short char int jdk5.0以后支持枚举 jdk7.0以后支持String
语句体1;
break;
case 值2:
语句体2;
break;
.....
default:
语句体n+1;}
逻辑运算符& 【与】两个表达式的结果有false则falseb) |【或】两个表达式的结果有true则truec) ^【亦或】两个表达式的结果不同是为true否则为falsed) !【取反】 &&【短路与】当表达式左边的结果为false右边表达式就不执行了【有false则false】 ||【短路或】当表达式左边的结果为true右边表达式就不执行了【有true则true】
数组定义格式分两种,动态初始化和静态初始化
动态初始化:
数据类型[] 变量名 = new 数据类型[数组长度];
int[] arr = new int[x]; 左边:int 说明数组中的元素类型是int类型 右边: new 为数组申请内存空间 [] 说明这是一个数组 int 说明数组中的元素类型是int类型 arr 这是数字的名称 [x] 数字长度,其实就是数组中的元素个数 数组在初始化时,会为存储空间添加默认值 整数:默认值0 浮点数:默认值0.0 布尔:默认值false 字符:默认值是空字符 引用类型:默认值是null 静态初始化:
数据类型[] 变量名称 = new 数据类型[]{数据1,数据2,…}; 简化格式 int[] arr = {1,2,3,...}; 数组的两种索引异常
Java中内存分配 栈内存:存储局部变量(定义在方法中的变量,使用完毕,立即消失) 堆内存:存储new出来的内容(实体,对象)【数组在初始化时,会为存储空间添加默认值, 每一个new出来的东西都有一个地址值。使用完毕,会在垃圾回收器空闲时被回收】 方法 1.概述是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 2.带参数方法定义和调用方法定义格式 public static void 方法名( 数据类型 变量名){... ...} 方法调用格式 方法名(参数); 方法名(变量名/常量值); PS:多个参数也是用,隔开 方法调用时,参数的数量与类型必须与方法定义中的设置相匹配 PS:方法名用小驼峰命名法、多个参数用 ,隔开、参数中的数据类型与变量名都不能缺少。 形参与实参 形参是方法定义中的参数等同于变量的定义格式有数据类型和变量名组成 实参是方法调用中的参数要么是变量名要么是常量值
3.带返回值方法得定义和调用 PS:方法定义时return后面的返回值必须与方法定义上的数据类型相匹配. 带返回值方法调用格式
PS:方法的返回值要用一个变量来接收
4.方法的注意事项方法不能嵌套使用 void代表没有返回值类型的方法 a)定义方法时要做到两个明确,
b)调用方法时 void类型的方法,直接调用即可 非void类型的方法,推荐用变量接收调用
5.方法重载6.方法的参数传递
1、对于基本类型数据的参数,形参的改变不影响实参的值
2、对于引用类型数据的参数,形参的改变影响实参的值
面向对象
1、概述2、成员变量和局部变量的区别类中位置不同
成员变量:类中方法外 局部变量:方法内或者方法声明上(方法形参位置上)
内存中的位置不同
生命周期不同
初始化值不同
面向对象的三大特征:封装,继承和多态
1、封装:
封装的概述
封装原则
封装的好处
通过方法来控制成员变量的操作,提高了代码的安全性 把代码用方法进行封装,提高了代码的复用性
private关键字 2、继承
- 概述
- 继承的好处和弊端
- 继承的好处
- 继承的弊端
- 什么时候使用继承?
- 继承中的变量访问特点,super关键字
- 继承中构造方法的访问特点
子类中所有的构造方法都会默认访问父类中的无参构造方法 1、因为子类会继承父类中的数据,可能还会使用父类的数据。所有,子类初始化之前,一定要先完 成父类数据的初始化 2、每一个子类构造方法的第一条语句默认都是:super() 如果父类中没有无参构造方法,只有带参构造方法 1、通过使用super关键字去显示的调用父类的带参构造方法 2、在父类中自己提供一个无参构造方法 推荐:自己给出无参构造方法
- 继承中成员方法的访问特点
- 方法重写
方法重写的概述:子类中出现了和子类中一模一样的方法声明现象,这种现象就叫方法重写 方法重写的应用:当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容 @Override 1、是一个注解 2、可以帮助我们检查重写方法的声明的正确性 注意事项 1、私有方法不能被重写(父类私有成员子类是不能继承的) 2、子类方法访问权限不能更低(public>protected>默认>私有)
- Java中继承的注意事项
java中类只支持单继承,不支持多继承 java中类支持多层继承,形成继承体系 -
3、多态
1、多态的概念2、多态的前提3、多态中成员访问特点4、多态的优点和弊端优点:提高了程序的拓展性 弊端:父类引用无法调用子类中特有的方法
5、多态中向上和向下转型异常
1、异常异常的概述:异常就是程序出现了不正常的情况 异常的体系结构 -
2、JVM默认处理异常的方式3、try-carch方式处理异常定义格式 try{
可能出现异常的代码;
}catch(异常类名 变量名){
异常处理代码;
}执行流程
程序从try里面的代码开始执行 出现异常,就会跳转到对应的catch里面去执行 执行完毕之后,程序还可以继续往下执行
实例代码
public class ExceptionDemo01{
public static void main(String[] args){
System.out.println("开始");
method();
System.out.pringln("结束");
}
public static void method(){
try{
int[] arr = {1,2,3};
System.out.println(arr[3]);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("你访问的数组索引不存在,请重新输入正确的索引")
e.printStackTrace();
}
}
}4、Throwable成员方法常用方法
public String getMessage() 返回此 throwable 的详细消息字符串 public String toString() 返回此可抛出的简短描述 public void printStackTrace() 把异常的错误信息输出在控制台 【常用的方法】
5、编译时异常和运行时异常的区别编译时异常
都是Excrption类及其子类 必须显示处理,否则程序就会发生错误,无法通过编译
运行时异常
都是RuntimeExcrption类及其子类 无需显示处理,也可以和编译时异常一样处理
6、throws方式处理异常7、throws和throw的区别
集合
1、Collection的概述2、创建Collection集合的对象和基本使用3、Collection集合遍历4、list集合的概述和特点List集合概述
List集合特点
List集合的特有方法 [td]方法名 | 描述 | add(index,"") | 在此集合中的指定位置插入指定的元素 | set(index , "") | 替换集合中的指定位置的元素 | remove(index) | 删除集合中的指定索引位置的元素 | get(index) | 获取集合中指定索引位置的元素 |
5、集合并发问题及ListIterator用法6、增强for循环格式:for(变量的类型 变量名 : 数字或集合){ }
|