java基础-方法与数组 | “朝闻道”知识分享大赛

方法与数组

方法的概念和定义

在一个程序中,相同的程序段可能会多次重复出现,为了减少出错概率,一般将其单独提炼出来,写成子程序形式,以供多次调用。这类子程序在java语言中被称做方法,有些语言称之为函数

int Average(int x,int y)//int为输出类型,Average为方法名
{
    int result;
    result=(x+y)/2;
    return result;
}

<!--方法中的x,y均为形式参数,简称形参,在定义时形参没有实际空间,只有在被调用之后,系统才为它调用实际的存储空间-->

一般情况下,上述方法第一行被称作方法头,若在方法后加上分号,则称之为方法原型,用来对方法进行声明。大括号中的内容被称作方法体,该方法体一般有return语句,用以将程序流程返回到调用处,并带回相应的返回值。

void Print-lines(int i)//意为输出i星号
{
    for(int j=0;j<i;j++)
        System.out.println("*******")
}
void Print-wang()//输出一个由星号组成的王
{
        System.out.println("*****");
        System.out.println("  *  ");
        System.out.println("*****");
        System.out.println("  *  ");
        System.out.println("*****");
}

方法的调用

1调用方式

方法表达式
public class test{
    static int Average(int x,int y)//int为输出类型,Average为方法名
{
    int result;
    result=(x+y)/2;
    return result;
}
    public static void main(String[] args)
    {
        int a=12;
        int b=24;
        int ave=Average(a,b);
System.out.println("Average of"+a+"and"+b+"is"+ava+);
    }
}
方法语句

把方法调用作为一个语句

public class test{
    static void Print-wang()//输出一个由星号组成的王
{
        System.out.println("*****");
        System.out.println("  *  ");
        System.out.println("*****");
        System.out.println("  *  ");
        System.out.println("*****");
}
public static void main(String[] args)
 {
    Print-wang();
 }
}
方法参数

该情况是将该方法的返回值作为实参进行传送,因此要求该方法必须有返回值

public class test{
    static int Average(int x,int y)//int为输出类型,Average为方法名
{
    int result;
    result=(x+y)/2;
    return result;
}
    public static void main(String[] args)
    {
        int a=12;
        int b=24;
System.out.println("Average"of"+a+"and"+b+"is"+Average(a,b));
    }
}

2.参数传递

int a=2,b=3;
Average(a,b);
System.out.println()//此处将实参a,b传递给形参a,b

3.返回值

返回值类型 方法名(类型 形参1,类型 形参2.....)
{
    方法体
    return 表达式//return(表达式)
}

4.方法嵌套以及递归(与C语言相同)

方法嵌套
递归

变量作用域

局部变量

  • 局部变量又称作内部变量,局部变量是在方法内做定义说明的,在各个方法(包括main方法)中定义的变量及方法的形式参数均为局部变量,其作用于仅限于方法内,离开该方法后再使用这种变量是对非法的,他已经被释放不存在了

int ml(int a)/*方法ml*/
{
    int b,c......
}
int m2(int x)/*方法m2/*/
{
    int y,z......
}
public.static,void.main(String args[]){
    int m,n......
}

在ml中定义了三个变量:a为形参变量,b、c为一般变量,它们均属于局部变量,仅在ml范围内有效,在其他范围则失去效果,同理,m2和main函数中的变量仅在对应范围内有效。

关于局部变量的作用域,应该注意一下几点:

  • 主方法中定义的变量只能在主方法中使用,不能再其他方法使用。同时主方法中也不能使用其他方法中定义的变量。因为主方法也是一个方法,与其他方法是平行关系,这一点应特别注意

  • 形参变量是属于被调方法的局部变量,而实参变量一般是属于主调方法的局部变量。

  • 允许在不同方法中使用相同变量名,他们代表不同的对象,分配不同的单元,互不干扰,也不会发生混淆

  • 在复合语句中的变量,其作用域也只在复合语句范围内。

数组

数组的概念

数组的声明和创建

一维数组

数据类型 [] 数组名:

或者

数据类型 数组名[];

注意:java语言在定义数组时,不能马上制定数组元素的个数

创建数组的方法:初始化方式和new方式

  • 初始化方式:直接给数组的每一个指定元素一个初始值,系统自动根据所给的数据个数分配相应的数据空间

数据类型 数组名[]={数据1,数据2......}
​
 short x[]={1,2,3,4,5,6}
  • new操作方式

数据类型 数组名[]=new 数据类型[元素个数]
​
数据类型 数组名[];
数组名=new 数据类型[元素个数];
二维数组

二维数组的声明如下:

数据类型 [ ] [ ] 数组名;

或者:

数据类型 数组名 [] [];

创建二维数组的方式:初始化值方式和new方式

注意:java语言支持非等长数组

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值