Java学习笔记(4)

Posted on 2019-03-12 19:34  Rock Wang  阅读(99)  评论(0编辑  收藏  举报

比较两个String时,用==比较两个String是否引用同一个对象,s1.equals(s2)比较两个对象的内容是否相同,也可以用s1.compareTo(s2)来确定两个String的内容是否相同

比较两个String时不能用>,>=,<,<=,用compareTo方法代替

String格式化指示符输出示例

%b  Booleam     True或False

%c   char            'a'

%d  十进制Int    200

%f   浮点型             45.460000

%e  浮点开或整形  4.556000+e1

%s  String    "Java is cool"

每一种指示符都可以指定宽度,如果指定的宽度太大,会自动被空格,如果指定的宽度太小,会自动增加宽度。默认%f会显示6位小数,可以通过%m,nf的形式指定总宽度和小数部分的位数,如%4,2f输出45.46

%,md  %,mf 输出以逗号分隔的数字,%0d %0f会在左侧补0

默认如果被空格的话,以右对齐方式被空格,通过%-md %-nf的形式,控制左对齐

如果要输出%本身,用%%来实现

每一种格式化符对应的数据类型必须相符

 

 

声明一维数组的两方式:

int[] a;
int a[];//这种写法允许但不建议

数组创建后,其元素的默认值为:数字型-》0,char->\u0000, boolean->false

遍历集合每个元素的方法

for(int e: intList){
    ...
}

 

复制数组的三种方法:

1.一个元素一个元素的赋值

2.System.arraycopy()

3.array.clone();(注意:object.clone()方法,对对象而言是深拷贝,对数组而言是浅拷贝)

 

可变长度参数列表的写法及用法

    public static void method(String... strings) {
        //使用
        System.out.println(strings.length);
    }

    //调用
    public static void useMethod() {
        //方式1:
        method("a", "b", "c");
        //方式2
        method(new String[]{"a", "b", "c"});
    }

可变参数必须是最后一个参数,如下写法是错误的

    public static void method(dobule... doubles, String... strings) {
    }

    public static void method(String... strings, int a, int b) {
    }

 

Arrays类的一些常用静态方法

 sort(array)  对整个数据进行串行排序(元素少时效率高)
 sort(array,fromIndex,toIndex)  对数组的部分元素进行串行排序(元素少时效率高)
 parallelSort(array)  对整个数组进行并行排序(元素多时效率高)
parallelSort(array,fromIndex,toIndex)   对数组的部分元素进行并行排序(元素多时效率高)
 binarySearch(array, key)  二分法查找元素,如果存在,返回索引,如果不存在返回-(应插入位置+1)
 equals(array1,array2)  比较两个数组是否严格相等,即对应位置的元素相等
 toString(array)  返回数组的字符串表现形式

 

 

 

 

 

 

从命令行启动程序,并给main函数传参数的方法如下,参数不用包在[]里,如果一个参数里面有空格,在用“”包起来