《Java核心技术卷1》第三章笔记


命令行窗口

​ 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);

其中长度是可变。


文章作者: 淡夜
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 淡夜 !
评论
  目录