Java数组

数组的限定

创建数组的方法

int[]arr=newint[7];

int[]numbers={1,2,3,4,5};

int[]array=newint[]{1,2,3};

一维数组个数不可变

二维数组的创建

int[][]arr1=newint[4][4];

arr1[0][0]=12;

int[][]arr=newint[][]{{1,3,2},{1,2,3},{3,2,1}};

 

生成一个随机数

Math.random() //随机生成 [0,1)的小数

(int)(Math.random()*10)// 随机生成 [0,10)的整数

 

打印数组的长度

System.out.println(arr.length);

数组排序

Arrays.sort(arr);

 

打印数组

System.out.println(Arrays.toString(arr));

System.out.println(Arrays.deepToString(arrs));//二维数组打印

 

查找数组元素下标 返回第一个找到的下标 未找到返回-1

intq=sc.nextInt();

intindex=Arrays.binarySearch(arr,q);

System.out.println(index);

 

声明一个数组并赋值,打印出数组的最大值

Scannersc=newScanner(System.in);

int[]arr=newint[]{1,23,32,5,2,74,3};

intmax=arr[0];

for(inti=0;i<arr.length;i++){

if(max<arr[i]){

max=arr[i];

}}

System.out.println("最大值为:"+max);

 

声明一个数组并赋值,将最大值和最小值交换位置,并打印结果

int[]arr3=newint[]{2,4,6,1,78,5,0,1};

System.out.println("原数组:"+Arrays.toString(arr3));

intmax3=arr3[0];

intmin3=arr3[0];

intix=0;

intin=0;

for(inti=0;i<arr3.length;i++){

if(max3<arr3[i]){

max3=arr3[i];

ix=i;

}if(min3>arr3[i]){

min3=arr3[i];

in=i;

}

}

n=arr3[ix];

arr3[ix]=arr3[in];

arr3[in]=n;

System.out.println("新数组:"+Arrays.toString(arr3));

 

声明一个数组并赋值,求这个数组所有元素之和

int[]arr4=newint[]{3,3,5,2,8,6,43,24,1};

System.out.println("原数组:"+Arrays.toString(arr4));

intsum=0;

for(ints:arr4){

sum+=s;

}

System.out.println("数组元素之和为:"+sum);

 

 

声明一个二位数组并赋值,求这个数组所有元素之和

int[][]arr5=newint[][]{{1,3,4,5},{4,56,7,2},{43,2,1,5},{15,4,23,6}};

System.out.println("原二维数组:"+Arrays.deepToString(arr5));

intsum5=0;

for(inti=0;i<arr5.length;i++){

for(intj=0;j<arr5[i].length;j++){

sum5+=arr5[i][j];

}

}

System.out.println("二维数组和为:"+sum5);

 

 

打印出1000以内所有完数,质数

System.out.println("质数:");

intcount1=0;

for(inti=1;i<=1000;i++){

if(isPrime(i)){

System.out.print(i+"");

count1++;

if(count1%10==0){

System.out.println();

}

}

}

System.out.println("\n完数:");

int count2=0;

for(inti=1;i<=1000;i++){

if(isPerfect(i)){

System.out.print(i+"");

count2++;

if(count2%10==0){

System.out.println();

}

}

// 求质数

staticbooleanisPrime(inti){

if(i==1){

return false;

}

for(intj=2;j<=Math.sqrt(i);j++){

if(i%j==0){

return false;

}

}

return true;

}

//求完数

staticbooleanisPerfect(inti){

intsum=1;

for(intj=2;j<=i/2;j++){

if(i%j==0){

sum+=j;

}

}

return sum==i;

}

  • 1、只能存放指定类型的数据
  • 2、数组的长度不可变的
  • 3、使用数组中的元素下标从0开始依次增加
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值