1、Java对象和类
Java作为一种面向对象的语言,支持以下基本概念:多态继承、封装、抽象、类、对象
实例、方法、重载。
对象:对象是类的一个实例,有状态和行为。
类:类是一个模板,它描述一类对象的行为和状态。
1.1创建对象
对象是根据类创建的,在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:
(1 )声明:声明-一个对象,包括对象名称和对象类型。
(2)实例化:使用关键字new来创建一个对象。
(3)初始化:使用new创建对象时,会调用构造方法初始化对象。
1.2构造方法
每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
1.3 Java包
包主要用来对类和接口进行分类。
1.4 Import语句
在Java中,如果给出一个完整的限定名,包括包名、类名,那么Java编译器就可以很容易地定位到源代码或者类。Impot语句就是用来提供一个合理的路径,使得编译器可以找到某个类。
2、Java基本数据类型
(1)byte
byte数据类型是8位、有符号的,以二进制补码表示的整数;
最小值是-128 (-2^7) ;
最大值是127 (2^7-1) ;
默认值是0;
byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一;
(2)short
short数据类型是16位、有符号的以二进制补码表示的整数
最小值是-32768(-2^15);最大值是32767(2^15 - 1);
Short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一;
默认值是0;
(3)int
int数据类型是32位、有符号的以二进制补码表示的整数;
最小值是-2,147,483,648(-2^31); 最大值是2,147,483,647(2^31 - 1);
一般地整型变量默认为int类型;
默认值是0;
(4)long
long数据类型是64位、有符号的以二进制补码表示的整数;
最小值是-9,223,372,036,854,775,808(-2^63); 最大值是9,223,372,036,854,775,807(2^63 -1);
这种类型主要使用在需要比较大整数的系统上;
默认值是0L;
(5)float
float数据类型是单精度、32位、符合IEEE 754标准的浮点数;
float在储存大型浮点数组的时候可节省内存空间;
默认值是0.0f;
浮点数不能用来表示精确的值,如货币;
(6)double
double数据类型是双精度、64位、符合IEEE 754标准的浮点数;
浮点数的默认类型为double类型;
double类型同样不能表示精确的值,如货币;
默认值是0.0d;
(7)boolean
boolean数据类型表示一位的信息;
只有两个取值:true和false;
这种类型只作为一种标志来记录true/false情况;
默认值是false;
(8) char
char类型是一个单一的16位Unicode字符;
最小值是’\u0000’(即为0);
最大值是’\uffff’(即为65,535);
char数据类型可以储存任何字符;
3.、Java变量类型
(1)局部变量
-
声明在方法、构造方法或者语句块中;
-
访问修饰符不能用于局部变量;
-
局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用;
(2)实例变量
-
实例变量声明在一个类中,但在方法、构造方法和语句块之外;
-
访问修饰符可以修饰实例变量;
-
当一个对象被实例化之后,每个实例变量的值就跟着确定;
-
实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
-
实例变量可以直接通过变量名访问;
(3)类变量 (静态变量)
-
类中以static关键字声明,但必须在方法构造方法和语句块之外;
-
静态变量除了被声明为常量外很少使用。常量是指声明为public/privte,final和static类型的变量。常量初始化后不可改变;
-
类变量被声明为public static final类型时,类变量名称一般建议使用大写字母;
4、修饰符
(1)访问修饰符
默认的,也称为 default,在同一包内可见,不使用任何修饰符。
私有的,以 private 修饰符指定,在同一类内可见。
共有的,以 public 修饰符指定,对所有类可见。
受保护的,以 protected 修饰符指定,对同一包内的类和所有子类可见。
(2)非访问修饰符
-
static:创建方法和类变量
-
final:用来修饰类、方法和变量
-
abstract:用来创建抽象类和抽象方法
-
synchronized:关键字声明的方法同一时间只能被一个线程访问。synchronized 修饰符可以应用于四个访问修饰符
-
volatile
-
transient
5、循环结构
(1)while循环
while( 布尔表达式 ) {
//循环内容
}
(2)do...while
对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。
do {
//代码语句
}while(布尔表达式);
(3)for循环
虽然所有循环结构都可以用 while 或者 do…while表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单。
for循环执行的次数是在执行前就确定的。
for(初始化; 布尔表达式; 更新) {
//代码语句
}
(4)break 关键字
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。
(5)continue 关键字
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。