黑马程序员技术交流社区

标题: 基础知识感言(技术贴) [打印本页]

作者: 秦圣洛    时间: 2019-3-29 12:17
标题: 基础知识感言(技术贴)
static表示main()方法是一个静态方法,即方法中的代码是存储在静态存储区的,只要类被加载后,就可以使用该方法而不需要通过实例化对象来访问;

void表示该方法没有返回值;

main是JVM识别的特殊方法名,是程序的入口方法。
1)由于public与static没有先后顺序关系,因此下面的定义也是合理的。

static public void main(String[] args)

2)也可以把main()方法定义为final。

public static final void main(String[] args)

3)也可以用synchronized来修饰main()方法。

static public synchronized voin main(String[] args)

不管哪种定义方式,都必须保证main()方法的返回值为void,并有static与public关键字修饰。同时由于main()方法为程序的入口方法,因此不能用abstract关键字来修饰。

Java程序的初始化一般遵循3个原则(优先级依次递减):①静态对象(变量)优先于非静态对象(变量)初始化,其中,静态对象(变量)只初始化一次,而非静态对象(变量)可能会初始化多次。②父类优先于子类进行初始化。③按照成员变量的定义顺序进行初始化。即使变量定义散布于方法定义之中,它们依然在任何方法(包括构造函数)被调用之前先初始化。

Java程序初始化工作可以在许多不同的代码块中来完成(例如静态代码块、构造函数等),它们执行的顺序如下:父类静态变量,父类静态代码块、子类静态变量,子类静态代码块,父类非静态变量、父类非静态代码块、父类构造函数、子类非静态变量、子类非静态代码块、子类构造函数。
Java程序的初始化一般遵循3个原则(优先级依次递减):①静态对象(变量)优先于非静态对象(变量)初始化,其中,静态对象(变量)只初始化一次,而非静态对象(变量)可能会初始化多次。②父类优先于子类进行初始化。③按照成员变量的定义顺序进行初始化。即使变量定义散布于方法定义之中,它们依然在任何方法(包括构造函数)被调用之前先初始化。

Java程序初始化工作可以在许多不同的代码块中来完成(例如静态代码块、构造函数等),它们执行的顺序如下:父类静态变量,父类静态代码块、子类静态变量,子类静态代码块,父类非静态变量、父类非静态代码块、父类构造函数、子类非静态变量、子类非静态代码块、子类构造函数。
实例变量又称为成员变量,属于对象,只有实例化对象之后才可以使用,可多次创建。

类变量又称为静态变量,属于类,随着类的加载而初始化,只创建一次。

局部变量是定义在方法里面的变量,可定义在方法参数中,也可定义在方法内部,使用之前必须初始化,随着方法的结束而销魂。

final变量是被final关键字修饰的变量,一旦声明,不可被改变。
Java语言中,static关键字常与final关键字结合使用,用来修饰成员变量和成员方法。

对于变量,若使用static final修饰,该变量不可被修改,随着类的加载而被创建,只创建一次,能通过类名访问。

对于方法,若使用static final修饰,该方法不可被重写,随着类的加载而被调用,能通过类名访问。
Java提供了几种数据类型?

答:8种。分别是byte(1)、boolean(1)、char(2)、short(2)、int(4)、long(8)、float(4)、double(8)。
byte:

byte 数据类型是8位、有符号的,以二进制补码表示的整数;
最小值是 -128(-2^7);
最大值是 127(2^7-1);
默认值是 0;
byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
例子:byte a = 100,byte b = -50。
short:

short 数据类型是 16 位、有符号的以二进制补码表示的整数
最小值是 -32768(-2^15);
最大值是 32767(2^15 - 1);
Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
默认值是 0;
例子:short s = 1000,short r = -20000。
int:

int 数据类型是32位、有符号的以二进制补码表示的整数;
最小值是 -2,147,483,648(-2^31);
最大值是 2,147,483,647(2^31 - 1);
一般地整型变量默认为 int 类型;
默认值是 0 ;
例子:int a = 100000, int b = -200000。
long:

long 数据类型是 64 位、有符号的以二进制补码表示的整数;
最小值是 -9,223,372,036,854,775,808(-2^63);
最大值是 9,223,372,036,854,775,807(2^63 -1);
这种类型主要使用在需要比较大整数的系统上;
默认值是 0L;
例子: long a = 100000L,Long b = -200000L。
"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
float:

float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
float 在储存大型浮点数组的时候可节省内存空间;
默认值是 0.0f;
浮点数不能用来表示精确的值,如货币;
例子:float f1 = 234.5f。
double:

double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
浮点数的默认类型为double类型;
double类型同样不能表示精确的值,如货币;
默认值是 0.0d;
例子:double d1 = 123.4。
boolean:

boolean数据类型表示一位的信息;
只有两个取值:true 和 false;
这种类型只作为一种标志来记录 true/false 情况;
默认值是 false;
例子:boolean one = true。
char:

char类型是一个单一的 16 位 Unicode 字符;
最小值是 \u0000(即为0);
最大值是 \uffff(即为65,535);
char 数据类型可以储存任何字符;
例子:char letter = 'A';。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2