Java函数、数组

Java函数、数组

函数

函数:就是定义在类中的具有特定功能的一段独立小程序
格式:
修饰符 返回值类型 函数名(参数类型 参数1,参数类型 参数2,){
  执行语句;
  return 返回值;
}

返回值类型: 函数运行后的结果的数据类型
参数类型: 是形式参数的数据类型
形式参数: 是一个变量,用于存储调用函数时传递给函数的实际参
return: 用于结束函数
返回值: 该值会返回给调用者
实际参数: 传递给形式参数的具体数值

例如:

public String geString(Object obj1,Object obj2){
	//执行语句;
	return "返回值";
}

使用函数的好处

定义函数可以将功能代码进行封装,便于对该功能进行复用。函数只有被调用才会被执行,如果函数没有具体返回值,返回值类型用关键字void表示,return语句可以省略不写。 函数的结果应该返回给调用者,交由调用者处理。

public class FunctionDemo {

	public static void main(String[] args) {
			/*
			int x = 4;
			System.out.println(x*3+5);
	
			x = 6;
			System.out.println(x*3+5);
			*/
	
			//int x = getResult(4);
			//System.out.println("x="+x);
	
			getResult(16);
	
		}
	
		//发现以上的运算,因为获取不同数据的运算结果,代码出现了重复。
		//为了提高代码的复用性。对代码进行抽取。
		//将这个部分定义成一个独立的功能。方便与日后使用。
		//java中对功能的定义是通过函数的形式来体现的。
	
		//需要定义功能,完成一个整数的*3+5的运算,并打印
	
		//1,先明确函数定义的格式。
		/*
	
		修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,)
		{
				执行语句;
				return 返回值;
		}
	
		当函数运算后,没有具体的返回值时,这是返回值类型用一个特殊的关键字来标识。该关键字就是void。当函数的返回值类型是void时,函数中的return语句可以省略不写。
		*/
		public static void getResult(int num) {
			System.out.println(num * 3 + 5);
			return;//可以省略
		}
	
		//需求:定义一个功能。完成3+4的运算。并将结果返回给调用者。
		/*
		其实这两个功能就是在明确函数的定义。
		1,是在明确函数的返回值类型。
		2,明确函数的参数列表( 参数的类型和参数的个数)。
			
		public static int getSum() {
			return 3+4;
		}
		*/
		/*
		以上这个函数的功能,结果是固定的,毫无扩展性而言。为了方便用户需求。由用户来指定加数和被加数。这样,功能才有意义。
		*/
		
		public static int getSum(int x,int y) {
			return x+y;
		}

   }

函数的重载(Overload)和重写(Override)

重载:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。与返回值类型无关,只看参数列表。

//返回两个整数的和
int add(int a,int b){return a+b;}
//返回两个小数的和
double add(double a,double b){return a+b;}
//返回三个整数的和
int add(int a,int b,int c){return a+b+c;}

重写:是指子类重新定义父类中有相同名称和参数的虚函数,主要在继承关系中出现。

数组

数组:就是一个容器。同一种类型数据的集合,自动给数组中的元素从0开始编号

class ArrayDemo {
	public static void main(String[] args) {

		//两种写法:
		int[] arr = new int[]{3,4,5,6};//arr[0] = 3
		int[] arr2 = {3,6,9,7};//arr2[3] = 7
		
		/*
		int[][] arr  = new int[3][];

		arr[0] = new int[4];
		arr[1] = new int[2];
		arr[2] = new int[2];

		System.out.println(arr.length);//打印是二维数组的长度 3;
		System.out.println(arr[0].length);//打印二维数组中第一个一维数组长度
		*/

		int[][] arr3 = {{2,3,4,5},{6,7,7,8},{8,1,8,2}};

		int sum = 0;
		for(int x=0; x<arr3.length;x++)
		{
			for(int y=0; y<arr3[x].length; y++)
			{
				sum = sum + arr3[x][y];
			}
		}

		System.out.println("sum="+sum);
	}

	/*
	十进制-->十六进制。
	*/
	public static void toHex(int num) {
		StringBuffer sb = new StringBuffer();
		for(int x=0; x<8; x++) {
			int temp = num & 15;
			if(temp>9)
				sb.append((char)(temp-10+'A'));
			else
				//System.out.println(temp);
				sb.append(temp);
			num  = num >>> 4;
		}
		System.out.println(sb.reverse());
	}
}

二维数组:

//写法一
int[][] arr = new int[3][3];
//写法二
int[][] arr2 = new int[3][];
//写法三
int[][] arr3 = {{3,2,1},{4,5},{7,8,9,0}};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值