方法
命名格式:public static 返回类型方法名(参数类型 参数名){方法体}
注意事项:
1方法定义的先后顺序无所谓
2 方法的定义不能产生嵌套包含关系
3想要执行方法,要调用
扩展
eg: byte a=10—>byte a=(byte)10;
- 编译器的常量优化
流程控制语句
顺序结构
- 一条路走到黑
eg:System.out.println(“A”);
System.out.println(“B”);
System.out.println(“C”);
System.out.println(“D”);
选择结构
判断语句if
表达式中的结果为boolean
- 单if
- if…else
- if…else if…else
N者选其一
- 三元运算符和if替换
选择语句–switch
总结:适用于等级划分
表达式结果不是boolean类型
- 注意事项
- 多个case后面的数值不可以重复
- switch后面小括号只能是下列数据类型
基本数据类型:byte/short/char/int
引用数据类型:String字符串,enum枚举 - switch语句格式很灵活:前后顺序可以省略,而且break语句还可以省略
匹配到case相应数值开始向下执行,直到遇到了break或整体结束为止
循环结构
- for循环
- while循环
- do-while循环
- 三种循环的区别
- break关键字:结束循环
- continue关键字:结束当次循环
- 死循环
- 嵌套循环:使用return来跳出多层循环
eg:时钟显示(时分)
方法
eg:
- 方法参数
方法重载(OverLoad)
- 多个方法的名称相同但是参数列表不一样(只与参数个数不同,类型不同,多类型顺序不同),与返回值类型无关(返回类型可以一样也可以不一样)
eg: public int a(int a,float b);
public int a(float a,int b); - 好处:只需要记住唯一的方法名称,就可以实现多个类似的功能
- println方法就是一种重载
方法重写
子类继承父类,有需要的话可以重写父类的某些方法
方法实现
类实现某一接口时,需要实现接口中声明的方法
数组
- 定义:是一种容器,可以同时存放多个数据值
- 特点:
- 数组是一种引用数据类型
- 数组中的多个数据,数据类型必须统一
- 数组长度在程序运行期间不可改变
- 数组的初始化:
- 动态初始化
eg:
- 静态初始化:数据确定
标准格式:
数据类型[] 数组名称=new 数据类型[]{元素1,元素2}
eg:int[] a=new int[]{1,2,3}
省略格式:
eg: int[] a={1,2,3}
- 直接打印数组名称,得到的是数组对应的 :内存地址哈希值
- 数组元素的索引:
Java内存划分:
程序计数器:控制程序的执行过程
方法区:存放加载类的信息
栈:存放线程,用于方法的执行
堆:存放对象的实例
本地方法栈:与操作系统有关。为虚拟机调用 Native 方法服务
- 一个数组:
- 两个数组
- 两个数组产生联系:
- 两种常见问题 :
- 数组索引越界异常:
- 空指针异常:
- 获取数组的长度:
数组名称.length - 数组的遍历:数组名称.fori
数组元素反转(不借助别的数组)
- 数组作为方法的参数时候,向小括号进行传参,传递进去的其实是数组的地址值
- 数组作为方法的返回参数时,返回的其实是数组的地址值