初学者日志 12/15 数组
来源:互联网 发布:原型设计软件 编辑:程序博客网 时间:2024/06/06 00:04
花了一周的时间将“变量、数据类型和运算符”、“选择结构”、“循环结构”、“循环嵌套”学习过了。今天进入数组的学习,内容不多,重在练习。以下是今天所做的4个练习:
package videoCourseOfJava;import java.util.Scanner;/** * @author 一条子非鱼的沫 * @date: 2017/12/15 * @see 从控制台输入一个数组并对此数组进行运算 */public class 数组01 { // private static int[] score; public static void main(String[] args) { int[] score = new int[5];//声明一个数组并为数组分配内存空间 Scanner sc = new Scanner(System.in);// 使用Scanner方法从控制台获取信息(此处是用于获取数组的数据信息) for (int i = 0; i < score.length; i++) {// score.length表示分数类数组的长度,也可以输入一个具体的数值 System.out.print("请输入第" + (i + 1) + "个同学的分数:"); score[i] = sc.nextInt();// 从控制台获取一个数长度为7的数组 } int sum = 0;// 定义总分数的初始值为0 for (int i = 0; i < score.length; i++) {//使用for循环结构计算求出从控制台输入的score的总和 sum = sum + score[i];// 改变总分数的初始值,并且累计求和 } double avg = sum / 5.0;// 声明并赋值求出平均数 System.out.println("所输入分数总和为:" + sum); System.out.println("所输入分数平均分为:" + avg); sc.close();// 关闭输入的流,释放内存 }}
package videoCourseOfJava;import java.util.Scanner;/** * @author 一条子非鱼的沫 * @see 数组求和与数组中数据的验证 */public class 数组02 { public static void main(String[] args) { Scanner sc = new Scanner(System.in);// 调用Scanner方法 int[] nums = { 84, 75, 39, 68, 28, 96, 76 };// 声明数组并集体赋值 int sum = 0;// 定义一个整型的初始值,用于整数求和 System.out.print("数组为:"); for (int i = 0; i < nums.length; i++) {// nums.length表示nums数组的长度 System.out.print(nums[i] + " "); sum += nums[i];// 累计相加,求出nums数组中所有数值的总和sum } System.out.println("数组的数据总和为:" + sum); System.out.print("请输入要查找的数:"); int n = sc.nextInt();// 从控制台获取一个整型的数据 for (int i = 0; i < nums.length; i++) { if (n == nums[i]) {// 依次验证数据n是否与既定数组中的某个数值相等,如果有,则执行if结构内的语句 System.out.print("你所查找的数在这个数组中第" + (i + 1) + "个数字出现"); } } sc.close();// 关闭输入的流,并释放内存 }}
package videoCourseOfJava;import java.util.Arrays;//数组进行排序所引用的包import java.util.Scanner;/** * @author 一条子非鱼的沫 * @see 控制台输入数组并自动进行升序排列 */public class 数组03 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] score = new int[5]; System.out.println("请输入5个成绩:"); for (int i = 0; i < score.length; i++) { score[i] = sc.nextInt(); } Arrays.sort(score);// 数组排序命令,用于将数组中的数据由小到大进行排序 System.out.print("排序后的数组元素为:"); for (int i : score) {// foreach主要用于遍历数组或集合,表示把score中的值依次赋给i System.out.print(i + " "); } sc.close();// 关闭输入的流,并释放内存 }}
package videoCourseOfJava;import java.util.Scanner;/** * @author 一条子非鱼的沫 * @date 2017/12/15 * @see 插入算法:对一个既定数组添加新的元素,可运用于处理补录学生成绩等问题 */public class 数组04 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); // int[] list=new int[]{99,85,82,63,60};//在进行插入算法时,不宜集体进行数据声明 int[] list = new int[6];// 声明数组并分配空间 list[0] = 99; list[1] = 85; list[2] = 82; list[3] = 63; list[4] = 60;// 对其中的5个数据进行赋值 System.out.println("插入前的数组元素为:"); for (int val : list) {// 把list中的值依次赋给val System.out.println(val);// 输出的数组中,list[5]的数值默认为0 } System.out.println("请输入要插入的值:"); int num = sc.nextInt();// 从控制台输入一个需要插入的数值 // 声明变量记录要插入的位置 int index = -1;// index表示插入数的下标 for (int i = 0; i < list.length; i++) { if (num > list[i]) {// 在数组中,按下标顺序依次排除比num大的数,找到第一个比插入值小的数并将这个数的下标赋给index index = i;// 要找的位置 break; } } for (int j = list.length - 1; j > index; j--) { // 从排列最后的数开始,即从list.length-1开始依次将前一个数赋值给后一个数,直到index位置(不包括) // 其达到的效果即为:将被赋值的index之后的数组整体向后移动一个位置 list[j] = list[j - 1];// 将下标数值比index大的下标所对应的数值数整体向后移动,即给index让出位置 } // 把要插入的值放在索引index的位置 list[index] = num;// 将所插入的数值赋给插入的位置(index) System.out.println("插入后的数组元素为:"); for (int val : list) {// 把list中的值再依次赋给val System.out.println(val);// 输出新排序的数组 } sc.close();// 关闭输入的流,并释放内存 }}
【一点闲话】从英语跨向java编程,思维方面一时之间有些转换不过来,很多数学逻辑上的算法,其实并不是太难理解,但仍旧反复看了几遍之后才理解到。高中的时候是文科,但当时的数学思维其实也还不错,但大学之后就一点数学都没有接触过了。现在,其实略微有些庆幸,因为现在我的生活中,不只有文学这种感性的东西,还有一点理性的约束。
接下来将进入“类和对象”,这一章节之前看过,但感觉似乎很难,希望能够平安度过。
阅读全文
1 0
- 初学者日志 12/15 数组
- 初学者日志 12/23 循环结构练习
- 初学者实践日志1
- 初学者实践日志2
- 初学者实践日志3
- Linux初学者日志
- 树状数组(初学者版)
- java script的数组【初学者】
- Github初学者日志--上传第一个文件
- 初学者日志——Web前端
- linux初学者-系统日志(一)
- linux初学者-系统日志(二)
- C程序一维数组最全的12中应用[FOR 初学者]
- C程序一维数组最全的12中应用[FOR 初学者]
- java初学者实践教程9-数组
- 初学者入门:如何随心所欲操纵java数组
- 初学者入门:如何随心所欲操纵java数组
- 指针与数组(C++初学者)
- linux下安装texlive2017
- ArrayList和LinkedList的区别
- C语言实现计算双基回文数详解
- Postgresql 获取某张表的oid
- python学习之路-用户登录作业练习
- 初学者日志 12/15 数组
- Java就业指导
- Mac OS 查看端口和杀死进程
- JS 开发者:最喜欢 React,Vue.js 比 Angular 值得尝试
- jvm 堆栈之深入理解
- Spring/Maven/MyBatis配置文件结合properties文件使用
- 计算机网络期末复习
- cocos2D的屏幕适配方案1
- 版本控制工具SVN的使用