学习笔记—java数组与练习
来源:互联网 发布:js空格用什么表示 编辑:程序博客网 时间:2024/04/28 06:55
概念 数组就是同一种类型那个数据的集合,是一个容器,是引用类型,存储在堆中。
好处:可以自动给数组中的元素从0开始编号,方便操作这些元素
格式: 1. int[] arr=new int[5]; 创建一个长度为5 的,变量名为arr,类型为整型的数组。
2. int[] arr=new []{5,6,8,3,4}
int[] arr={5,6,8,3,4}
数组中常见问题:
1、数组角标越界 //ArrayIndexOutofBoundsException
2、空指针异常 //NUllPointerException 当引用没有任何指向,值为空的情况,该引用还在用于操作实体。
数组的操作:
1.获取数组中的数据,通常会用到遍历(for循环),arr.length代表数组的长度
代码:
int[] arr=new int[5];
for(int x=0;x<arr.length;x++)
{
arr[x];
}
2.打印数组中的元素,元素间用逗号隔开。
int[] arr=new int[5];
for(int x=0;x<arr.length;x++)
{
if(x!=arr.length-1)
System.out.print( arr[x]+",");
else
System.out.print( arr[x]);
}
3.获取最值
//定义一个方法,返回最大值角标
public static int getmax(int[] arr){
int max=0; //定义一个变量初始化数组的0角标值
for(int x=0; x<arr.length;x++){//循环遍历数组
if(arr[max]<arr[x]){//如果临时元素小于遍历到的元素
max=x;//将遍历到的值的角标付给临时变量角标
}
}
return max; //返回最大值角标
}
二维数组:数组中的数组
int[][] arr=new int [3][4];//定义了一个名称为arr的二维数组,这个二维数组中有3个一位数组,每一个一位数组中有四个元素,
//3代表的是二维数组的长度,4代表的是二维数组中每一个一位数组的长度。
int[][] arr =new int[3][];//
int[][] arr={{5,8,6,5},{4,5,2},{8,8,9}}
表示方式
int[][] x; int x[][]; int[] x[];
arr.length:二维数组的长度
arr[0].length:二维数组中第一个一位数组的长度
二维数组的遍历
for(int x=0;x<arr.length;x++){
for(int y=0;y<arr[x].length;y++)
{
sum=sum+arr[x][y];
}
}
int[] x,y[]; x是一维数组,y是二维数组。相当于 int x[] int y[][];
a)x[0]=y //错误
b)y[0]=x //正确 两边都是一维数组
c)y[0][0]=x; //错误
d)x[0][0]=y;//错误
杨辉三角
class Yanghui { public static void main(String[] args) { shu(); } public static void shu(){ int [][]arr=new int[10][10]; for (int i=0;i<10 ;i++ ) { arr[i][i]=1; arr[i][0]=1; } for (int i=2;i<10 ;i++ ) { for (int j=1;j<i ;j++ ) { arr[i][j]=arr[i-1][j]+arr[i-1][j-1]; } } for (int i=0;i<10 ; i++) { for (int j=0;j<=i ;j++ ) { System.out.print(arr[i][j]); } System.out.println(); } } }
2.某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全,在传递过程中需要加密,加密规则如下:
首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字。
最后将第一位和最后一位数字交换。 请任意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来。
class Jiami { public static void main(String[] args) { en(23691); } public static void en(int number){ int arr[]=new int[7]; int index=0; while(number>0){ arr[index]=number%10; number=number/10; index++; } for (int i=0;i<index;i++ ) { arr[i]=(arr[i]+5)%10; } int temp=0; temp=arr[0]; arr[0]=arr[index-1]; arr[index-1]=temp; for (int i=0; i<index; i++) { System.out.print(arr[i]+" "); }
二维数组
/*二维数组遍历,求和,求最大值{{3,8,2},{2,7},{9,0,1,6}}*/class Test4 {public static void main(String[] args) {//一维数组遍历//循环变量是可以赋值可以变化的//数组索引是可以使用变量代替的int[][] arr = {{3,8,2},{2,7},{9,0,1,6}};//定义变量,记录和。int sum = 0;//定义变量,记录最大值。int max = arr[0][0];for (int i=0; i<arr.length; i++){//第一次arr[0]>>{3,8,2}//第二次arr[1]>>{2,7}//第三次arr[2]>>{9,0,1,6}//第N次arr[i]int sum = 0;for (int j=0; j<arr[i].length; j++){//打印每一个数System.out.print(arr[i][j]+" ");//累加每一个数sum += arr[i][j];//将max与每一个元素进行比较。如果该元素大于max则赋值给max,最后max的值将为最大值if(max<arr[i][j]) {max = arr[i][j];}}System.out.println();}System.out.println("二维数组中所有元素的和为"+sum);System.out.println("二维数组中最大的数为"+max);}}
- 学习笔记—java数组与练习
- Java学习笔记——数组与内存控制
- C#学习笔记—二维数组的练习
- 黑马程序员——Java练习笔记——数组
- 数组与指针学习与题目练习
- java数组学习笔记
- Java学习笔记--数组
- java学习笔记------数组
- java学习笔记 ---数组
- java学习笔记数组
- 【学习笔记】Java数组
- Java学习笔记-数组
- Java学习笔记-数组
- java学习笔记------数组
- java学习笔记-----数组
- java学习笔记--数组
- java基础学习记录之数组最值的学习与练习一
- java基础学习记录之数组选择排序的学习与练习二
- Java
- cvCreateTrackbar修改回调函数多个参数的问题
- 第三方类JT3DScrollView3D滚动视图的使用
- 综合题 hdu1811 并查集+邻接表+拓扑排序
- fdisk和parted磁盘分区工具命令
- 学习笔记—java数组与练习
- 图示RFID系统组成及其功能
- 论述rfid与物联网关系
- MyBatis学习 之 三、动态SQL语句
- iOS 第一个程序手工写HelloWorld
- 初学者对formatter的理解
- 数据结构复习(重写某些重要数据结构API) ------------约瑟夫环
- 如何使用Eclipse导入并运行源码
- MyBatis学习 之 二、SQL语句映射文件(1)resultMap