• Java学习笔记(5)--- Number类和Math 类,String类的应用,Java数组入门


    1.Number 和 Math 类:

    在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型(int,double,float这些)的情形。

    这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。

    相似的,编译器也可以把一个对象拆箱为内置类型。

    Number 类属于 java.lang 包。

    Java 中 int 和 Integer 的区别:

    int 是基本数据类型,int 变量存储的是数值。Integer 是引用类型,实际是一个对象,Integer 存储的是引用对象的地址。

    Math类:

    Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。

    Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。

    2.StringBuffer 和 StringBuilder 类:

     

    首先我们来看一下Java的字符串string,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。

    使用方法:

    String greeting = "菜鸟教程";

    于是注意的是String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了。

    这是因为字符串string是常量,字符串长度不可变。Java中String 是immutable(不可变)的。用于存放字符的数组被声明为final的,因此只能赋值一次,不可再更改。

    当然了你可以:

    String s = "Google";

    System.out.println(s);

    s = "Runoob";

    System.out.println();

    这段代码会输出 

    Google

    Runoob


    这是因为s只是对Google这个string的引用而已,实际上java会自动创建Runoob,导致常量池里一共有两个string常量,这对程序优化不利(内存分配)。这也是为什么我们要学习StringBuffer 和 StringBuilder。

    StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

    由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。(StringBuffer不能同步访问)

    3.Java数组:

    a.声明:

    dataType[] arrayRefVar;   // 首选的方法

    dataType arrayRefVar[]; // 效果相同,但不是首选方法

    具体例子:

    double[] myList; // 首选的方法

    double myList[];

    当然了你也可以声明的同时创建数组:

    dataType[] arrayRefVar = new dataType[arraySize];

    dataType[] arrayRefVar = {value0, value1, ..., valuek};

    数组的元素是通过索引访问的。数组索引从 0 开始,所以索引值从 0 到 arrayRefVar.length-1。

    b.应用:

    (1)For-Each循环,和python的有点像,大体上就是不用下标的情况下自动游历整个数组。

    (2)数组可以作为参数传递给方法。数组可以作为函数的返回值

    (3)多维数组:可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组.

    引用:https://www.runoob.com/java/java-array.html

     

  • 相关阅读:
    转评:你造promise就是monad吗
    当程序员面对小学数学题
    名画的背后都藏着些什么?
    趣题:你能想到圆环的截面有哪几种解吗
    ajax请求的异步嵌套问题分析
    不平衡分类学习方法 --Imbalaced_learn
    sklearn中的metrics模块中的Classification metrics
    sklearn中的model_selection模块(1)
    Spark RDD——combineByKey
    Spark RDD中的aggregate函数
  • 原文地址:https://www.cnblogs.com/cptCarlvon/p/11975396.html
Copyright © 2020-2023  润新知