黑马程序员——基础学习(三)函数和数组
2015-07-07 23:04
609 查看
------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};
我的想法
数组的长度是不可变的所以比较好遍历
遍历
二维数组[][]
格式1:int[][] arr = new int[3][2];
定义了名称为arr的二维数组
二维数组中有3个一维数组
每一个一维数组中有2个元素
一维数组的名称分别为arr[0], arr[1], arr[2]
给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78;
格式2:int[][] arr = new int[3][];
二维数组中有3个一维数组
每个一维数组都是默认初始化值null
可以对这个三个一维数组分别进行初始化
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];
格式3:int[][] 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[][]; 都是非法的!
我的代码
函数(方法)
函数的格式:修饰符 返回值类型 函数名(参数类型 形参名,参数类型 形参名,…){
执行语句;
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); } }
二维数组[][]
格式1:int[][] arr = new int[3][2];
定义了名称为arr的二维数组
二维数组中有3个一维数组
每一个一维数组中有2个元素
一维数组的名称分别为arr[0], arr[1], arr[2]
给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78;
格式2:int[][] arr = new int[3][];
二维数组中有3个一维数组
每个一维数组都是默认初始化值null
可以对这个三个一维数组分别进行初始化
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];
格式3:int[][] 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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统