zoukankan      html  css  js  c++  java
  • 第二周学习视频(一)

    一、游长实参表

    利用游长实参表,可在创建方法时不指定实参的个数
    eg.public static double average(double…numbers)
    一个参数表中只能出现一次省略号,并且省略号及其类型必须放在参数表的末尾.

    二、this

    每个对象都可以用关键字this引用自己, 称为this引用(即this指向当前对象)。
    构造函数体中,利用this来调用同一个类中的另一个构造函数,若这个this调用不是构造函数的第一条语句则会产生语法错误。
    类的方法试图直接通过this来调用构造函数,也会产生语法错误。

    三、Java API包

    Java包含了许多预定义的类,按相关性被分组成了不同的类别,这些类别称为包。 这些包被统称为java应用编程接口(API)java类库
    常见:java.util、java.applet、java.io、java.net、java.swing...

    四、常用类库- System类

    System类是一个公共最终类,不能被继承,也不能被实例化。
    System类定义的方法丰富且实用,其所有的变量和方法都是静态的

    五、常用类库- Math类

    1. 三角函数:sin,cos
    2. 指数:pow(y,x)
    3. 最大、最小值:max(y,x),min(y,x)
    4. 生成随机数:random(只能生成0.0—1.0之间的随机double值)
      eg. randomNumbers.nextInt();
      区别:Random类(number=偏移值+缩放率*randomNumbers.nextInt(n);)
      eg. Random randomNumbers=new Radom();
      int randomValue=randomNumbers.nextInt();
    5. ...

    六、常用类库- Date类

    实用Date类的构造方法,可以得到一个完整的日期。
    java.util.Date类中实际上取得的时间是一个非常正确的时间。但因为其显示的 格式不理想,不符合中国人的习惯要求,可使用DateFormat类对日期进行格式化操作 。

    七、常用类库- Calendar类

    Calendar类可以将取得的时间精确到毫秒。
    这个类是抽象类,可以使用它的具体实现类GregorianCalendar

    八、数组

    静态性:一旦创建就不能修改数组的长度。
    类似于动态数组的类型:类Vector,长度可以变大或缩小。


    数组是对象,是引用类型。
    数组的元素可以是基本类型或引用类型。


    使用关键字new,并指定数组元素的类型与个数。
    eg. int c[]=new int[12];
    int c[]; c=new int[12];
    int[] c;//c=new int[12];


    多维数组:最常用的多维数组是二维数组。
    eg. int[][] a = new int[3][4];

    九、字符串

    与C语言不同: 字符(char)数组不是字符串 (String)
    String数值不必以'u0000'结束。


    eg. String s1 = null;
    String s2 = new String( );
    String s3 = "您好!";
    String s4 = new String( s3 );


    int length():返回字符串的长度。
    方法 charAt(int index):获得字符串指定位置的字符
    方法 getChars(int srcBegin, int srcEnd, char[ ] dst, int dstBegin):复制字符串。

    十、== 运算符

    当用于基本数据类型(如int)时,用于判别是否相等。
    当用于引用数据类型(如String)时,用来判别引用是否指向相同的对象


    Java虚拟机中含有字符串池(直接量在此池内),相同内容的字符串直接量->相同的对象。
    eg.s1 = "hello"; // 字符串直接量
    s2 = new String( "hello" );
    s1 == "hello"; // true
    s2 == "hello"; // false

    十一、字符串比较

    boolean equals(Object anObject):
    比较当前的字符串与指定的对象(判断字符串内容是否相等)。
    比较结果为真当且仅当给定的参数不为空,并且具有完全相同的字符序列。
    eg. s1.equals( "Hi" );


    查找字符串(String)中的字符或子串:
    方法indexOf,返回第一次找到的时下标,如果没有找到,则返回-1 。
    eg.String name = "CoolTools"; System.out.println (name.indexOf("oo"));//1


    其他比较方法:略。

    十二、类String的成员方法valueOf

    静态(static)成员方法valueOf,将参数的值转化成相应的字符串。
    对象还可以通过方法toString转化成字符串。

    十三、其它String方法

    s1.trim():返回新字符串,源字符串最前面和最后面的的空白符(即返回去掉前后空白字符的子串);
    如果字符串没有被改变,则返回源字符串的引用


    s1.toString( ):由于s1本身就是字符串了,所以返回s1本身。
    其它引用类型也可以通过方法toString,生成相应的字符串。


    s1.toCharArray( ):将字符串转换成字符数组。


    其他String方法:略。

    十四、类StringBuffer

    补充:引用

    引用:保存对象对应的地址信息。
    eg. String str="hello";//"hello"所在地址是0x10,则str的值是地址0x10
    str="java"//"java"所在地址是0x11,则str的值变为地址0x11


    当"=="用于引用数据类型(如String)时,用来判别引用是否指向相同的对象
    eg.s1 = "hello"; //字符串直接量"hello"所在地址是0x10,则s1的值是地址0x10
    s2 = new String( "hello" ); //s2的值是另一个同为"hello"内容的对象的地址0x11,则s1的值是地址0x11
    s3 = "hello"; //s3的值也是字符串直接量"hello"的地址,则s3的值也是地址0x10
    s1 == "hello"; // true,即s1的值是字符串直接量"hello"的地址
    s2 == "hello"; // false,即s2的值不是字符串直接量"hello"的地址
    s1 == s2; // false,即s1和s2的值不都是字符串直接量"hello"的地址
    s1 == s3; // true,即s1和s3的值同为字符串直接量"hello"的地址

        // 基本类型参数,原始value不会被更改
        public void func(int value) {
            value = 100;
        }
    
        // 对于没有提供修改自身的成员方法引用类型,原始str不会被更改
        public void func(String str) {
            str = "hello";
        }
    
        StringBuilder sb = new StringBuilder("test");
    
        // 对于提供修改自身的成员方法引用类型,原始的sBuilder会被更改
        public void func(StringBuilder sBuilder) {
            sBuilder.append("aa");
        }
    
        // 原始的sBuilder不会被更改
        public void test(StringBuilder sBuilder) {
            sBuilder = new StringBuilder("111");
        }
    
  • 相关阅读:
    173. Binary Search Tree Iterator
    199. Binary Tree Right Side View
    230. Kth Smallest Element in a BST
    236. Lowest Common Ancestor of a Binary Tree
    337. House Robber III
    449. Serialize and Deserialize BST
    508. Most Frequent Subtree Sum
    513. Find Bottom Left Tree Value
    129. Sum Root to Leaf Numbers
    652. Find Duplicate Subtrees
  • 原文地址:https://www.cnblogs.com/caihan/p/12355554.html
Copyright © 2011-2022 走看看