当前位置: 首页 > news >正文

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),根本原因就是现有技术,不能完美地解决新的需求

相关文章:

  • 网站建设网络推广微信网站上首页seo
  • 外贸做网站要多久做好seo岗位
  • 自己做网站必须要学哪些sem账户托管
  • 湖南网站模板建站网络宣传推广
  • 网站维护有文化建设费种子搜索在线 引擎
  • 网站app封装怎么做济南计算机培训机构哪个最好
  • 小智机器人关键函数解析,Application::InputAudio()处理麦克风音频数据输入的函数
  • 工业级完整实现的 Go TCP 服务端
  • 软考《信息系统运行管理员》- 6.3 信息系统软件的安全运行
  • 并发编程之FutureTask.get()阻塞陷阱:深度解析线程池CPU飚高问题排查与解决方案
  • Vue实现动态路由的后端控制
  • MCP从零开始
  • Java进阶——Lombok的使用
  • WinFrom真入门(1)——Windows窗体应用概念
  • 华为配置篇-BGP实验
  • mac Python多版本第三方库的安装路径
  • 深入剖析 JVM:从组成原理到调优实践
  • pyopenjtalk因cmake版本太高导致pip无法安装
  • PHP泛型与集合的未来:从动态类型到强类型的演进
  • MFC中CMap类的用法和原理
  • 【机器人】复现 GraspNet 端到端抓取点估计 | PyTorch2.3 | CUDA12.1
  • c++的特性——多态
  • 服务热升级的方法
  • C++ 中的 decltype:从表达式中推断类型(二十八)
  • RK3588使用笔记:纯linux系统下基础功能配置(不定期更新)
  • MySQL内存管理机制详解