1. >>>最高位用0填充,>>最高位用符号位填充  ,没有<<。 
2. 强制转换是直接截断,要四舍五入的话需要用Math.round(); 
3. boolean不要于任何数值类型进行转换。除非b?1:0 
4. Java没有内置字符串类型。 
5. String类没有提供用于修改字符串的方法,方便字符串共享。 
6. C++重载了==,可以用它来检测字符串的相等性。Java没有重载。C也不用==对字符串进行比较,而使用strcmp函数。Java的compareTo()方法与strcmp类似。greeting.compareTo("Hello")==0 
7. length()返回代码单元数量;codePointCount()返回代码点数量。charAt(n)将返回位置n的代码单元,n介于0-s.length()-1。得到第i个代码点,greeting.offsetByCodePoints(0,i);   greeting.codePointAt(i);

StringBuilder builder = new 
StringBuilder();builder.append(ch/str);
or  String completeString = builder.toString();返回一个与构建器或缓冲器相同的字符串。

 

9.输入:  Scanner类位于 java.util.*

 Console类可以实现控制台读取密码:

Console cons = System.console();

String  username = 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

posted on 2012-05-02 13:09  裴银祥的博客园  阅读(505)  评论(0)    收藏  举报