目标:掌握数据类型
掌握JAVA中数组的定义及使用
掌握类的定义
1.数据类型的分类
2.数组的定义
静态数组:已经确定子数组大小的数组
特点:数组元素的个数固定不变,无法更改
int [] score ={1,2,3};
String [] name ={"Jack","Mary"};
动态数组:在声明时没有确定数组大小的数组
特点:在任何时候改变大小
好处:动态数组最灵活、最方便,有助于有效管理内存
float[] height =new float[5];
height[0]=165.5f;
height[1]=170f;
3.数组定义之后在内存中的表现形式
4.数组的使用
Random r = new Random();
int[] count = new int[10];
for (int i = 0;i < 10;i++){
count[i] = r.nextInt(100);
}
5.遍历数组的三种方式
//数组输出方式1
for (int i = 0;i < count.length;i++){
System.out.print(count[i]+" ");
}
System.out.print("\n");
//数组输出方式2
for (int temp: count){
System.out.print(temp + " ");
}
System.out.print("\n");
//数组输出方式3
System.out.println(Arrays.toString(count));
最后输出结果
用JAVA程序设计猜数据的游戏程序
class GuessNumber{
public static void main(String[] args){
//保存原始数字
int[] org = new int[4];
//保存用户猜测数字
int[] guess = new int[4];
//产生四个随机数
Random random = new Random();
for (int i=0;i < 4;i++){
//产生一个随机数
int temp =random.nextInt(10);
//判断是否重复
boolean result = contains(org,temp);
if (result){
i--;
}else{
org[i] = temp;
}
}
//排序
Arrays.sort(org);
System.out.println(Arrays.toString(org));
//开始游戏
Scanner scanner = new Scanner(System.in);
while (true){
int countA = 0;
int countB = 0;
System.out.print("请输入猜测数字:");
for (int i = 0;i<4;i++){
guess[i] = scanner.nextInt();
}
//判断用户输入
//1.判断是否存在
for (int i = 0;i<4;i++){
boolean result = contains(guess,org[i]);
if (result){
//数字存在
//判断位置是否相同
int index = indexOf(guess,org[i]);
if (index == i){
//数字位置都相同
countA++;
}else {
countB++;
}
}
}
if (countA ==4){
System.out.println("恭喜答对!");
break;
}else {
System.out.println(countA+"A"+countB+"B");
}
}
}
public static int indexOf(int[] val,int obj){
for (int i =0;i<val.length;i++){
if (val[i] == obj){
return i;
}
}
return -1;
}
//自己写一个方法判断某个数组里是否包含某个值
public static boolean contains(int[] val,int obj) {
for (int i = 0; i < val.length; i++) {
if (val[i] == obj) {
//重复了
return true;
}
}
return false;
}
}