黑马程序员——基础学习(三)函数和数组

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

函数(方法)

函数的格式:

修饰符 返回值类型 函数名(参数类型 形参名,参数类型 形参名,…){

执行语句;

return 返回值;

}

修饰符

返回值类型:任何数值类型、引用类型、void

参数列表:

形参类型:数值类型、引用类型

形参名:自定义标识符

参数列表可以有多个参数,每个参数由“参数类型 形参名”定义,多个参数间用逗号’,’隔开;

如果定义了返回值为非void类型,那么必须return 返回值类型的数据;

如果定义了返回值为void类型,可以return,但不能加返回值。此时的return代表结束方法;

在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。这种方式叫:方法的重载

我的想法

函数的掌握是最基础的,他代表了每个对象的行为体现!

数组

数组的定义:同一种类型数据的集合。其实数组就是一个容器。

优点:可以自动给数组中的元素从0开始编号,方便操作这些元素。

格式1

元素类型[] 数组名 = new 元素类型[元素个数或数组长度];

示例:int[] arr = new int[5];

格式2

元素类型[] 数组名 = new 元素类[]{元素,元素,……};

int[] arr = new int[]{3,5,1,7};

格式3

元素类型[] 数组名 = {元素,元素,……};

int[] arr = {3,5,1,7};

我的想法

数组的长度是不可变的所以比较好遍历

遍历

</pre><p><span style="font-family: monospace; white-space: pre; background-color: rgb(240, 240, 240);">for (int i = 0 ; i < arr.length ; i++){</span></p><span style="font-family: monospace; white-space: pre; background-color: rgb(240, 240, 240);">	System.out.println(arr[i]);}</span><div><span style="font-family: monospace; white-space: pre; background-color: rgb(240, 240, 240);"></span><p>最大值和最小值</p><pre name="code" class="java">int max = arr[0];
for (int i = 0 ; i < arr.length ; i++){
	max =arr[0]  > arr [1] ? arr[0] :s arr[1];
}
int min= arr[0];
for (int i = 0 ; i < arr.length ; i++){
	min =arr[0]  > arr [1] ? arr[0] :s arr[1];
} 
<strong>我的代码</strong>
<pre name="code" class="java">class Demo
{
	public static void main(String[] args) 
	{
		int[] scores = new int[5];
		scores[0] =54;
		scores[1] =43;
		scores[2] =76;
		scores[3] =89;
		scores[4] =87;
		for (int i =0 ;i<5 ;i++ ){
			System.out.println("第"+(i+1)+"个元素为:"+scores[i]);
		}
	}
}
class Demo 
{
	public static void main(String[] args) 
	{
		int[] arr = {54,545,3,4543,3454,666345,4242,23};
		int max = arr[0];
		int min = arr[0];
		for (int i = 0;i < arr.length ; i++ ){
			max = max > arr[i] ? max : arr[i];
			min = min < arr[i] ? min : arr[i];
		}
		System.out.println("max=" + max);
		System.out.println("min=" + min);
	}
}
 

二维数组[][]

格式1int[][] arr = new int[3][2];

 定义了名称为arr的二维数组

 二维数组中有3个一维数组

 每一个一维数组中有2个元素

 一维数组的名称分别为arr[0], arr[1], arr[2]

 给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78;

格式2int[][] arr = new int[3][];

 二维数组中有3个一维数组

 每个一维数组都是默认初始化值null

 可以对这个三个一维数组分别进行初始化

  arr[0] = new int[3];

  arr[1] = new int[1];

  arr[2] = new int[2];

格式3int[][] arr = {{3,8,2},{2,7},{9,0,1,6}};

 定义一个名称为arr的二维数组

 二维数组中的有三个一维数组

 每一个一维数组中具体元素也都已初始化

 第一个一维数组 arr[0] = {3,8,2};

 第二个一维数组 arr[1] = {2,7};

 第三个一维数组 arr[2] = {9,0,1,6};

 第三个一维数组的长度表示方式:arr[2].length;

我的想法

我认为理解了数组之后二位数组并不难理解,只是有些东西需要注意,比如:二维数组的格式

int[][] arr = new int[][2];或者是int[][] arr = new int[][]; 都是非法的!

我的代码

class	Demo{
	/*
	某公司采用公用电话传递数据信息,数据是小于8位的整数,
	为了确保安全,在传递过程中需要加密,加密规则如下:
	
	3584

	3584 % 10 : 4
	3584/10 % 10 : 8
	3584/100 % 10 : 5
	3584/1000 % 10 : 3


	1.首先将数据倒序;
		4853
		
	2.然后将每位数字都加上5,再用和除以10的余数代替该数字;
	    4853
	   +5555

	   %10
		9308
	3.然后将第一位数字和最后一位数字交换。
		8309

	请任意给定一个小于8位的整数,然后把加密后的结果在控制台打印出来。
*/

	public static void main(String[] args) {
		int num = 379851;
		//System.out.println(num);测试
	//1.首先将数据倒序;
		int[] arr = new int[7];
		arr[0] = num % 10;
		arr[1] = num / 10 % 10;
		arr[2] = num / 100 % 10;
		arr[3] = num / 1000 % 10;
		arr[4] = num / 10000 % 10;
		arr[5] = num / 100000 % 10;
		arr[6] = num / 1000000 % 10;//把数倒过来
		/*
		for (int i =0;i < arr.length;i++ ){
			System.out.print(arr[i]);测试
		}
		System.out.println();
		*/
		int j = 0;
		for (int i = (arr.length -1);i >= 0;i-- ){//确定位数j+1
			if (arr[i] != 0){
				j = i;
				break;
			}
		}
		
		int[] arr1 = new int[j+1];//排除多余位数,定义一个新的数组接收数  
		for (int i = (arr.length -1);i >= 0;i--){
			if (arr[i] != 0){
				arr1[i] =arr[i];
			}
			
		}
		/*
		for (int i =0;i < arr1.length;i++ ){
			System.out.print(arr1[i]);
		}
		System.out.println();输出倒叙后的数
		*/
	//2.然后将每位数字都加上5,再用和除以10的余数代替该数字;
		for (int k = 0;k < arr1.length ;k++ ){//将每位数字都加上5,再用和除以10的余数代替该数字;03428
			arr1[k] = (arr1[k] + 5) % 10;
		}
		/*
		for (int i =0;i < arr1.length;i++ ){
			System.out.print(arr1[i]);
		}
		System.out.println();
		*/
	//3.然后将第一位数字和最后一位数字交换。
		int x =0;
		x = arr1[j];
		arr1[j] = arr1[0];
		arr1[0] = x;
	//控制台打印
		for (int i =0;i < arr1.length;i++ ){
			System.out.print(arr1[i]);
		}
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值