首页 > 代码库 > 数组和函数方法

数组和函数方法

数组:是一个具有相同类型的数据值的索引集合

数据类型[]变量名=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中他依然叫传递,但因为是地址,所以在接收的方法中可能会改变索引类型变量的数据值

 

数组和函数方法