栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021-10-09

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-09

二维数组

二维数组的声明:(三种形式)

  1. int[][] intArray;
    
  2. float floatArray[][];
    
  3. double[] doubleArray[];
    

    //创建数组

    intArray=new int[3][3];//创建了一个3行3列的二维数组
    

    赋值:

    intArray[1][2]=9;//为第2行第3列的元素赋值为9
    

声明数组的同时进行创建:

char[][] ch=new char[3][5];

创建二维数组时,可以只指定行数,之后的每行相当于一个一维数组,需要重新创建,每行的元素个数可以不一样

 floatArray=new float[3][];
floatArray[0]=new float[3];//第一行创建3列
floatArray[1]=new float[4];//第2行创建4列
floatArray[2]=new float[5];//第3行创建5列
二维数组的初始化
int[][] num={{78,68},{65,76,34},{89}};
               //大括号的个数为行数,每个大括号里面的元素个数为所在行数的列数

循环输出二维数组的内容:

方法

使用对象名调用方法

解决一类问题的代码的有序组合,是一个功能模块。

方法的声明和调用

方法声明:

语法格式:

​ 访问修饰符 返回类型 方法名(参数列表){

​ 方法体

​ }

public static void main(String[] args){
    System.out.println("hello,imooc!");
}

​ 修饰符:public

​ protected

​ private

返回类型

方法名:与变量名命名一致

根据方法是否带参数、是否返回值,分为四类

  • 无参无返回值方法

    一行打印输出一串星号

    package com.imooc.method;
    
    public class MethodDemo {
    	
    	//定义一个无参无返回值的方法,输出一行星号
    	public void printStar() {
    		System.out.println("************************************************************");
    	}
    
    	public static void main(String[] args) {
    	  //创建一个MethodDemo类的对象myMethodDemo
    		MethodDemo myMethodDemo=new MethodDemo();
    		//使用对象名.方法名();调用方法
    		myMethodDemo.printStar();
    		System.out.println("欢迎欢迎!");
    		myMethodDemo.printStar();
    
    	}
    
    }
    
  • 无参带返回值方法

    package com.imooc.method;
    
    public class Rectangle {
    	//定义一个求长方形面积的方法
    	public int area() {
    		int length=10;
    		int width=5;
    		int getArea=length*width;
    		return getArea;
    	}
    
    	public static void main(String[] args) {
    		// 创建对象
    		Rectangle rt=new Rectangle();
    		System.out.println("长方形的面积为:"+rt.area());
    
    	}
    
    }
    
    
  • 带参无返回值方法

    package com.imooc.method;
    
    public class MaxDemo {
    	public void max(float a,float b) {
    		float max=0;
    		if(ab) {
    			max=a;
    		}
    		System.out.println("两个数"+a+"和"+b+"的最大值为:"+max);
    		
    	}
    
    	public static void main(String[] args) {
    		//
    		MaxDemo maxDemo=new MaxDemo();
    		int a=5,b=10;
    		maxDemo.max(a, b);
    		float m=9.8f,n=8.8f;
    		maxDemo.max(m, n);
    		maxDemo.max(6.6f, 3.33f);
    
    	}
    
    }
    
    
  • 带参带返回值方法

    package com.imooc.method;
    
    public class FacDemo {
    	public int fac(int n) {//定义求阶乘的方法
    		int s=1;
    		for(int i=1;i<=n;i++) {
    			s*=i;
    		}
    		return s;
    	}
    
    	public static void main(String[] args) {
    		//用方法求5的阶乘
    		FacDemo ff=new FacDemo();
    		int a=ff.fac(5);
    		System.out.println("5的阶乘为:"+a);
    		//求1-5的阶乘累加和
    		int sum=0;
    		for(int i=1;i<=5;i++) {
    			a=ff.fac(i);
    			sum+=a;
    		}
    		System.out.println("1-5的阶乘累加和为:"+sum);
    
    	}
    
    }
    
    

    方法的定义在类的内部定义

    方法一般定义在主方法之前,放在后面也不影响

    方法不能嵌套定义

数组作为方法参数
package com.imooc.method;

public class ArrayMethod {
	public void printArray(int[] arr) {//打印输出一维数组的元素
		for(int i=0;i 

//查找数组元素的值

package com.imooc.method;

import java.util.Scanner;

public class ArraySearch {
     public boolean search(int n,int[] arr) {
    	 boolean flag=false;
    	 for(int i=0;i 
方法重载 

方法名相同,参数列表(数量、数据类型等)不同

//定义3个方法,实现int、double、和数组类型和的问题

package com.imooc.method;

public class MaxDemo1 {
    public int plus(int m,int n) {
    	return m+n;
    	
    }
    public double plus(double m,double n) {
    	return m+n;
    }
    public int plus(int[] arr) {
    	int sum=0;
    	for(int i=0;i 
参数的传递问题 
普通变量传值 

//对两个变量的值进行交换并打印输出

一个类中可以定义多个方法,主方法中进行调用方法时需要事先进行定义对象

参数在传递过程中,方法中的形参在变化,函数中的实际参数值并没有发生变化

而在方法中调用方法时,可以直接使用方法

package com.imooc.method;

public class ExchangeDemo {
	public void swap(int a,int b) {
		int temp;
		System.out.println("交换前:a="+a+",b="+b);
		temp=a;
		a=b;
		b=a;
		System.out.println("交换后:a="+a+",b="+b);
	}
	public void sswap(int m,int n) {
		
		System.out.println("交换前的m="+m+",n="+n);
	
		swap(m, n);//注意这里的调用,方法中调用方法
	    System.out.println("交换后的m="+m+",n="+n);
	}

	public static void main(String[] args) {
		// 
		int m=4,n=5;
		ExchangeDemo ee=new ExchangeDemo();
		ee.sswap(m, n);

	}

}

数组作为方法参数的传值问题

与普通变量传值不同,主方法中的数组在进行自定义方法的调用后,主方法中数组的值也会相应发生变化

//数组指向了同一片内存空间

可变参数列表
public void sum(int... n){};      //int... n;定义可变参数
package com.imooc.method;

public class ArgsDemo1 {
     public void sum(int... n) {
    	 int sum=0;
    	 for(int i:n) {
    		 sum=sum+i;
    		
    	 }
    	 System.out.println("sumary="+sum);
     }
	public static void main(String[] args) {
		// 
         ArgsDemo1 aa=new ArgsDemo1();
         aa.sum(1);        //参数数量可变
         aa.sum(1,2);
         aa.sum(23,22,11);
		

	}

}

参数列表中如果有两个以上的参数,可变参数一定是在最后的

package com.imooc.method;

public class ArgsDemo2 {
	public void search(int m,int... n) {//注意值了的可变参数位置,如果不是在最后,会报错
		boolean flag=false;
		for(int i:n) {
			if(m==i) flag=true;
		}
		if(flag) {
			System.out.println("找到了"+m);
			
		}else {
			System.out.println("没找到"+m);
		}
	}

	public static void main(String[] args) {
		// 
		ArgsDemo2 aa=new ArgsDemo2();
		aa.search(3,1,2,3,4,5);
		//这里与数组之间的用法
        int[] arr= {1,2,3,4,5,6};//最后程序运行成功即能说明,可以将数组传递给可变参数列表
        aa.search(2, arr);
	}

}


可以将数组传递给可变参数列表

关于有可变参数的方法重载

在方法定义中,会认为当前的两个search方法重复定义,而不是重载

数组作为参数时,不能将多个值传递给数组

一个方法只能有一个可变参数

可变参数的方法是最后被访问的

文档注释

生成文档注释:

命令行–>转到文件目录下–>输入命令

javadoc -d doc 文件名.java

会生成一个doc目录文件,打开index.html 查看

//小错误:容易出现编码错误

javadoc -d doc 文件名.java -encoding utf-8 -charset utf-8 -d path
方法的调试

按F5 键可以跳到方法内调试

F7 由方法内部返回调用处

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/306211.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号