java 基础知识

Wesley13
• 阅读 421

遍历

遍历就是把这个数组的每个元素 显示出来 遍历的方法就是先定义这个数组的大小,然后用FOR循环来完成数组,例如

double[] score = new double[5];  
Scanner input = new Scanner(System.in);  
  for (int i = 0; i < score.length; i++) {  
      System.out.println("请输入第" + (i + 1) + "位同学的成绩:");  
       score[i] = input.nextDouble();  
    }  
       for (int i = 0; i < 5; i++) {  
           System.out.println(score[i]);  
    }

这个就是一个double 型的数组用for去遍历每个元素 而结束条件就是这个数组的最后一个数组 score.length就可以遍历这个数组了

求和

求和就是在遍历的基础上添加一个求和的计数器 就在在for外面定义一个和的变量 这个变量的初始值是0 这样就能达到求和的结果是正确的 求和的公式在for循环里面写这样的目的是因为求和也是在循环的往上加的过程 例如

double sum = 0;  
int i;  
  for (i = 0; i < score.length; i++) {  
   sum = sum + score[i];  
  }  
System.out.println(score.length + "位同学的成绩是" + sum);

这个就是求和的过程 其他的运算方法就是把这个符号更改下而已

极值

极值的目的就是求一个极端的值 方法就是假定数组里面的一个数据是最大的然后用其他的数据遍历他与他进行对比 如果新的数据值比这个定义的值大的话那么就替换他的这个位置然后继续遍历 遍历结束后就输出这个值就是最大的值或者最小的值  例如

double max = score[0];  
      for (i = 0; i < score.length; i++) {  
            if (score[i] > max) {  //这里的大于号变成小于号就可以求最小值了  
                max = score[i];  
              }  
          }  
      System.out.println(i + "位同学的最高成绩是" + max);

这个代码就是求一个极值而且是最大的内个

查找 

这个功能就是查询当前的数组是否有你需要的值 就好像你去一个地方去找人是一个意思
查找用到了boolean变量 因为这个功能的目的就是找到与没找到 换句话来说就是 找到了就是真(或假) 没找到就是假(或真)
for循环里面写的if判断 
判断方法就是当用户输入的值与数组中的某一个值是一样的那么就输出 否则(else)就没找到 输出不输出随便你
还要判断下用boolean就可以做到 如果是真那么就跳出这个循环并且进入下一个循环 因为boolean在跳出的时候变化成真了 那么在下面的if里面就是以真的形式出现并且输出
例如

boolean flag = false;  
System.out.println("请输入您要查找的分数:");  
double findScore = input.nextDouble();  
  for (i = 0; i < score.length; i++) {  
       if (score[i] == findScore) {  
        flag = true;//变真了  
         break;//跳出这个for循环进入下面的if循环  
       }  
   }  
   if (flag) {//由于是上面的boolean变成真了 所以就进入这个if 如果没找到就跳刀下面的else  
     System.out.println("找到了您所要查找的分数。" + score[i]);  
    } else {  
     System.out.println("没有找到您所要查找的分数。");  
    }

倒置

倒置的意思就是最后一个元素变成第一个元素第一个元素变成最后一个
过程就是折中取半
不遍历整个数组了遍历一半,那么就/2就可以 但是计算机数数的方法是从0开始的也就是说最后一个值里面是没有任何意义的 所以要在最后一个值那-1
并且还要定义一个空的变量  因为要用到三步换值(变量) 不定义也可以 
例如

for (i = 0; i < score.length / 2; i++) {  
     double temp = score[i]; //这里是空变量赋值 三步赋值第一步  
     score[i] = score[score.length - 1 - i];//右边的值赋到左边那么右边就变成空的值  
     score[score.length - 1 - i] = temp;//同上  但是这个temp是个临时的值所以他最后是空的没有  
  }  
     for (i = 0; i < score.length; i++) {  
       System.out.println(score[i]);  
  }

排序

排序是引用的JAVA自带的一个类 所以没有难度 例如

Arrays.sort(score);//这个代码就是内个排序的类  
  for (i = 0; i < score.length; i++) {  
      System.out.println(score[i]);  
 }

插入

插入的意思就是在这个数组中某一个地方插入一个变量(值),但是一旦插入的这个变量进去那么就会对这个数组产生变化所以数组一定要空出多余的地方,并且要对插入进来的 数据进行判断,判断结束后还要跳出这个判断的if,判断的条件就是:输入进来的值大于数组里的某一个值并且小于这个值前面的那一个值(num[i]-1)  替换这个值跳出 进入下一个循环

例如

int[] num = new int[6];  
 for (i = 0; i < num.length; i++) {  
      num[i] = input.nextInt();  
 }  
   Arrays.sort(num);  
   System.out.println("输入您要插入的数:");  
   int insert = input.nextInt();  
   for (i = 0; i < num.length; i++) {  
        if ((insert > num[i]) && (insert < num[i - 1])) {  
          num[i] = insert;  
          break;  
       }  
   }  
    for (i = 0; i < num.length; i++) {  
      System.out.println(num[i]);  
   }
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
Java开发者容易犯的十个错误
!(https://oscimg.oschina.net/oscnet/c9f00cc918684fbe8a865119d104090b.gif)Top1.数组转换为数组列表将数组转换为数组列表,开发者经常会这样做:\java\List<StringlistArrays.asList(arr);Arr
Stella981 Stella981
2年前
JavaScript中遍历数组和对象的方法
js数组遍历和对象遍历针对js各种遍历作一个总结分析,从类型用处,分析数组和对象各种遍历使用场景,优缺点等JS数组遍历:1,普通for循环,经常用的数组遍历vararr1,2,0,3,9,10,20,
Stella981 Stella981
2年前
JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
有个js对象数组varary\{id:1,name:"b"},{id:2,name:"b"}\需求是根据name或者id的值来排序,这里有个风骚的函数函数定义:function keysrt(key,desc) {  return function(a,b){    return desc ? ~~(ak
Wesley13 Wesley13
2年前
Java如何遍历二维数据
/\需求:二维数组遍历外循环控制的是二维数组的长度,其实就是一维数组的个数。内循环控制的是一维数组的长度。\/classArray2Test{publicstaticvoidmain(String\\args){//定义一个二维数组int\\\\arr{{1,2,3}
Stella981 Stella981
2年前
JavaScript遍历循环
定义一个数组和对象constarr'a','b','c','d','e','f';constobj{a:1,b:2,c:3,d:4}for()经常用来遍历数组元素遍历值为数组元素索引f
Stella981 Stella981
2年前
HashMap 的底层实现原理
HashMap是一个用于存储KeyValue键值对的集合,每一个键值对也叫做Entry。这些个Entry分散存储在一个数组当中,这个数组就是HashMap的主干。HashMap数组每一个元素的初始值都是Null。 !(https://oscimg.oschina.net/oscnet/8495d30fe00a2865dd74088d2
达里尔 达里尔
5个月前
给数组添加新数据,判断数据是否重复
多选要进行数组拼接,希望判断往原数组里添的新数据是否重复,封装个简易方法languageconstdataArrayname:'aaa',id:1,name:'bbb',id:2;constnewDataname:'ccc',id:2;//要添加的新数
Python进阶者 Python进阶者
4个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
小万哥 小万哥
3天前
NumPy 数组迭代与合并详解
NumPy数组迭代NumPy数组迭代是访问和处理数组元素的重要方法。它允许您逐个或成组地遍历数组元素。基本迭代我们可以使用Python的基本for循环来迭代NumPy数组。一维数组迭代:pythonimportnumpyasnparrnp.array(1