首页 > 代码库 > 数组和函数方法
数组和函数方法
数组:是一个具有相同类型的数据值的索引集合
数据类型[]变量名=new 数据类型[数组长度];
定义一个长度为五的整数数组:int [] a=new int[5];
直接初始化数据:int []a={ };
数据长度:a.length
注意:数组只能是一种类型
数组定以后分配了连续的内存空间
数组下标从0,开始到数组长度-1
数组下标不能为0,也不能为小数
数组长度只能是整数,不能是长整形数字
数组声明定义后长度无法改变
数组应用:生成五个不相同的两位数,并按从小到大的顺序排列
考(下标不重复性,并依次增大)
int a[]=new int[36];
int count=0;
while(count<5){
int num=(int)(Math.random()*35+1);
if(a[num]==0){
a[num]=1;
count++;
}
}
for (int i = 0; i < a.length; i++) {
if(a[i]==1){
System.out.print(i<10?"0"+i+" ":i+" ");
}
}
冒泡排序
int a[]={3,5,1,7,4,2};
//冒泡排序
for (int i = 1; i < a.length; i++) {
for (int j = 0; j < a.length-i; j++) {
if(a[j]>a[j+1]){
int x=a[j];
a[j]=a[j+1];
a[j+1]=x;
}
}
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
二维数组
int a[][]=new int[10][5];
意思:建立了一个长度为10的数字组记作a[];然后在a[i]每一项中又生产了一个5个长的数组记作a[][]
特殊情况: int a[][]={
{1,2,3,4,5,6}
{4,7,8,9,9}
{1,3,5}
}直接赋值内层数组长度可变化
int a[][]=new int [10][5];
for (int i = 1; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
a[i][j]=10;
}
}
建立一个200长的数组。存放两位数(随机)
找出所有未出现的的数字
找出出现过的数字,并计数
int a[]=new int[200];
int b[]=new int[100];
for (int i = 0; i < a.length; i++) {
a[i] =(int)(Math.random()*90+10);
}
for (int i = 0; i < a.length; i++) {
b[a[i]]++;//b[i]初始值为0,用来计数
}
System.out.println("所有没出现过的数字");
for (int i = 10; i < b.length; i++) {
if(b[i]==0){
System.out.print(i+" ");
}
}
System.out.println();
for (int i = 10; i < b.length; i++) {
if(b[i]>0){
System.out.println(i+"出现的次数"+b[i]);
}
}
函数方法:
public static int add(int a,int b){
return a+b;
}
public static double chu(int a,int b){
if(b==0){
return 0;
}
else{
return a/b;
}
}public static void main(String[] args) {
int n= add(3,8);
System.out.println(n);
double n1= chu(17,3);
System.out.println(n1);
}
传递相关知识
public static void shuzu(int a[]){
for (int i = 0; i < a.length; i++) {
a[i]=(int)(Math.random()*90+10);
}
}
public static void main(String[] args) {
int a[]=new int[10];
shuzu(a);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
}
简单类型的变量知识传递变量的值,而不是传地址;这是最基础的值传递
对于(引用)类型的变量传递的也是值,但是这个值得内容是一个地址
因此虽然说在java中他依然叫传递,但因为是地址,所以在接收的方法中可能会改变索引类型变量的数据值
数组和函数方法