java基础入门学习菜鸟入门第七天——java中的方法、变量

JAVA基础知识——方法、变量

3.2方法

3.2.1什么是方法?
  • 方法的定义:解决一类问题中代码的有序组合方法,是一个功能模板,也就是将很多行代码放置在一组 {} 中,形成一个代码块。
3.2.2为什么需要使用方法?
  • 提高代码的复用性
  • 提高后期代码的扩展性、延展性
  • 提高代码后期的维护性
    • 案例:
//计算一个圆柱的表面积
import java.util.Scanner;
public class Method01{
	static final double PI=3.14;
	public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        System.out.println("请输入圆的半径");
		int r=input.nextInt();
        System.out.println("请输入圆柱高度");
		int height=input.nextInt();
		double area=getArea(r,height);
		System.out.println("半径是"+r+",高为"+height+"的圆柱体的表面积是:"+area);
		}
	public static double getArea(int r,int height){
        double circleArea=getCircleArea(r);
        double circleRe=getCircleRe(r);
        double area=circleArea*2+circleRe*height;
        return area;
	}
	public static double getCircleRe(int r){
		double ret=2*PI*r;
		return ret;
	}
	public static double getCircleArea(int r){
		double area=PI*r*r;
		return area;
   }
}
3.2.3方法的基本格式
  • 基本格式:访问修饰符 void|访问值类型 方法名(参数列表){

​ 方法体;

​ }

public static void method(){
	System.out.println("这是我的第一个方法");
}

1、访问修饰符(例如:public):方法允许访问的权限范围;

2、访问值类型:可以有返回值类型来决定。

3、方法名:需要遵守标识符规则:由字母、下划线、 符 号 开 头 , 以 字 母 、 下 划 线 、 符号开头,以字母、下划线、 线、数字结尾,千万不能用数字开头写标识符;

遵守驼峰原则:方法名不止一个单词组成时,第一个单词首字母小写,其后第二、三个等单词首字母大写。

4、参数列表(分为四种):

(1)无参无返回值方法;

(2)有参无返回值方法;

(3)无参有返回值方法;

(4)有参有返回值方法;

注意:对于java中的方法参数传递,无论传递的是原生数据类型,还是引用类型,统一传值。

5、方法体:包含具体的语句,定义该方法的功能。

3.2.4方法的使用
  • 在main方法中通过方法的名称进行调用
public class Method02{
	public static void main(String[] args){
	//告诉jvm去执行method方法
	method();
	} 
	public static void method(){
		System.out.println("我的第一个方法");
	}
}
3.2.5参数列表的使用
i.无参无返回值方法
public class Method03{
	public static void main(String[] args){
		add();
	}
	public staic void add(){
		int num1=20;
		int num2=10;
		int sum=num1+num2;
		System.out.println("加的和是:"+sum);
	}
}
  • 发现问题,上述代码只能对于20和30进行累加计算,无法计算任意的两个数相加,该方法的复用性不强,借助参数列表来完成
ii.有参无返回值方法
public class Mathod04{
	public static void main(String[] args){
		String n="教室";
		add(n);
	}
	public static void add(String a){
		System.out.println("我在"+a+"努力学习");
	}
}
iii.无参有返回值方法
  • (此案例是关于类和对象,了解即可,后续会讲)
public class Mathod05{
	public static void main(String[] args){
		Add a=new Add();
        System.out.println(a.toString());
	}
class Add{
    static String name="小明";
	static int age=23;
	public  String toString(){
		return "我的姓名"+name+"年龄"+age;
	}
}
vi.有参有返回值方法
//计算一个圆柱的表面积
import java.util.Scanner;
public class Method01{
	static final double PI=3.14;
	public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        System.out.println("请输入圆的半径");
		int r=input.nextInt();
        System.out.println("请输入圆柱高度");
		int height=input.nextInt();
		double area=getArea(r,height);
		System.out.println("半径是"+r+",高为"+height+"的圆柱体的表面积是:"+area);
		}
	public static double getArea(int r,int height){
        double circleArea=getCircleArea(r);
        double circleRe=getCircleRe(r);
        double area=circleArea*2+circleRe*height;
        return area;
	}
	public static double getCircleRe(int r){
		double ret=2*PI*r;
		return ret;
	}
	public static double getCircleArea(int r){
		double area=PI*r*r;
		return area;
   }
}
v.返回值
//计算一个圆柱的表面积
public class Method06{
	public static void main(String[] args){
		int r=10;//1:
		double area=getCircleArea(r);
	}
	public static double getCircleArea(int r){
		double pi=3.14;
		double area=pi*r*r;
        System.out.println("半径"+r+"的圆的面积是:"+area);
        return area;
	}
}

返回值.PNG

  • void:方法没有返回值,数据类型:方法中有返回值

  • 一个方法存在返回值,该方法的最后一行代码一定是return语句,return返回的是具体的数值

  • 返回的数据的具体是什么类型,方法就用该类型去接收

  • 在main方法中,在调用完成某个具有返回值的方法之后,可以通过该值的类型的变量接收该值

  • 参数列表注意事项:

    • 在方法声明中的参数列表称之为形式参数,也叫形参
    • 参数列表中可以声明0个或者是多个不同类型的参数,用逗号隔开
    • 对于调用者而言,调用时,通过方法名传入的具体的参数的值称之为实际参数,也叫实参
    • 方法声明的参数列表中变量只存在声明不需要初始化就可以使用,原因是由于该方法被调用之后,一定用实际参数进行赋值,赋值给形式参数。
    • 方法调用者而言。在调用方法时不能只看方法名称,而且还需要查看方法的参数列表,只有这样才可以正确调用到需要被调用的方法。
    • 在一个类中确定方法通过方法签名完成。方法签名(方法名称+参数列表)
    • 对于参数列表而言,具体的参数类型、个数、顺序都有一定的要求,要求取决于业务逻辑。

3.3变量的分类

3.3.1变量的三要素
  • 数据类型、变量名、生命周期(作用范围)

    • 对于数据类型和变量的基本知识,我在之前的博客已经发了,可以通过这个地址搜索我的博客浏览:

      https://blog.csdn.net/QZP51ZX/article/details/101481273

    • 按照变量的位置不同,将变量分类为:局部变量、成员变量(全局变量、对象变量、实例变量)

3.3.2变量分类
i.局部变量
  • 定义在方法中或者是代码块中的变量,称之为局部变量
  • 局部变量的生命周期只能在声明的 {} 中有效,出了当前的{}就失效。
  • 方法的参数列表中的变量属于当前方法的局部变量。
  • 代码块是通过一组大括号括起来{}代码块,也分为:局部代码块、初始化块、静态代码块。局部代码块:声明在方法中的代码块。局部代码块中声明的变量只能在当前局部代码块中有效。
    • 局部代码块的优势:
      • 1:缩减了变量的生命周期。
      • 2:提高内存的使用率,降低内存开销
public	class Test01{
	public static void main(String[] args){
	int num1=10;//方法中的局部变量
	System.out.println("main"+num);
	{
	int num2=10;//代码块中的局部变量
	System.out.println("代码块"+num);
    }
	System.out.println("访问代码块"+num2);//无法访问
    }
}
ii.成员变量
  • 声明在类中,方法外的变量称之为成员变量
public class Test02{
	static int num=20;
	public static void main(String args){
		System.out.print("访问1"+num);//方法一:通过static修饰
        int num = 20;
		System.out.println("访问2:"+num);//访问的是上面的num=20
        Test02 t=new Test02();
        System.out.println(t.rt);//方法二:通过创建对象来调用
	}
	public static void method(){
        System.out.println(num);
	}
}

成员变量.PNG

  • 成员变量可以不初始化就能够直接使用,因为有默认值
成员变量类型默认值
byte0
short0
int0
long0L
float0.0F
double0.0D
char‘U\0000’
stringnull

总结表:

变量的分类声明的位置作用范围注意事项
局部变量声明在方法中或者是代码块中,方法参数列表中的变量也是局部变量当前声明的{}中有效生命周期
变量一定要声明并赋值再使用
成员变量声明在类中,方法外的变量当前类中都有效生命周期
变量一定要声明,但不需要初始化,每个不同类型的变量都存在默认的初始值
在本类调用时成员变量时,要么将当前的成员变量前加static修饰,要么通过创建类的所属对象,通过对象来访问
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QZP51ZX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值