/* 方法:是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 定义格式: public static void 方法名 ( ) { //方法体 } 调用格式: 方法名(); */
public class MethodDemo {
public static void main(String[] args) {
//调用方法
System.out.println("这是方法1的标示");
isEvenNumber();
isEvenNumber();
isEvenNumber();
isEvenNumber();
isEvenNumber();
}
//需求:定义一个方法,在方法中定义一个变量,判断该数据是否是偶数 方法是不带主函数的 而且是单独的 true
public static void isEvenNumber() {
//定义变量
int number = 10;
//判断该数据是否是偶数
if(number%2 == 0) {
System.out.println(true);
} else {
System.out.println(false);
}
}
}
/* 需求: 设计一个方法用于打印两个数中的较大数 思路: 1:定义一个方法,用于打印两个数字中的较大数,例如getMax() 2:方法中定义两个变量,用于保存两个数字 3:使用分支语句分两种情况对两个数字的大小关系进行处理 4:在main()方法中调用定义好的方法 */
public class MethodTest {
public static void main(String[] args) {
//在main()方法中调用定义好的方法
getMax();
}
//定义一个方法,用于打印两个数字中的较大数,例如getMax()
public static void getMax() {
//方法中定义两个变量,用于保存两个数字
int a = 10;
int b = 20;
//使用分支语句分两种情况对两个数字的大小关系进行处理
if(a > b) {
System.out.println(a);
} else {
System.out.println(b);
}
}
}
测试
public class test {
public static void main(String[] args) {
//变量 参数传进来
int a=11;
//判断 作为一个方法
if (a%2==0){
System.out.println("偶数");
}else {
System.out.println("奇数");
}
}
}
/* 带参数方法的定义和调用 定义格式: public static void 方法名(参数) { … … } 调用格式: 方法名(参数); */
public class MethodDemo {
//主函数 只写参数 调用方法
public static void main(String[] args) {
//常量值的调用
isEvenNumber(11);
isEvenNumber(20);
}
//需求:定义一个方法,该方法接收一个参数,判断该数据是否是偶数 只写判断
public static void isEvenNumber(int number) {
if(number%2 == 0) {
System.out.println(true);
} else {
System.out.println(false);
}
}
}
/* 需求: 设计一个方法用于打印两个数中的较大数,数据来自于方法参数 思路: 1:定义一个方法,用于打印两个数字中的较大数,例如getMax() 2:为方法定义两个参数,用于接收两个数字 3:使用分支语句分两种情况对两个数字的大小关系进行处理 4:在main()方法中调用定义好的方法(使用常量) 5:在main()方法中调用定义好的方法(使用变量) */
public class MethodTest {
public static void main(String[] args) {
//在main()方法中调用定义好的方法(使用常量)
// getMax(10,20); //20
//调用方法的时候,人家要几个,你就给几个,人家要什么类型的,你就给什么类型的
//getMax(30);
//getMax(10.0,20.0);
//在main()方法中调用定义好的方法(使用变量)
// int a = 100;
// int b = 2000;
// getMax(a, b);
}
//定义一个方法,用于打印两个数字中的较大数,例如getMax()
//为方法定义两个参数,用于接收两个数字
//方法重载 除了方法名一样 其他的啥都不一样
public static void getMax(int a, int b) {
//使用分支语句分两种情况对两个数字的大小关系进行处理
if(a > b) {
System.out.println(a);
} else {
System.out.println(b);
}
}
}
/* 带返回值方法的定义和调用 定义格式: public static 数据类型 方法名(参数) { return 数据; } 调用格式: 1:方法名(参数); 2:数据类型 变量名 = 方法名(参数); */
public class MethodDemo {
public static void main(String[] args) {
//1:方法名(参数);
//isEvenNumber(10);
//true;
//2:数据类型 变量名 = 方法名(参数);
boolean flag = isEvenNumber(10);//true
//boolean flag = true;
System.out.println(flag);
}
//需求:定义一个方法,该方法接收一个参数,判断该数据是否是偶数,并返回真假值
public static boolean isEvenNumber(int number) {
if(number%2 == 0) {
return true;
} else {
return false;
}
}
}
/* 需求: 设计一个方法可以获取两个数的较大值,数据来自于参数 思路: 1:定义一个方法,用于获取两个数字中的较大数 2:使用分支语句分两种情况对两个数字的大小关系进行处理 3:根据题设分别设置两种情况下对应的返回结果 4:在main()方法中调用定义好的方法并使用变量保存 5:在main()方法中调用定义好的方法并直接打印结果 */
public class MethodTest {
public static void main(String[] args) {
//在main()方法中调用定义好的方法并使用变量保存
int result = getMax(10,20);
System.out.println(result);
//在main()方法中调用定义好的方法并直接打印结果
System.out.println(getMax(99,88));
}
//定义一个方法,用于获取两个数字中的较大数
public static int getMax(int a, int b) {
//使用分支语句分两种情况对两个数字的大小关系进行处理
//根据题设分别设置两种情况下对应的返回结果
if(a > b) {
return a;
} else {
return b;
}
}
}
/* 方法注意事项: 方法不能嵌套定义 void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据 */
public class MethodDemo {
public static void main(String[] args) {
int i=140;
methodTwo(i);
}
public static int methodTwo(int i) {
int a=5;
int sum=i+a;
System.out.println(sum); //145
return sum;
}
}
/* 方法重载: 多个方法在同一个类中 多个方法具有相同的方法名 多个方法的参数不相同,类型不同或者数量不同 与返回值无关 在调用的时候,Java虚拟机会通过参数的不同来区分同名的方法 */
public class MethodDemo {
public static void main(String[] args) {
//调用方法
int sums = sums(22,33);
System.out.println(sums); //55
double sum=sum(3.0,4.0);
System.out.println(sum); //7.0
int sum1 = sum(1, 2, 3);
System.out.println(sum1); //6
}
//需求1:求两个int类型数据和的方法
public static int sums(int a, int b) {
return a + b;
}
//需求2:求两个double类型数据和的方法
public static double sum(double a, double b) {
return a + b; //7.0
}
//需求3:求三个int类型数据和的方法
public static int sum(int a, int b, int c) {
return a + b + c;
}
}
/* 需求: 使用方法重载的思想,设计比较两个整数是否相同的方法,兼容全整数类型(byte,short,int,long) 思路: 1:定义比较两个数字的是否相同的方法compare()方法,参数选择两个int型参数 2:定义对应的重载方法,变更对应的参数类型,参数变更为两个long型参数 3:定义所有的重载方法,两个byte类型与两个short类型参数 4:完成方法的调用,测试运行结果 */
public class MethodTest {
public static void main(String[] args) {
//调用方法
System.out.println(compare(10, 20)); //fasle
System.out.println(compare((byte) 10, (byte) 20));//false
System.out.println(compare((short) 10, (short) 20));//false
System.out.println(compare(20L, 20L));//true
}
//int
public static boolean compare(int a, int b) {
System.out.println("int");
return a == b;
}
//byte
public static boolean compare(byte a, byte b) {
System.out.println("byte");
return a == b;
}
//short
public static boolean compare(short a, short b) {
System.out.println("short");
return a == b;
}
//long
public static boolean compare(long a, long b) {
System.out.println("long");
return a == b;
}
}
/* 对于基本数据类型的参数,形式参数的改变,不影响实际参数的值 */
public class ArgsDemo01 {
public static void main(String[] args) {
int number = 100;
System.out.println("调用change方法前:" + number);
int change = change(number);
System.out.println(change);
}
//方法
public static int change(int number) {
number = 200+number;
return number;
}
}
/* 对于引用类型的参数,形式参数的改变,影响实际参数的值 作业 */
/*
对于引用类型的参数,形式参数的改变,影响实际参数的值 作业
*/
public class ArgsDemo02 {
public static void main(String[] args) {
int[] arr = {10, 20, 30};
change(arr);
change01(arr);
System.out.println(arr[1]);
System.out.println(arr[0]);
}
public static void change(int[] arr) {
arr[1] = 3000;
}
public static void change01(int[] arr) {
arr[0] = 6000;
}
}
/* 数组遍历 需求: 设计一个方法用于数组遍历,要求遍历的结果是在一行上的。例如:[11, 22, 33, 44, 55] 思路: 1:因为要求结果在一行上输出,所以这里需要在学习一个新的输出语句System.out.print(“内容”); System.out.println(“内容”); 输出内容并换行 System.out.print(“内容”); 输出内容不换行 System.out.println(); 起到换行的作用 2:定义一个数组,用静态初始化完成数组元素初始化 3:定义一个方法,用数组遍历通用格式对数组进行遍历 4:用新的输出语句修改遍历操作 5:调用遍历方法 */
public class MethodTest01 {
public static void main(String[] args) {
//定义一个数组,用静态初始化完成数组元素初始化
int[] arr = {11, 22, 33, 44, 55};
//调用方法
printArray(arr);
}
public static void printArray(int[] arr) {
for(int x=0; x<arr.length; x++) {
System.out.println(arr[x]);
}
}
// public static void printArray(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.print("这里"+arr[x]+", ");
// }
// }
// System.out.println("]");
// }
}
/* 数组最大值 需求: 设计一个方法用于获取数组中元素的最大值,调用方法并输出结果 思路: 1:定义一个数组,用静态初始化完成数组元素初始化 2:定义一个方法,用来获取数组中的最大值 3:调用获取最大值方法,用变量接收返回结果 4:把结果输出在控制台 */
public class test01 {
public static void main(String[] args) {
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.println("请输入今天是本周的第 天,将为您显示今天的活动");
int i = s.nextInt();
if (i < 1 || i >= 8) {
System.out.println("对不起,输入错误!");
} else {
if (i < 2) {
System.out.println("跑步");
} else if (i < 3) {
System.out.println("游泳");
} else if (i < 4) {
System.out.println("慢走");
} else if (i < 5) {
System.out.println("动感单车");
} else if (i < 6) {
System.out.println("拳击");
} else if (i < 7) {
System.out.println("爬山");
} else {
System.out.println("好好吃一顿");
}
}
}
}
作业
public class test02 {
public static void main(String[] args) {
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.println("请输入今天是本周的第 天,将为您显示今天的活动");
int num =s.nextInt();
switch (num){
case 1 :
System.out.println("跑步");
break;
case 2 :
System.out.println("游泳");
break;
case 3 :
System.out.println("慢走");
break;
case 4 :
System.out.println("动感单车");
break;
case 5 :
System.out.println("拳击");
break;
case 6 :
System.out.println("爬山");
break;
case 7 :
System.out.println("好好吃一顿");
break;
default :
System.out.println("对不起,您输入的数字不合法");
}
}
}
作业
public class test003 {
public static void main(String[] args) {
double num1 = 10;
double num2 = 5;
char operator = '+';
double result = 0;
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
} else {
System.out.println("Division by zero is not allowed.");
return;
}
break;
default:
System.out.println("Invalid operator.");
return;
}
System.out.println("The result is: " + result);
}
}
public class zuoye {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
sum(numbers);
}
public static void sum(int[] numbers) {
int sum = 0;
for (int number : numbers) {
sum += number;
}
System.out.println("The sum of the elements in the array is: " + sum);
}
}
作业
public class zuoye01 {
public static void main(String[] args) {
sum('*',1,2);
}
public static void sum(char operator,double num1,double num2) {
double result = 0;
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
} else {
System.out.println("Division by zero is not allowed.");
return;
}
break;
default:
System.out.println("Invalid operator.");
return;
}
System.out.println("The result is: " + result);
}
}