zoukankan      html  css  js  c++  java
  • Java读书笔记04 控制流程 大数值 数组

        

      本文是Java基础知识部分 关于控制流程、大数值和数组。  

     

    控制流程

     

    与C++不同的地方:

      在C++中可以在嵌套的块中重定义一个变量,内层覆盖外层,但是Java不允许在嵌套的两个块中声明同名的变量。

      Java的控制流程和C++的控制流程基本一样,只有很少例外的情况。没有goto语句,但break可以带标签,可以利用它以达到从内层循环中直接跳出外层循环的目的。

    控制流程:

      条件语句:if else

      循环:while、 do while、for、

      多重选择:switch

      中断控制流程语句:

      Java提供了一种带标签的break语句,用于跳出多重循环

      注意:标签必须放在最外层的循环之前,并且必须紧跟一个冒号。

      也可以将标签放在语句块前面,这样可以在该语句块中用break跳出到该语句块的后面。

      continue语句将控制转移到内层循环的首部,用在for循环中时,跳到循环更新部分(for的第三部分),还有带标签的continue语句,跳到与标签匹配的循环首部。

     

    大数值

      当基本的整数和浮点数精度不能满足需求,可以使用java.math包中的BigInteger和BigDecimal

      使用静态的valueOf方法把普通数值转换为大数值:

      BigInteger a = BigInteger.valueOf(100);

      与C++不同,Java没有提供运算符重载功能。

      大数值需要使用add、subtract、multiply、divide方法实现加减乘除。

      计算商必须给出舍入方法,RoundingMode.HALF_UP是四舍五入

     

    数组

      声明数组的两种形式

      int[] a;

      int a[];

      创建数组用new运算符:

      int[] a = new int[100];

      []运算符会检查数组的边界,超出数组界限访问元素时会引发异常。

      没有指针运算,即不能进行指针的加减。

      a.length得到元素个数。

      数组不能改变大小,如果需要在运行过程中扩展数组的大小,应该使用ArrayList

     

    循环遍历:

      Java提供了一个类似于C#中的foreach语句

      for(variable:collection) statement;

      循环集合中的每一个元素,而不需要使用下标值。

      集合表达式必须是一个数组或者一个实现了Iterable接口的类。

      例如:

      for(int element:a)

      System.out.println(element);

     

    数组拷贝:

      数组变量用=拷贝的时候,两个变量将引用同一个数组。

      如果希望将一个数组的所有值拷贝到另一个数组去,需要使用System类的arraycopy方法

      System.arraycopy(from,fromIndex,to,toIndex,count)

     

    main方法参数:

      main方法参数String[] args接收一个字符串数组

      执行java ClassName 后跟字符数组即可。

     

    Arrays类中的方法:

      java.util.Arrays

      排序:static void sort(type[] a);

      使用Arrays.sort(a);

      这个方法使用了优化的快速排序算法。

      查找:static int binarySearch(type[] a, type v)

      使用二分搜索算法查找值v,找到则返回相应下标,否则返回一个负值。a为有序数组,返回的-r~1为保持有序v应插入的位置。

      数组填充:fill。比较数组:equals。

     

    多维数组:

      多维数组其实被解释为数组的数组,所以可以构造不规则的数组。

  • 相关阅读:
    Dan Gillmor总结微软付费平息纠纷历史
    从一份GIS试题谈GIS开发人员的技能和招聘
    转载:赵勖予,废旧电脑配件的新用法next
    百度败诉MP3搜索遭封杀
    给人也装一个中断系统
    ArcGIS Server 9.2的一些新特征
    基于MA和CA的交通空间决策模型
    Modeling Our World 读书笔记
    卸载了NewsGator,开始使用Gougou
    OpenOffice.org 2.0即将发布
  • 原文地址:https://www.cnblogs.com/mengdd/p/2640762.html
Copyright © 2011-2022 走看看