目录
1.内容介绍
数组加强练习【掌握】
二维数组【了解】
方法【掌握】
2.数组加强练习
数组在实际工作及很多底层都有使用到,因此做一个加强练习。
完成以下关于数组相关练习题
1.设计一个方法,统计一个字符在字符数组中出现的次数(直接输出)
2.设计一个方法,统计一个字符在字符数组中出现的次数(直接输出)
3.已知这样的整型数组 int[] arr = {1,2,3,4,5,6,7,8,9,11,22}, 计算出其中的奇数和以及偶数和
4.现在有数组 double[] scores = {11,34,76,77,88,99,58,97,56};定义一个方法统计并打印出每一个阶段的学生人数(分段方式:0-60; 60-80;80-100)
5.设计一个方法,翻转传入数组中的元素
例如有这样的数组 char[] arr = {‘源’,‘代’,‘码’,‘教’,‘育’};
调用完上面的方法之后,arr中的内容是这样的{‘育’,‘教’,‘码’,‘代’,‘源’};
6.使用嵌套循环打印下面图形
7.移除数组int[] arr = {1,2,3,4,5,1,9,4,12,67,1};中1这个元素,返回一个新的数组 (不带有1);即新数组为int[] arr2 ={2,3,4,5,9,4,12,67};
3.二维数组
3.1 二维数组定义
二维数组可以看作是一维数组中的元素为一维数组,声明方式和一维数组类型,把一维数组看作一个整体的数据类型
3.2 声明及使用
声明方式:
数据类型[] [] 数组名 = new 数据类型 [长度][长度];
数据类型[] [] 数组名= {{元素1,元素2},{元素3,元素4};
示例:
//动态创建
int[][] arr = new int[2][3];
int len = arr.length;
System.out.println(len);//2 因此2代表的是外层数组的长度 3代表是元素数组的长度
//静态创建
int[][] arr1 = {{1,2,3},{4,5,6}};
3.3 二维数组的打印
3.3.1 二维数组堆栈内存图
3.3.2 二维数组打印
int[][] arr = {{1,2,3},{4,5,6}};
for(int i=0;i<arr.length;i++){
//数组的元素为数组 因此需要循环元素数组
for(int j=0;j<arr.length;j++){
int k = arr[i][j];
System.out.println(k);
}
}
4.方法
1.1 方法定义
**概念:**方法,也叫函数,但是一般在java中都叫方法,可以看成是一个可以完成独立功能的代码块,可以重使用,每次使用都是独立的!存在于类的结构体。
1.2 方法认识
从主方法开始认识方法
public static void main(String[] args){
}
public:修饰符 表示公共的
static:修饰符 jvm优先加载
void :此处为返回值类型,void表示方法没有返回值
main : 方法名字
() : 圆括号 固定格式用来存放形式参数
String[] args:形式参数 String[]参数类型 args参数名字
{} :方法结构体 里面存放需要方法完成的功能语句
1.3 自定义方法
基本语法:
public:非必须
static:非必须
返回值类型 :没有写void
方法名: 必须
() : 必须
String[] args: 根据实际需要 可以有 也可以没有
{} :必须
示例:
void test(){}
/*设计一个方法 完成两个整数的求和*/
public void getSum(int a,int b){
int c = a+b;
System.out.println(c);
}
1.4 方法调用
1. *使用方法的三种方式*
-
方法有static修饰:类名.方法名+参数列表[个数,顺序,类型必须一致]
-
方法没有static修饰:对象名.方法名+参数列表[个数,顺序,类型必须一致]
-
方法在同一个类中:方法名+参数列表[个数,顺序,类型必须一致]
参数列表: 传入对应类型的数据
2. *注意事项:*
1)对于方法的使用者而言,无需关心方法内部的实现
-
同一个类中:静态方法不能调用非静态的方法
-
同一个类中:非静态方法可以调用静态方法
1.5 方法的返回值
方法在调用完成以后,如果没有返回值,方法的返回值类型为void,如果方法有返回值,此时需要将方法运行后的结果返回给方法的调用方,调用可以使用对应的类型接收方法的执行结果;
基本语法:
方法内部的最后一句代码返回该方法的运行结果
return 值/变量/表达式;
示例:
/*设计一个方法 完成两个整数的求和 返回方法的结果*/
public int getSum(int a,int b){
int c = a+b;
return c;
}
注意:
1.如果方法设置了返回值类型,方法内部必须有return语句返回对应类型的值/变量/表达式;(return后返回的类型必须与方法上的返回值类型一致)
2.return语句后不能再有其他执行语句
3.如果方法内部有条件判断 此时充分考虑如果条件不满足 方法是否还有返回值,保证结构的完整;
/*判断一个数字是奇数还是偶数*/
public String checkNum(int i){
if(i%2==0){
return "偶数";
}
return "奇数";
}
1.6 方法签名
方法签名:方法名+参数列表【参数的个数 参数的顺序 参数的类型】
1.7 方法重载
概念:
在同一个类中,方法名相同,参数列表不同的方法称为方法的重载。
目的:
方法的重载的方法一般都具有相类似的功能,只是参数列表不同,与返回值类型无关,返回值类型可以不同,为了在使用时方便记忆同种类似功能的方法;
示例:
/*在同一个类有计算两个整数和三个整数的两个方法*/
public static void sumTwoNum(int a,int b){
int c = a+b;
System.out.println(c);
}
public static void sumThreeNum(int i,int j,int k){
int t = i+j+k;
System.out.println(t);
}
//方法重载的方式
public static void getSum(int a,int b){
int c = a+b;
System.out.println(c);
}
public static void getSum(int i,int j,int k){
int t = i+j+k;
System.out.println(t);
}
5.6. 课程总结
今天课程内容主要还是集中在对数组的操作,其间会用到一些循环判断结构,这些都是java学习的基础所在,今天之后,java学习将进入一个全新的阶段,而前面的知识都会被有所涉及;
6.1 重点
1.一维数组概念如何定义及取值赋值
2.如何遍历数组
6.2 难点
6.7. 课后练习
1.定义一个方法getMax,接收两个int参数,返回较大的一个数。
2.定义一个方法,接受三个int参数,返回最小的一个数。
3.设计一个方法求多个整数积的方法
(提示:定义一个方法,方法的参数是 int 数组,参考求多个整数和的示例)
7.8. 面试题
8.9. 扩展知识或课外阅读
9.10. 每日一练
1.练习定义方法,语法及方法如何使用
2.练习自增运算符