JavaLearnDay1
一.简单方法
1.方法的定义格式和三种调用格式
定义方法的完整格式:
修饰符 返回值类型 方法名称(参数类型,参数名称,...){
方法体
return 返回值;
}
修饰符: 现阶段 public static
返回值类型:方法最终产生的数据结果是什么类型
方法名称:方法的名称 规则和变量一样
参数类型 进入方法的数据是什么类型
参数名称 进入方法的数据对应的变量名称
方法体 方法需要做的事情 多行代码
return 第一 停止当前方法 第二将后面的返回值还给调用处
返回值 方法执行后最终产生的数据结果
return的返回值 要和 方法名称的返回值类型 保持对应
调用格式:
单独调用 方法名称(参数)
打印调用 System.out.println(方法名称(参数));
赋值调用 数据类型 变量名称= 方法名称(参数)
返回值类型为 void 的 只能进行单独调用
public class methodDefine {
public static void main(String[] args) {
//单独调用
sum(10,20);
System.out.println("xxxxxxxxxxxxxxx");
//打印调用
System.out.println(sum(10,20));
System.out.println("xxxxxxxxxxxxxxx");
//赋值调用
int number = sum(15,25);
System.out.println("变量" + number);
}
public static int sum(int a,int b) {
int result = a + b;
return result;
}
}
2.对比有参数和无参数
package learn.day01.demo3;
/*
有参数: 小括号中有内容 当一个方法需要一些数据条件,才能完成任务的时候 就是有参数,必须知道两个数字是各自多少 才能相加。
例如两个数字相加,必须知道两个数字是各自多少,才能相加
无参数:小括号当中留空 一个方法不需要任何数据条件 自己就能独立完成任务 就是无参数
例如定义一个方法,打印固定10次helloworld
*/
public class MethodParam {
public static void main(String[] args) {
method1(10,20);
System.out.println("xxxxxxxxxxxxxxxxxxxx");
method2();
}
//两个数字相乘 做乘法 必须知道两个数字是多少 否则无法进行计算
// 有参数
public static void method1(int a, int b){
int result = a * b;
System.out.println("结果是:"+ result);
}
//打印输出固定10次文本字符串
//无参数
public static void method2(){
for (int i = 0; i < 10; i++) {
System.out.println("hello sf!" + i);
}
}
}
3.对比有返回值和无返回值
package learn.day02.demo3;
/*
1.定义一个方法,用来求出两个数字之和。(算出的结果告诉我)
2.定义一个方法,用来打印两个数字之和。(计算后 自己负责显示结果 不用告诉我)
注意事项:
对于有返回值的方法,可以单独调用,打印调用或赋值调用。
但是对于无返回值的方法,只能单独调用,不能使用打印调用或打印调用、
*/
public class MethodReturn {
public static void main(String[] args) {
//main方法 调用方法
//调用方法 计算出结果 结果告诉我的num变量
int num = getSum(10,20);
System.out.println("返回值是:" + num);
System.out.println("xxxxxxxxxxxxxxxxxx"); //赋值调用
//main方法 调用方法
//调用方法 计算出结果 直接打印结果
getSum1(10,55);
System.out.println("xxxxxxxxxxxxxxxxxx");
System.out.println(getSum(22,44));//正确写法 打印调用
System.out.println("xxxxxxxxxxxxxxxxxx");
getSum(33,66);//没有使用返回值
//对于void没有返回值的方法,只能单独,不能打印和赋值
// System.out.println(getSum1(3,6)); 错误写法
}
//方法:两个数字相加
//返回值int, 谁调用我 我就把计算结果告诉谁
public static int getSum(int a,int b){
int result = a + b;
return result;
}
//方法:两个数字相加
//无返回值,直接打印
public static void getSum1(int a,int b){
int result1 = a + b;
System.out.println("需要的值是:" + result1);
}
}
4.方法练习
(1)比较两个数字是否相同
package learn.day01.demo4;
/*
题目要求:
定义一个方法,用来判断两个数字是否相同。
*/
public class Class1MethodSame {
public static void main(String[] args) {
System.out.println(isSame(10,10));//true
System.out.println(isSame(10,20));//false
}
/*
三要素:
返回值类型;boolean
方法名称:isSame
参数列表: int a,int b
*/
public static boolean isSame(int a,int b){
//方法1
/* boolean same ;
if ( a == b){
same = true;
}else {
same = false;
}
return same;*/
//方法2
/* boolean same;
same = a == b;
return same;*/
//方法3
return a == b;
}
}
(2)求出1到100的累加和
package learn.day01.demo4;
/*
定义一个方法 用来求出1-100之前所有数字的和值
*/
public class Class2MethodSum {
public static void main(String[] args) {
System.out.println("结果是:" + getSum());
}
/*
三要素
返回值: 有返回值, int
方法名称: getSum
参数列表:数据范围确定1-100,不需要任何条件 所以不需要参数
*/
public static int getSum(){
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
return sum;
}
}
(3)
package learn.day04.demo4;
/*
定义一个方法 打印指定次数的Hello SF
*/
public class Class3MethodPrint {
public static void main(String[] args) {
wordPrint(5);
}
/*
三要素
返回值类型 进行打印操作,无计算 无结果返回
方法名称 wordPrint
参数列表 打印次数,int
*/
public static void wordPrint(int num){
for (int i = 1; i <= num; i++) {
System.out.println("Hello SF" + "\t" + "day" + i);
}
}
}
5.小结
使用方法的时候,注意事项:
(1)方法应该定义在类当中,不能在方法中再定义方法,禁止套娃。
(2)方法定义的前后顺序无所谓。
(3)方法定义后不会执行,要执行必须要调用:单独、赋值、打印调用
(4)如果方法有返回值,那么必须写上 “ return 返回值; ”
(5)return后面的返回值类型,必须和返回值类型一致,对应起来。
(6)对于一个void没有返回值的方法,不能写return后的返回值,只能写return自己。
(7)对于方法当中最后一行的return可以省略不写。(有返回值 必须得写)
(8)一个方法中,可以有多个方法语句,但是必须保证同时只有一个会被执行,两个return不能连写。