命令行窗口
1.javac name.java:将该名称的java文件编译成class文件
2.java name:运行该名称的class文件
3.java name.java:编译并运行该名称的java文件
StringBulider与StringBuffer
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[] ch = new String[2];
ch[0] = "hello";
ch[1] = "world";
StringBuilder builder = new StringBuilder();
builder.append(ch[0]);
builder.append(ch[1]);
System.out.println(builder.toString());
in.close();
}
}将字符连接,并且每次连接不会开辟新的空间。
单线程中用StringBuuid,多线程中用StringBuffer。
Console类实现读取密码
import java.io.Console;
public class Main {
public static void main(String[] args) {
Console cons = System.console();
String username = cons.readLine("User name: ");
char[] passwd = cons.readPassword("Password: ");
in.close();
System.out.println(username);
System.out.println(passwd);
}
}Scanner不适用于读取密码。要用Console类读取密码。需要在命令行操作。
大数值
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
BigInteger a = BigInteger.valueOf(1000);
BigInteger b = BigInteger.valueOf(2000);
BigInteger c = a.add(b);
BigInteger d = a.multiply(b);
System.out.println(c);
System.out.println(d);
in.close();
}
}
BigInterger(整数)与BigDecimal(浮点数)能够处理任意长度的数值。
for each循环
for(variable:collection) statement;其中collection必须是一个数组或者是一个实现了Iterable接口的类对象(例如Arraylist)。
用main方法接收字符串数组
public class Main {
public static void main(String[] args) {
for (String s : args)
System.out.println(s);
}
}需要在命令行操作。
打印二维数组
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[][] arr = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
System.out.println(Arrays.deepToString(arr));
in.close();
}
}变量二维数组
for(double[] row : a)
for(double value : row)
do something with value;数组拷贝
int[] copiedarr = Arrays.copyOf(arr,arr.length);其中长度是可变。