标签:
一、安装JDK
使用Java语言开发程序的第一步就是安装JDK,安装JDK后需要配置系统环境变量。
配置系统环境变量主要是配置PATH,在PATH后面添加"jdk/bin"目录的完整路径,这样系统才能找到编译和运行Java代码的可执行文件所在路径,我们才能够使用javac命令和java命令。
对于JDK 5.0以及5.0以后的版本,已经不再需要配置CLASSPATH了。
二、Java基本数据类型
类型 | 长度 | 包装类 |
byte | 1 | Byte |
short | 2 | Short |
int | 4 | Integer |
long | 8 | Long |
float | 4 | Float |
double | 8 | Double |
char | 2 | Char |
boolean | — | Boolean |
Java没有无符号数据类型;
Java基本数据类型长度在不同的机器上是一致的;
Java基本数据类型都有对应的包装类,且从JDK5以后,基本类型和包装类可以自动转换 ;
Java没有定义boolean类型的长度,boolean类型主要用来保存字面值true和false 。
三、对Java引用的理解
在Java中,声明基本数据类型的变量是保存在栈中的;
声明一个对象变量实际是声明了一个引用,该引用保存在栈中,new一个该类型的对象后,在堆内存中开辟了空间保存对象实体,然后返回堆地址赋给引用,这样就可以通过引用来访问堆空间;
Java中的引用保存对象实体的地址,相当于指针,但不能像对指针一样对引用做运算;
Java中调用方法传递参数传递的是对象的引用,因此在方法中可以对对象作出修改。
四、Java中的goto语句
Java中是没有goto语句的,goto语句也是不建议使用的。但有时候我们想要跳出多层循环,需要goto语句的跳转能力,我们可以使用带标签的break语句。
break语句只能跳出最内层的循环,带标签的break语句就可以跳出任意层的循环:
1 int i,j; 2 outer: 3 for(i = 0; i < 100; i++) 4 { 5 inner: 6 for(j = 0; j < 100; j++) 7 { 8 if(i * j > 100) 9 break outer; 10 } 11 }
与goto语句不同的是,带标签的break语句只能配合循环语句使用,不能随意跳转到任意位置,break语句的标签只能声明在循环语句的前面:
1 before: 2 for(int i = 0; i < 100; i++) 3 { 4
5 } 6 7 System.out.println("after the loop"); 8 end: //end的声明不合法
五、Java数组
Java中声明一个数组时,实际上也是声明了一个引用,然后使用new运算符在堆中开辟空间保存指定数目的对象,并返回第一个对象的地址赋给引用;
Java中声明一个多维数组时,可以只指定第一维的长度,其他维的长度可以不指定;
Java中多维数组实际上就是数组的数组,比如对二维数组而言,每行实际上是一个数组,并且每行的数组长度还可以不同,例如:
int[][] intArray = {
{1,2,3,4,5},
{1,2,3,4},
{1,2,3}
}
六、常量
Java中用final来修饰一个常量,常量必须在声明时赋值或者在构造函数中赋值。final通常用来修饰Java基本数据类型表示值只能被赋值一次;
对应于类对象,通常是靠设计该类为不可变类来达到常量对象的目标,例如String类就是不可变类,String类没有提供任何可以修改String属性的方法。设计一个不可变类,要做好封装工作,不提供setter修改方法,除此之外,还要注意不能包含返回可变类对象的方法。在设计普通类的方法时,也应该尽量做到不返回可变类对象,要返回也是返回clone后的可变类对象,否则封装就不够严密。例如:
1 class People 2 { 3 private String name; 4 private Date birthday; 5 6 public String getName() 7 { 8 return name; 9 } 10 11 public Date getBirthday() 12 { 13 return birthday; 14 } 15 }
虽然在People类中设置birthday属性为private,但是getBirthday方法却是直接返回birthday的引用,而Date类不是一个不可变类,这样,我们仍然可以直接在外部调用getBirthday方法获取birthday之后再修改其属性,这样的类设计是有缺陷的。
七、static方法
static方法是一种不能向对象实施操作的方法,普通方法中都有一个隐藏的参数this,而在static方法中没有this参数,所以不能访问对象的实例属性和实例方法,但是可以访问对象的static属性和static方法。
在以下两种情况时,我们可以使用static方法:
一个方法不需要访问对象状态,它所需的参数都是由外部输入;
一个方法只需要访问对象的static属性或者static方法 。
标签:
原文地址:http://www.cnblogs.com/jqctop1/p/4647452.html