一、方法(函数)
作用:提高代码的重复利用率
语法:public static 返回值类型 方法名(参数){}
返回值类型:
1、无返回值 使用关键字void
2、有返回值 写任意一种数据类型(int,double,short,long,float)等
在方法体最后面写 return 字面值
方法名字:第一个单词全小写,第二个单词首字母大写 如getName
参数的写法
变量的声明,不赋值,多个可以用逗号隔开,每个参数前面都要写类型
如 (int b,int a,double x)
注意:方法体中不能再写方法! 但方法中可以调用别的方法
方法的书写
1、无返回值 无参数 public static void fun1(){}
2、无返回值 有参数 public static void fun2(int a){}
3、有返回值 无参数 public static int fun3(){return 0}
4、有返回值 有参数 public static int fun4(int a){return 0}
二、函数的调用
方法和main方法是并列的,方法不能写在main方法里面
直接在main方法里写方法的名字即可,有返回值的函数可以声明一个类型接收,如 int a=fun4(int a)
三、参数和返回值
参数把方法外部的数据传递到方法内部,满足方法内部的运算
参数是特殊的局部变量,只在方法内部存在
参数可以让方法更加灵活
返回值是方法外部的需要
四、使用方法进行练习
(1)将两个变量的值进行交换 用方法进行交换
public static void main(String[] args) {
int a=10,b=20;
Exchange(a,b);
System.out.println(a+"\t"+b);
//在方法中交换了,但在main方法中没有交换 因为方法里的参数是形参,形参只能在方法中进行操作,而不会操作到真实的参数
}
Exchange(int x,int y){
int m;
m=x;
x=y;
y=m;
System.out.printl
n(x+"\t"+y);
}
(2)从键盘接收一个数字,判断该数字的正负。
public static void main(String[] args) {
System.out.println("请输入一个数判断正负:");
Scanner sc=new Scanner(System.in);
Judge1(sc.nextInt());
System.out.println("请输入一个数判断奇偶:");
Judge2(sc.nextInt());
}public static void Judge1(int x){
if(x>0){
System.out.println("正数");
}
if(x<0){
System.out.println("负数");
}
if(x==0){
System.out.println("零");
}
}
Judge2(int x){
if(x%2==0){
System.out.println("偶数");
}
if(x%2!=0){
System.out.println("奇数");
}
}
(3)打车起步价8元(3KM以内)
超过3KM,超出的每公里1.2元
超过5KM,超出的每公里1.5元
请在键盘上接收公里数,得出总价。
不超过一公里的按一公里算
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入您的公里数:");
getExpense(sc.nextDouble());
}
getExpense(double x){
int a=(int)x;
if(x%a!=0){
a++;
}
double price;
if(a<=3){
price=8;
System.out.println("车费"+price+"元");
}
if(a>3&&a<=5){
price=8+(a-3)*1.2;
System.out.println("车费"+price+"元");
}
if(a>5){
price=8+2*1.2+(a-5)*1.5;
System.out.println("车费"+price+"元");
}
}
(4)篮球从n 米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球的高度是0.1 米。
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入高度(米):");
int a=time(sc.nextDouble());
System.out.println(a+"次");
}
time(double x){
int m=0;
while(x>0.1){
m++;
x*=0.3;
}
return m;
}
(5)用方法输出一个n行的“*”菱形
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入行数:");
rhombic(sc.nextInt());
}
rhombic(int x){
for(int i=1;i<=x;i++){
for(int j=1;j<=x-i;j++){
System.out.print(" ");
}
for(int a=1;a<=2*i-1;a++){
System.out.print("*");
}
System.out.println();
}
for(int i=1;i<=x-1;i++){
for(int j=1;j<=i;j++){
System.out.print(" ");
}
for(int j=1;j<=(x-1-i)*2+1;j++){
System.out.print("*");
}
System.out.println();
}
}