java基础介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、java的编译和运行。源文件和字节码的扩展名
Java的编译(javac Java文件名)、Java的运行(java 含有main方法的类名)
源文件扩展名(.java)、字节码的扩展名(.class)
2、java中的常用基本数据类型的定义和赋值
byte -- 8-bit signed two's-complement integers
short -- 16-bit signed two's-complement integers
char -- 16-bit unsigned integers
int -- 32-bit signed two's-complement integers
long -- 64-bit signed two's-complement integers
float -- 32-bit IEEE 754 floating-point numbers
double -- 64-bit IEEE 754 floating-point numbers
boolean -- true and false
3、String类型赋值的两种方法,以及它们是区别
String s = "Hello";
String s = new String("Hello");
第一种方法只生成一个"Hello"对象,存在于String Pool中,第二种方法生成两个"Hello"对象,分别存在于String Pool和堆(Heap)中。
4、String类型和其它类型的转换
以int和String之间的转换为例,其他类似:
int -> String String s = 5 + "";
String -> int int n = Integer.parseInt("5");
5、java的运算符优先级
优先级运算符结合性
1 () [] . 从左到右
2 ! +(正) -(负) ~ ++ -- 从右向左
3 * / % 从左向右
4 +(加) -(减) 从左向右
5 << >> >>> 从左向右
6 < <= > >= instanceof 从左向右
7 == != 从左向右
8 &(按位与) 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 ?: 从右向左
14 = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= 从右向左
6、输出1-100之间的所有素数
public class ForPrime {
public static void main(String[] args) {
for (int i = 2; i < 100; i++) {
if (isPrime((long) i)) {
System.out.println(" isPrime = " + i);
}
}
}
static boolean isPrime(long num) {
double intSqrtOfNum = Math.sqrt((double) num);
int i = 0;
for (i = 2; i < intSqrtOfNum; i++) {
if (num % i == 0)
break;
}
if (i > intSqrtOfNum) {
return true;
}
return false;
}
}
7、类的定义,方法定义
类的定义:一个java文件只可以包含一个public类,不可有多个public,就是如果类声明成public,那么这个java文件的名字要和类名一致,一个java文件可以包含一个public类和多个非public类。
方法的定义:一个方法包括5个部分,访问权限,返回类型,方法名,参数列表,方法体。
8、成员变量和局部变量的异同
1).成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;两者都可以定义成final型;
2).成员变量存储在堆,局部变量存储在栈;
3).存在时间不同;
4).成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量不会自动赋值。
9、构造方法的定义和执行
构造方法是一种特殊的方法,与一般的方法不同是:
1).构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。
2).构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。
3).不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。
构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门功能:构造方法(constructor)构造方法是一种特殊的成员方法吗,它的特殊性反映在如下几个方面:
(1)构造方法名与类名相同。
(2)构造方法不返回任何值,也没有返回类型。
(3)每个类可以有零个或多个构造方法。
(4)构造方法在创建对象时自动执行,一般不能显式地直接调用。
10、方法的重载
方法重载是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法, 这就是多态性。
注意,Java的方法重载要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法。
方法重载:1.方法名一定要相同。
2.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。
(1).如果参数个数不同,就不管它的参数类型了!
(2).如果参数个数相同,那么参数的类型或者参数的顺序必须不同。
3.方法的返回类型、修饰符可以相同,也可不同。
11、类的继承,构造方法的继承和执行顺序、方法的覆盖
累的继承:1.面向对象最重要的特点之一,就是可以实现对类的复用。
2.通过“继承”一个现有的类,可以使用已经定义的类中的方法和变量。
3.类的方法和属性可以被继承,但是类的构造器不能被继承。
4.在Java中,一个类只能继承继承一个父类,这种方式叫做单继承。这一点和C++不一样。
ng.Object类是所有类的父类
虽然一个类只可以继承一个父类,但是一个父类却可以被多个子类所继承。
从子类的角度看,它是“继承(extends)”父类;而从父类的角度看,它是“派生(derive)”子类。它们指的都是同一个动作,只是角度不同而已。
构造方法的继承和执行顺序:1.父类的构造方法不能被子类所继承,必须为一个子类定义构造方法,或者使用缺省的构造方法。
2.子类要完成父类继承属性的初始化,必须要调用父类的构造方法。可使用super()显式地调用父类的构造方法。
3.子类调用父类构造方法的意义在于,初始化父类的成员变量。