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));
}
}
本周的学习就到这里,如有错误,请指正