1:方法(掌握)
(一)方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
(二)格式:
修饰符 方法返回类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
若干方法语句;
return 方法返回值;
}
(三)案例:
1:输出m行n列的星形
import java.util.Scanner;
class Test{
public static void main(String[] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入行数:");
int m = sc.nextInt();
System.out.println("请输入列数:");
int n = sc.nextInt();
//void类型的方法调用
printXing(m,n);
}
public static void printXing(int m,int n){
for(int x =0;x<m;x++){
for(int y=0;y<n;y++){
System.out.print("*");
}
System.out.println();
}
}
}
2:输出nn-99乘法表
import java.util.Scanner;
class Test{
public static void main(String[] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入数字:(1~9)");
int n = sc.nextInt();
//void类型的方法调用
printNN(n);
}
public static void printNN(int n){
for(int x =1;x<=n;x++){
for(int y=1;y<=x;y++){
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
}
(四)方法的注意事项
A:方法不调用不执行
B:方法之间是平级关系,不能嵌套定义
C:方法定义的时候,参数是用,隔开的
D:方法在调用的时候,不用在传递数据类型
E:如果方法有明确的返回值类型,就必须有return语句返回。
(五)方法重载
在同一个类中,方法名相同,参数列表不同,与返回值无关。
参数列表不同:
参数的个数不同
参数的对应的数据类型不同
2:数组(掌握)
(一)数组:存储同一种数据类型的多个元素的容器
(二)特点:每一个元素都有编号,从0开始,最大编号是长度-1。
编号的专业叫法:索引
(三)定义格式
A:数据类型[] 数组名;
B:数据类型 数组名[];
(四)数组的初始化
A:动态初始化
只给长度,系统给出默认值
举例:int [ ] arr = new int[3];
B:静态初始化
给出值,系统决定长度
举例:举例:int[ ] arr = new int[]{1,2,3};
简化:int[ ] arr = {1,2,3};
(五)数组的常见操作
A:遍历
方式1:
public static void printArray(int[] arr){
for(int x=0;x<arr.length;x++){
System.out.println(arr[x]);
}
}
方式2:
public static void printArray(int[] arr){
System.out.println("[");
for(int x=0;x<arr.length;x++){
if(x==arr.length-1){
System.out.println(arr[x]+"]")
}else{
System.out.println(arr[x]+", ");
}
}
}
B:最值
最大值:
public static void getMax(int[] arr){
int max = arr[0];
for(int x =1;x<arr.length;x++){
if(arr[x]>max){
max = arr[x];
}
}
return max;
}
最小值:
public static int getMin(int[] arr) {
int min = arr[0];
for(int x=1; x<arr.length; x++) {
if(arr[x] < min) {
min = arr[x];
}
}
return min;
}
C:逆序
方式1:
public static void reverse(int [] arr){
for(int x =0;x<arr.length/2;x++){
int temp = arr[x];
arr[x] = arr[arr.length-1-x];
arr[arr.length-1-x] = temp;
}
}
方式2:
public static void reverse(int[] arr) {
for(int start=0,end=arr.length-1; start<=end; start++,end--) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
}
D:查表
public static String getString(String[] strArray,int index) {
return strArray[index];
}
E:基本查找
public static int getIndex(int[] arr,int value){
for(int x=0;x<arr.length;x++){
if(arr[x]==value){
return x;
}
}
return -1; //如果找不到索引,需要有返回值,这边找不到就返回-1
}