1. >>>最高位用0填充,>>最高位用符号位填充,没有
console cons = system.console();
stringusername = cons.readline("user name:“);
char[]passwd = cons.readpassword("password:");
10. 被格式化的参数索引:
system.out.printf("%1$s%2$tb%2$te%2$ty", "due date:" , new date());
11.文件的输入与输出:
scanner in = new scanner(new file("myfile.txt"));//如果文件名包含反斜杠 ,要转义,加一个反斜杠。
printwriter out = new printwriter("myfile.txt");
如果用一个不存在的文件构造一个scanner,或者用一个不能被创建的文件名构造一个printwriter,那么就会发异常。
12. 如果整数,浮点不能满足精度要求,可以使用java.math包中的两个类:biginteger和 bigdecimal
biginteger a= biginteger.valueof(100);
不能使用+ *来处理大数值,而是add 和multiply方法。
13. for(variable : collection)statement;
打印数组更见的方法:arrays.tostring(a);//返回一个包含数组元素的字符串。
数组的初始化:1. int[]smallprimes = {2,3,4,5,6,7};//不需要使用new
2.new int[] {2,3,4,5,6,7}//匿名初始化,将创建一个新的数组 并利用括号中提供的值进行初始化,数组的大小就是初始值的个数。
java允许数组长度为0.
允许数组拷贝,这是两个变量引用同一个数组。如果要拷贝到一个新的数组 需要使用arrays.copyof(number , length),通常用这个方法来增加数组的大小,剩余的数值赋0,布尔型赋false。
java数组与c++数组在堆栈上有很大不同,但基本上与分配在heap上的数组指针一样。
int[] a = new int[100]; //java[]被预定义为检查数组边界,而没有指针运算,即不能通过a+1得到数组下一个元素。
不同于int a[100]//c++
而等同于int *a = new int[100];//c++
数组排序:sort
快速打印一个二维数组的数据元素列表:arrays.deeptostring(a);
java实际上只有一维数组。
14.命令行参数
java message -g cruel world
args[0]:"-g"args[1]:"cruel"args[2]:world