基础知识day1
一、字符串构建器
// 利用字符串构建起来构建字符串
StringBuilder builder=new StringBuilder();
builder.append(ch);
builder.append(str);
String completeString=builder.toString();
二、输入输出
先构造一个与标准输入流System.in 关联的Scanner对象。
1. 标准输入流
Scanner in=new Scanner(System.in);
String name=in.nextLine();//读取一行输入
String firstName=in.next();//读取一个单词,以空白符为分割
int age=in.nextInt();
double number=in.nextDouble();
Scanner类定义在java.util包中。当使用的类不是定义在基本java.lang中,要用import导包 import java.util.*
2. 读取密码–console类
Console cons=System.console();
String username=cons.readLine("User name:");
char[] password=cons.readPassword("Password:");
3. 格式化输出
System.out.printf()
或者 建立格式化字符串:
String.format("%s %d",name,age);
索引 1$ 2$且必须跟在% 后面
三、基础知识的细节补充
- 利用Arrays类的toString方法,可以简单地打印数组中的所有值
int[] numbers2={1,2,3};
System.out.println(Arrays.toString(numbers2));
- 数组拷贝:
允许将一个数组变量拷贝到另一个数组变量
int[] luckyNumbers=numbers2;
System.out.println((luckyNumbers[2])); //输出3
这时,两个变量将引用同一个数组。
如果希望将一个数组的所有值拷贝到一个新的数组中去,要使用Arrays类的copyOf方法
int[] copiedLuckyNumbers=Arrays.copyOf(luckyNumbers,2*luckyNumbers.length);
- 数组排序
int[] a={3,1,2};
Arrays.sort(a);
- Arrays的其他常用方法
int[] b=new int[100];
int k=Arrays.binarySearch(a,0); //使用二分查找算法在有序数组a中找到v,
//找到v则返回对应下标;否则返回负数r,-r-1是v应插入的位置
Arrays.fill(b,10); //数组元素初始化
boolean isSame=Arrays.equals(a,b); //两个数组大小相同,并且下标相同的元素都对应相等