分享到QQ空间

未完待续的JAVA基础知识

第二卷

1.每个JAVA程序必须有一个main函数,但并非是每个类都有,main函数必须声明为static函数。

2.println与print之间的区别是换行与不换行。

3.在JAVA中,不想C/C++分变量的声明和定义,常量的定义关键字是final。(有中文提示错误,真好。)

4.在JAVA中,用strictfp标记的方法必须使用严格的浮点计算方法。   例如 public static strictfp void main(String[] avgs);  

5.Math类的有些函数并不是通过对象来调用方法,而是通过静态调用。这种方法称为静态调用。   引入数学包import static java.lang.Math.*;

6.数据类型非强制转换的时候,有些类型之间的转换会有精度丢失,例如int->float,long->float,long->double。

7.进行二元计算的时候,如果有一个类型是double类型,那么另一个数会先转化为double类型,然后在进行计算。而float,long也是如此。

8.关于强制转换类型的话,这个和C/C++差不多,可以和Math类的静态方法来做相应的计算。

9.枚举类型,字符串类型都和C/C++差不多,都有相应的方法来操作,例如截取子串,拼接字符串。

10.这个很有意思,JAVA中的String相比C语言的字符数组,更像C语言的字符指针,它在重新赋值的时候,会自动的回收多余的内存,原始字符放在堆中, 如果内存未被使用,那么系统将会自动回收这块内存,并不会造成内存泄露。

11.一定不能使用"=="来比较两个字符串是否相等(C/C++经常这么干),在JAVA中应该使用equals方法来比较,当然方法的左边可以是常量,例如  string str="Hello";  "Hello".equals(srt);//It's true。  当然,如果想忽略大小写,可以使用方法equalIgnoreCase。  切记不可以使用“==”,因为这个判断方法只是判断这两个字符是否放在同一个内存位置中。

12.相关一些String 类的方法 package welcomejava;

public class Contans {

 public static void main(String[] args)

{   // TODO Auto-generated method stub   /*final int icon=20;   double dHeigh=40;   double dWidth=50;   System.out.println("The Size is:"+dHeigh+"*"+dWidth+"="+dHeigh*dWidth);   System.out.println(icon);*/   String str="Hello";   int length=str.length();//获得字符代码单元   System.out.println("the length is:"+length);   int iCount=str.codePointCount(0, str.length());//实际字符代码单元   System.out.println("the point length is:"+iCount);     } }

13.字符串构造器StringBuilder Builder=new StringBuilder();//创建一个新的字符串对象;     Builder.append(Signlechar);     Builder.append(Str);     String str=Builder.toString();//获取由builder创建的字符串对象。

14.有System.out就有相对应的System.in,不过System.in的使用相对麻烦一点。  首先应该先构造一个扫描器来扫描输入   Scanner in =new Scanner(System.in);//构建Scanner   System.out.println("what is your name?");   String name=in.nextLine();//不忽略空格号   System.out.println(name);   String name1=in.next();//以空格号为分隔符。主意区别   System.out.println(name1);   //在最开始的地方要先引入包:import java.util.*;

15.另外,Scanner不适合保护密码,因为是明文输入,所以如果想保护密码的话,应该使用Console类。  效果是密文。  Console con=System.console();  String name =con.readLine("User name:");  char[] pswd=con.Password("Passwod:");  

16.关于格式化输出,JAVA5.0沿用了C语言的printf格式化输出(- -貌似很强大的样子)。

17.想要对文件进行读取,就要用一个File对象来创建一个Scanner对象  Scanner in =new Scanner(new File(Mytext.txt));  //注意路径问题,如果路径是在其他目录下,必须用两个反斜杠号来表示路径。例如  //C:\\MydiretoryFile\\Mytext.txt  想要写入文件,那么就要创建一个PrintWrite对象,创建这个对象只需要提供文件名。  PrintWrite out =new PrintWrite(Mytext.txt);  如果此文件不存在,则可以像System.out那样使用printf,print,println方法。          

18.JAVA不能像C++那样在外层作用域中定义名字相同的变量,因为这样可能导致程序设计错误。 

posted @ 2013-07-29 16:49  KAM【绝对思维】  阅读(250)  评论(0编辑  收藏  举报
分享到QQ空间