比较两个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函数传参数的方法如下,参数不用包在[]里,如果一个参数里面有空格,在用“”包起来