day05
变量
特点:
出现的位置不同,变量的名字,作用和使用范围都不一样
成员变量:(类里方法外)----作用范围整个类----不用初始化----有默认值
基本类型 | 默认值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
boolean | false |
局部变量:(方法里)----作用范围在方法里----需要初始化
当局部变量名和成员变量名相同时,优先使用局部变量(就近原则)
方法
1.概述
被命名的代码块
好处:提高代码的复用性
2.语法
方法的修饰符 方法的返回值 方法名(参数列表–可有可无){方法体}
3.方法的使用
方法的调用
流程--------调用指定的方法–>执行方法的代码–>返回调用位置–>执行调用后的代码
方法的传参
调用方法时,参数不能乱写,参数的类型一定要匹配
实参:进行方法调用时,传入的实际参数
形参:定义方法时,参数列表规定的参数类型 参数名
方法的返回值
1.如果方法需要把结果返回,方法返回值的位置应该写返回的数据的类型
2.return把结果返回给调用位置
3.使用变量,接收方法返回来的结果
4.方法重载
方法重载是在一个类中定义多个同名的方法,但要求每个方法具有不同的参数列表
数组
1.概念
数组Array(标志[ ])是存储多个相同类型的数据
数组有下标/索引/角标,默认是从0开始
特点:数组一旦创建,长度不可变
2.创建数组
-----动态初始化
语法:数组类型[ ] 数组名 = new 数组类型[容量];
-----静态初始化
语法:数组类型[ ] 数组名 = new 数组类型[ ]{};
数组类型[ ] 数组名 = { };
3.数组的长度
length属性获取数组长度
数组一旦创建,长度不可变
允许0长度的数组
4.数组的遍历
从头到尾,依次访问数组的位置
形式:
for(ing i =0,i<array.length,i++){System.out.println();}
5.数组工具类Arrays
1.概述
为数组的常见操作提供了各种方便的方法
2.常用方法
–toString()------把数组里的数据变成串显示
–sort()------把无序的数组排序,默认是从小到大
–copyOf()------复制数组
day06
面向对象
1.概述
所谓的面向对象是一种编程思想,通过这种思想可以把生活中的复杂事情变得简单化,从原来的执行者变成了指挥者,面向对象是基于面向过程而言的。我们经常说的面向对象的编程实现(OOP,Object Oriented Programming)
2.三大特征
- 封装性,把相关的数据封装成一个“类”组件
- 继承性,是子类自动共享父类属性和方法,这是类之间的一种关系
- 多态,增强软件的灵活性和重用性
类和对象
类
- Java语言最基本单位就是类,类似于类型。
- 类是一类事物的抽象。
- 可以理解为模板或者设计图纸。
对象
每个对象具有三个特点:对象的状态,对象的行为和对象的标识。
- 对象的状态用来描述对象的基本特征。
- 对象的行为用来描述对象的功能。
- 对象的标识是指对象在内存中都有一个唯一的地址用来和其他对象区分开来。
- 类是一类事物的抽象,对象是具体的实现。
类和对象的关系
类:抽取相同的属性(当作成员变量)和行为(当作成员方法)
对象:按照类模板生产多个对象,包含特有的成员变量和成员方法
课后练习题
1.随机打印数组里的数据
2.获取数组里的最大值最小值
3.统计数组里的数据总和和平均值
4.统计数组里偶数的和
5.模拟数组复制
答案:
public class Work {
public static void main(String[] args) {
// 创建数组
int[] arr = new int[20];
// 遍历数组--随机存储数字
for (int i = 0; i < arr.length; i++) {
arr[i] = new Random().nextInt(100);
}
// 1.随机打印数组里的数据
// System.out.println(Arrays.toString(arr));
// System.out.println("---------------------");
//2. 打印调用最大值的方法
// System.out.println(max(arr));
// System.out.println("---------------------");
// 2.打印调用最小值的方法
// System.out.println(min(arr));
// System.out.println("---------------------");
// 3.打印调用总和的方法
// System.out.println(sum(arr));
// System.out.println("---------------------");
// 3.打印调用平均值的方法
// System.out.println(avg(arr));
// System.out.println("---------------------");
// 4.打印调用偶数的和
// System.out.println(ouSum(arr));
// System.out.println("---------------------");
//5. 打印调用数组复制
System.out.println(Arrays.toString(copy(arr)));
}
// 获取数组最大值的方法
public static int max(int[] arr) {
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] >= max) {
max = arr[i];
}
}
return max;
}
// 获取数组最小值方法
public static int min(int[] arr) {
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] <= min) {
min = arr[i];
}
}
return min;
}
// 统计数组里的数据总和的方法
public static int sum(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
// 统计数组里数据平均值的方法
public static double avg(int[] arr) {
int sum = 0;
double avg = 0;
int count = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
count++;
avg = sum / count;
}
return avg;
}
// 统计数组里偶数和的方法
public static int ouSum(int[] arr) {
int ouSum = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] % 2 == 0) {
ouSum += arr[i];
}
}
return ouSum;
}
// 模拟数组复制的方法
public static int[] copy(int[] arr) {
int[] copyOf = Arrays.copyOf(arr, 10);
return copyOf;
}
}