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

原创 2015年07月07日 23:04:26

------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]);
		}
	}
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

黑马程序员——Java基础---练习题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- Java基础---练习题 1.写出程序结果class Demo { public stat...
  • liu007004
  • liu007004
  • 2015年01月19日 16:35
  • 703

黑马程序员: PHP零基础土木研究生,如何做到毕业年薪20万?

作者:第46期(北京)PHP就业班薛薛延同学   回顾自己上学以来奋斗的历程,从农村到大学,再到北京读研究生,放弃了那么多享受的机会,只是为了改变生活,改变未来,找到自己。努力的在认为最火爆的土...
  • itcast_cn
  • itcast_cn
  • 2016年07月20日 16:00
  • 467

黑马程序员:Java学习路线大揭秘连载2-JavaWeb篇!

编程语言Java,已经21岁了。从1995年诞生以来,就一直活跃于企业中,名企应用天猫,百度,知乎......都是Java语言编写,就连现在使用广泛的XMind也是Java编写的。Java应用的广泛已...
  • itcast_cn
  • itcast_cn
  • 2016年10月18日 17:44
  • 1471

黑马程序员_我的Linux基础整理笔记

Linux Linux文件目录和分区 文件目录: /:根目录 /root:存放root用户的相关文件 /home:存放普通用户的相关文件 /bin:存放普通用户的可执行命令 /sbin:...
  • zhengzhongjie1990
  • zhengzhongjie1990
  • 2014年07月05日 17:08
  • 1663

黑马程序员—零基础到面试——全过程分享

文章来源:黑马程序员,黑马论坛
  • heima_271
  • heima_271
  • 2014年08月25日 23:38
  • 950

黑马程序员——Java基础测试题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 黑马程序员——Java基础测试题 第1题:以下代码哪个是正确的?为什么?   a. byte...
  • liu007004
  • liu007004
  • 2015年01月16日 12:49
  • 1431

黑马程序员:各学科学习路线图,简直是厉害了word哥

1999年的一部电影《一个都不能少》火了一句话“一个都不能少”!2016年,黑马程序员走心出品,全学科学习路线图。今天,我们也做到了,一个都不能少!差一个都那不叫完美。(此处无图,请自觉脑补)今天我们...
  • itcast_cn
  • itcast_cn
  • 2016年11月10日 13:57
  • 1698

javascript 学习三~函数和数组基础

数组 一、数组的基本概念 数组就是一组数据有序排列的一个集合。例如:var arr = [10,20,30,40,50] 数组元素:数组中的每一个值,就叫一个数组元素。比如:20就是一个数组元素...
  • Carlos__z
  • Carlos__z
  • 2014年07月24日 21:04
  • 443

黑马程序员--Java基础面试题整理

------- android培训、java培训、期待与您交流! Java面试题整理(自己学习过程中整理的重点题目,为面试做准备) 编程基础 1.(面试题): ...
  • wwj101004
  • wwj101004
  • 2014年10月31日 23:09
  • 816

黑马程序员_winform和wpf学习

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- ----------------...
  • aipeng
  • aipeng
  • 2014年07月22日 00:35
  • 1446
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员——基础学习(三)函数和数组
举报原因:
原因补充:

(最多只允许输入30个字)