今天开始,为期半个月,决定对java基础进行下复习。一下是在复习过程中,着重记录的知识点。

1:一个类用class和public class 有什么区别?
用class声明,则类名称和文件可以不一致,编译时不会出现问题,但是执行时,需要执行
javac 类名称。
用public class声明,则类名称和文件必须一致,否则编译的时候会提示找不到类的异常。

引申:在一个java文件中,只能有一个class被声明为public class,class声明的类可以有多个。若一个java文件中,有一个public class声明的类,和n个class声明的类,则在编译的时候一共为这个java文件生成n+1个.class文件。

2:关于java中的关键字
记住,java中有两个保留的关键字:[color=brown]goto[/color]和[color=brown]const[/color],不能被使用声明变量、方法。想下面的代码是无法编译成功的,在IDE下会有红叉提示。

public static void main(String[] args){
		String goto="HelloWorld"
		goto(goto);		
	}

	public static void goto(String tem){

		System.out.print(tem);
	}




还有一点,java中众多的关键字中,不包括以下三个:[color=blue]true[/color]\[color=blue]false[/color]\[color=blue]null[/color],他们属于有意义的值。声明变量的时候,也不能使用这三个声明。



3.数据类型


3.1:数据类型划分为基本数据类型和引用数据类型。


基本数据类型可分为:整型,浮点型,字符型,布尔型。整型分为byte、short、int、long。浮点型分为:float和double。字符型为char,布尔型为boolean。


引用类型可分为:数组,类,接口


3.2:基本数据类型中,都有最大值和最小值。最大值加1就是最小值,最小值减1就是最大值。即:Integer.MAX_VALUE==Integer.MIN_VALUE-1;


3.3:一个整数的默认类型是int,浮点数的默认类型是double



4:数据类型转换


4.1 char和int可以互相转换,int转成char时,要显示声明讲int转换为为char型,即表示为:char c=(char) 10;


4.2 整数之间可以按照byte<short<int<long进行转换。


4.3 整数到浮点数之间可以按照:int<float<double进行转换。


4.4 如果是字符串,则自动向字符串转换。如计算:"aa"+10+5,结果是"aa15",可以用括号解决这个问题。



引申:System.out.pringtln(1l+11);结果是12,因为第一个是1和l,表示长整型1.



5.位操作


位操作是指使用二进制进行与或异或等操作。异或指相同为0,不同为1。



6.数组


使用java.util.Arrays.sort()方法可直接对数组排序,按照有小到大的顺序



7.String


7.1使用String的两种声明方式。


第一个是直接赋值方式,第二个是利用构造方法复制。可以用如下的代码表示。


String str1="hello";
   String str2=new String("hello");



在内存中,两种方式的赋值过程如下所示。


第一种赋值:


[img]http://dl.iteye.com/upload/attachment/434294/f41c8b3a-2db1-33a3-ab7b-1589c5e846d6.jpg[/img]


第二种赋值:


[img]http://dl.iteye.com/upload/attachment/434296/cb88a939-50e1-3969-8df4-ae196467c90c.jpg[/img]



[img]http://dl.iteye.com/upload/attachment/434310/e7fab7a6-4610-3fa7-96e2-62cb420e14b0.jpg[/img]


[img]http://dl.iteye.com/upload/attachment/434312/b0d3b769-2725-3de6-9cea-6047aee494c4.jpg[/img]


[img]http://dl.iteye.com/upload/attachment/434314/d773319d-939f-3cc2-8e72-3591e05556d6.jpg[/img]


其实,字符串变量的改变改变的是内存空间地址的指向,而本身的字符串的内容没有任何的变化。



7.2字符与字符串,字节与字符串


字符串其实就是一组字符。从字符串找到字符:public char charAt (int index),从字符串到字符数组 public char[] toCharArray();


从字符串到字节数组。public byte[] getBytes(),从字节数组到字符串,public String(Byte[] bytes).