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

http://www.mrgr.cn/news/96457.html

相关文章:

  • python:将指数ETF基金数据转换为 midi 文件
  • VectorBT:使用PyTorch+LSTM训练和回测股票模型 进阶四
  • Day 09
  • P1091 [NOIP 2004 提高组] 合唱队形
  • GLSL(OpenGL 着色器语言)基础语法
  • 北大人工智能研究院朱松纯:“中国的AI叙事” 存在认知偏差
  • LLMs之PE:《Tracing the thoughts of a large language model》翻译与解读
  • cpp栈操作
  • 详解list容器
  • 智能体开发平台与大模型关系图谱
  • python和Java的区别
  • Day18 -实例:app信息收集工具(Appinfoscanner、Mobsf)的配置和使用
  • QtAV入门
  • 线性回归算法
  • Java中的异常
  • 视频联网平台智慧运维系统:智能时代的城市视觉中枢
  • JavaScrip-模版字符串的详解
  • 基于javaweb的SpringBoot房屋出租系统设计与实现(源码+文档+部署讲解)
  • Three.js 快速入门教程【十九】CSS2DRenderer(CSS2D渲染器)介绍,实现场景中物体或设备标注标签信息
  • Linux ping/telnet/nc命令