什么是方法?
所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。
比如:
Scanner sc=new Scanner(System.in);
sc.nextInt();
sc.next();
Scanner是jdk自带的一个类,sc是类生产的对象
而.nextIn() 是对象名调用的方法
一般流程
首先创建类的对象
然后使用对象名.方法名()去调用方法
注意:方法在类的内部定义
方法的声明和调用:
语法格式:
访问修饰符 返回类型 方法名(参数列表){
方法体
}
void:是返回值类型
有返回值:用return 输出你要返回的值
public static void main(String[] args){
System.out.println("haha");
}
方法的分类:
根据方法是否带参数、是否返回值,可以分为四类:
-无参无返回值方法
-无参带返回值方法
-带参无返回值方法
-带参带返回值方法
有参有返回值的方法案例:
/*定义一个方法,根据商品总价,计算出对应的折扣并输出,折扣信息如下:
* 1)总价<100,不打折
* 2)总价在100到199直接,打9.5折
* 3)总价在200以上,打8.5折*/
package com.demo.day3.method;
public class MethodDemo {
public double money(int d) {
double sum = 0;
if (d >= 200) {
sum = d * 0.85;
} else if (d >= 100) {
sum = d * 0.95;
} else {
sum = d;
}
return sum;
}
public static void main(String[] args) {
/*
* 定义一个方法,根据商品总价,计算出对应的折扣并输出,折扣信息如下: 1)总价<100,不打折 2)总价在100到199直接,打9.5折
* 3)总价在200以上,打8.5折
*/
// 首先使用类创建新的对象
MethodDemo mt = new MethodDemo();
double m = mt.money(150);
System.out.println("折后商品总价为:" + m);
}
}
结果:
折后商品总价为:142.5
有参有返回值的方法案例2:数组作为方法参数
package com.demo.day3.method;
public class ArrayMethod {
public float array(float[] marr) {
float sum=0;//存放平均值
for(int i=0;i<marr.length;i++)//求数组的累加和
{
sum+=marr[i];
}
float ave=sum/marr.length;//求数组的平均值
return ave;
}
public static void main(String[] args) {
// 声明并初始化数组
float[] arr= {78.5f,98.5f,65.5f,32.5f,75.5f};
//创建类的对象
ArrayMethod am=new ArrayMethod();
am.array(arr);
System.out.println("这个数组的平均值为:"+am.array(arr));
}
}
输出结果:
这个数组的平均值为:70.1
有参有返回值的方法案例2:
从键盘值输入数据,查找数组是否有此元素的方法
package com.demo.day3.method;
import java.util.Scanner;
public class ArraySearch {
// 查找数组值的方法
public boolean search(int n,int[] array) {
boolean flag=false;//默认没有值
for(int i=0;i<array.length;i++) {
if(array[i]==n) {//如果找到了
flag=true;
}
}
return flag;//返回boolean值
}
public static void main(String[] args) {
int[] array1= {10,20,30,40,50};
//从键盘输入要查找的值
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要找的数字:");
int num=sc.nextInt();
//创建类的对象
ArraySearch as=new ArraySearch();
boolean b=as.search(num, array1);//传入方法的参数,返回值是boolean型
if(b) {
System.out.println("找到了");
}
else {
System.out.println("找不到");
}
结果:
请输入你要找的数字:
10
找到了