class HomeWorkDay5{
public static void main(String[] args){
//方法
int m = 9;
int n = 9;
int sum = getSum(m,n);//
System.out.println("求两个数据之和\n"+"Sum="+sum);
boolean equal = equal(m,n);
System.out.println("\n判断两个数据是否相等\n"+"equal::"+equal);
int max = getMax(m,n);
System.out.println("\n获取两个数中较大的值\n"+"Max="+max);
print$(m,n);//*矩形
printNn(n);//n行n列乘法表
printNn(m,n);//重载,m行n列乘法表
//数组
int[] arr = {12,34,56,78,90};
System.out.println("\n数组遍历");
printArr(arr);
int arrMin = getArrMin(arr);
System.out.println("\n数组获取最值\n"+"ArrMin="+arrMin);
reverse(arr);//逆序
int input = 1;//输入需要查找的星期数;
String[] week = {"Monday","Tuesday","Wendesday","Thursday","Friday","Saturday","Sunday"};
getWeek(input,week);
//查找指定元素第一次在数组中出现的索引
int[] arrIndex = {12,34,56,78,90,13,24,35,46,57,68,79,80};
int index = getIndex(77,arrIndex);
if (index<0){
System.out.println("\n指定元素第一次在数组中出现的索引\n"+"Nothing");
}else{
System.out.println("\n指定元素第一次在数组中出现的索引\n"+"Index="+index);
}
}
/*
1:方法的概念?方法的格式?格式的解释说明。
概念:
方法就是完成特定功能的代码块。
格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ....){
方法体;
return 返回值;
}
说明:
(1): 修饰符 比较多,后面会详细介绍。目前使用 public static。
(2): 返回值类型 用于限定返回值的数据类型(就是功能计算后结果的数据类型)。
(3): 方法名 就是一个名称,它的存在是为了方便我们调用方法。
(4): 参数类型 限定调用方法时传入参数的数据类型。
方法在运算时有没有未知数,未知数就定义为参数。
(5): 参数名 是一个变量,接收调用方法时传入的参数。
这个参数其实有一个专业的名词,被称之为形式参数,它的作用是用来接收实际参数的。
(6): 方法体 完成功能的代码。
(7): return 结束方法以及返回方法指定类型的值。
(8): 返回值 就是功能的结果,由return带回,带回给调用者。
2:方法的调用
A:明确返回值类型的方法调用。
a:单独调用,一般来说没有意义,所以不推荐。
b:赋值调用,推荐方案。
c:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。
B:void类型的方法调用
直接写方法名,传递相应的参数即可。
*/
//3A:求两个数据之和
public static int getSum(int m,int n){
return m+n;
}
//3B:判断两个数据是否相等
public static boolean equal(int m,int n){
if (m==n){
return true;
}else{
return false;
}
}
//3C:获取两个数中较大的值
public static int getMax(int m,int n){
if (m>n){
return m;
}else{
return n;
}
}
//3D:打印m行n列的星形矩形
public static void print$(int m,int n){
System.out.println("\n打印m行n列的星形矩形");
for (int x=1 ;x<=m ;x++ ){
for (int y=1 ;y<=n ;y++ ){
System.out.print("*");
}
System.out.println();
}
}
//3E:打印nn乘法表
public static void printNn(int n){
System.out.println("\n打印nn乘法表");
for (int x=1;x<=n ;x++ ){
for (int y=1;y<=x ;y++ ){
System.out.print(y+"*"+x+"="+x*y+"\t");
}
System.out.println();
}
}
/*
4:方法重载 : 同一类中,方法名有相同的,但是参数列表是不一样的,与返回值类型无关。
总结: (同一类中)方法名一样,列表不同,返回值类型无关。
*/
public static void printNn(int m,int n){
System.out.println("\n重载,打印n行m列乘法表");
for (int x=1;x<=n ;x++ ){
for (int y=1;y<=x && y<=m ;y++ ){
System.out.print(y+"*"+x+"="+x*y+"\t");
}
System.out.println();
}
}
/*
5:数组的概念?有什么特点?
数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。
6:数组的定义格式:
格式1:数据类型[] 数组名;
int[] arr ;
格式2:数据类型 数组名[];
int arr[] ;
7:数组操作的两个小问题:
数组索引越界
ArrayIndexOutOfBoundsException
访问到了数组中的不存在的索引时发生。
空指针异常
NullPointerException
数组引用没有指向实体,却在操作实体中的元素时。
*/
//遍历
public static void printArr(int[] arr){
System.out.print("[");
for (int x = 0;x<arr.length ;x++ ){
if (x != arr.length-1){
System.out.print(arr[x]+",");
}else{
System.out.println(arr[x]+"]");
}
}
}
//最值
public static int getArrMin(int[] arr){
int min = arr[0];
for (int x=1 ;x<arr.length ;x++ ){
if (min>arr[x])
min=arr[x];
}
return min;
}
//逆序
public static void reverse(int[] arr){
int start = 0;
int end = arr.length -1;
while (start<end){
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
System.out.println("\n逆序数组遍历");
printArr(arr);
}
//键盘录入索引
public static void getWeek(int input,String[] week){
if (input<1 || input>7 ){
System.out.println("\n这一天对应的星期是\n"+"Nothing");
}else{
System.out.println("\n这一天对应的星期是\n"+week[input-1]);
}
}
//数组元素查找索引
public static int getIndex(int num,int[] arrIndex){
for (int index = 0;index < arrIndex.length ;index++ ){
if (arrIndex[index] == num)
return index;
}
return -1;
}
} |
|