Java基础 3.30

 1.结合练习

/*随机生成10个整数(1-100的范围)保存到数组,
  并倒序打印以及求平均值、求最大值和最大值的下标,并查找里面是否有8
*/
public class ArrayHomework02 {
	public static void main(String[] args) {
		int arr[] = new int[10];
		for (int i = 0; i < arr.length; i++) {
			arr[i] = (int)(Math.random() * 100) + 1;
		}
		for (int i = arr.length - 1; i >= 0; i--) {
			System.out.print(arr[i] + " ");
		}
		int average = 0;
		int sum = 0;
		for (int i = 0; i < arr.length; i++) {
			sum += arr[i];
		}
		System.out.println("sum = " + sum);
		average = sum / arr.length;
		int max = arr[0];
		int index = -1;
		int num8 = 0;
		for (int i = 0; i < arr.length; i++) {
			if (max <= arr[i]) {
				max = arr[i];
				index = i;
			}
			if (arr[i] == 8) {
				num8 = arr[i];
				System.out.println("num8 = " + num8);
			}
		}
		System.out.println("index = " + index + " max = " + max);
	}
}

冒泡排序法练习

//写出冒泡排序法
public class ArrayHomework03 {
	public static void main(String[] args) {
		int arr[] = {123, 12, 435, 678, 234};
		int temp = 0;
		for (int i = 0; i < arr.length - 1; i++) {//注意只需要比较长度 - 1的次数
			for (int j = 0; j < arr.length - 1 - i; j++) {
				if (arr[j] > arr[j+1]) {
					temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}
		
		}
		for (int i = 0; i < arr.length; i++) {
			System.out.println("arr = " + arr[i]); 
		}
	}
}

 编程技巧:善用index = -1来判断数组的相关变化是否发生

2.引出类与对象

public class Object01 {
	public static void main(String[] args) {
		/*
		两只猫猫:一只名字叫小白,今年3岁,白色。
		还有一只叫小花,今年十岁,花色。请编写一个程序,当用户输入小猫的名字时,
		就显示该猫的名字,年龄,颜色。如果用户输入的小猫名错误,
		则显示没有这只猫猫
		*/
		//单独变量来解决 ---> 不利于数据的管理(你把一只猫的信息拆解)
		//第一只小猫的信息
		String catName1 = "小白";
		int catAge1 = 3;
		String catColor1 = "白色";

		//第二只猫的信息
		String catName2 = "小花";
		int cat2Age = 10;
		Sting catColor2 = "花色";

		//数组 ---> (1)数据类型体现不出来(2)只能通过[下标]获取信息,造成变量名字和内容
		//			的对应关系不明确(3)不能体现猫的行为

		String cat1[] = {"小白", "3", "白色"};
		String cat2[] = {"小花", "100", "花色"};
	}
}

之前学习过的方法缺点分析

  • 不利于数据管理 效率低
  • Java设计者映入类与对象(OOP),根本原因就是现有技术,不能完美地解决新的需求

你可能感兴趣的:(java,java,开发语言)