java学习第五天(Random和数组)


Random

1:导入包:import java.util.Random;
2:创建一个随机数对象:Random ran=new Random();
3:生成随机数: int num=ran.nextInt();

下面看两个代码示例:

随机测试

    public static void main(String[] args) {
        Random ran=new Random();
        int []num=new int [10];
        for(int i=0;i<10;i++)
        {
            num[i]=0;
        }
        for(int i=0;i<1000000;i++)
        {
            num[ran.nextInt(10)]++;
        }
        for(int element:num)
            System.out.println(element);
    }
//运行结果
//99941
//100621
//99977
//100443
//100418
//99979
//99896
//99587
//99857
//99281

猜数字游戏:

import java.util.Random;
import java.util.Scanner;
public class DemoGuass {
    public static void main(String[] args) {
        Random ran=new Random();
        int num=ran.nextInt(10000);
        Scanner in=new Scanner(System.in);
        int num1;
        do{
            System.out.print("请输入你的猜测:");
            num1=in.nextInt();
            if(num1==num)
            {
                System.out.println("恭喜你,猜对了,游戏结束!");
                break;
            }
            else if(num1<num)
            {
                System.out.println("猜小了");
            }
            else{
                System.out.println("猜大了");
            }
        }while(true);
    }
}


 

数组
1:一维数组的创建 int[]num1=new int[10];
                                int []num4={1,2,3,4,5,6}; 
                                int []num5=new int []{1,2,3,4,5,6};
注意:可以是int [] num;也可以是int num [];
           语句int [] num;//仅仅是声明了一个变量名为num的数组,并没有初始化,需要用new运算符
     二维数组的创建 int [][]num={{},{},{}};
                             int [][]num=new int [][];

      不规则数:不同于一维数组,java的不规则数组可以存储如下排列的值
  1
  2 3
  1 2 3
  4 5 6 6
  以代码示例

  import java.util.Arrays;

public class Demo {
    public static void main(String[] args) {
        int [][]num=new int[5][5];//声明
        num[0]=new int[]{1};
        num[1]=new int []{1,2,3};
        num[2]=new int []{1,2,3,4};
        num[3]=new int []{1,2,3,4,5};
        num[4]=new int []{0,1};
        for(int i=0;i<5;i++)
            System.out.println(Arrays.toString(num[i]));
    }
}
//运行结果
//[1]
//[1, 2, 3]
//[1, 2, 3, 4]
//[1, 2, 3, 4, 5]
//[0, 1]


2:获取数组长度(存储元素个数)num.lendth;
 

    public static void main(String[] args) {
        int []num={1,2,3,4,5,6,7};
        System.out.println(num.length);
    }


3:遍历数组;

可以通过for(int i=0;i<num.length;i++)遍历数组
亦可以通过for each循环 例如

    public static void main(String[] args) {
        int []num={1,2,3,4,5,6,7};
        for(int element:num)
            System.out.println(element);
    }


二维数组的遍历,双重for循环,即嵌套循环
也可以用for each循环,格式如下
 

public class Demo1 {
    public static void main(String[] args) {
        int [][]num={{0,1,2},{1,2,3},{4,5,6}};
        for(int []row:num)
            for(int element:row)
                System.out.println(element);
        System.out.println();
    }
}

4:数组拷贝
(1):int []num1=num;
注意,num1和num共用一个数组,当改变num1或者num中元素的值时,两个都将改变,代码示例如下

import java.util.Arrays;
public class Demo4 {
    public static void main(String[] args) {
        int []num={1,2,3,4,5,6,7};
        int []num1=num;
        System.out.println(Arrays.toString(num));
        System.out.println(Arrays.toString(num1));
        num[2]=10;
        System.out.println(Arrays.toString(num));
        System.out.println(Arrays.toString(num1));
    }
    //运行结果
    //[1, 2, 3, 4, 5, 6, 7]
    //[1, 2, 3, 4, 5, 6, 7]
    //[1, 2, 10, 4, 5, 6, 7]
    //[1, 2, 10, 4, 5, 6, 7]
}


(2):使用System类的Arrays方法:
格式:System.arraycopy(num1,2,num2,3,5);//将num1从索引为2开始的元素往后共5个元素复制到num2从索引为3的位置开始
注意,要保证num2数组够大以容得下要复制的值
代码示例:

import java.util.Arrays;

public class Demo5 {
    public static void main(String[] args) {
        int []num1={1,2,3,4,5,6,7,8,9};
        int []num2={0,0,0,0,0,0,0,0,0};
        System.arraycopy(num1,2,num2,3,5);
        System.out.println(Arrays.toString(num1));
        System.out.println(Arrays.toString(num2));
        System.out.println();
    }
    //运行结束
    //[1, 2, 3, 4, 5, 6, 7, 8, 9]
    //[0, 0, 0, 3, 4, 5, 6, 7, 0]
}


5:数组排序(数值数组排序)
Arrays类的sort方法,从小到大排列,代码示例:
 

import java.util.Arrays;
public class Demosort {
    public static void main(String[] args) {
        int []num={45,5,6,2,5,4,78,5,3,0};
        Arrays.sort(num);
        System.out.println(Arrays.toString(num));
        System.out.println(Arrays.toString(num));
    }
}

本周的学习就到这里,如有错误,请指正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惜日短

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值