什么是 JDK、JRE、JVM
JDK:
Java 语言的软件开发工具包,是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。没有JDK的话,无法编译Java程序(指java源码.java文件),如果想只运行Java程序(指class或jar或其它归档文件),要确保已安装相应的JRE。
JRE:
Java运行环境,JRE可以让计算机系统运行Java应用程序。JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类别函数库(Class Library)。它包括Java虚拟机,Java核心类库和支持文件。它不包含开发工具(JDK)--编译器、调试器和其它工具。
JVM:
Java虚拟机,本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。Java语言的可移植性正是建立在Java虚拟机的基础上。任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。
什么是 javaSE、java EE、java ME
javaSE:Java平台标准版、开发电脑上运行的软件(针对桌面程序的开发)
javaEE:Java平台企业版、开发网站(针对企业级应用的开发)。
javaME:Java平台微型版、开发手机软件(APP,针对嵌入式设备软件的开发)。
运行java代码的两个命令是什么
前提:java运行环境已配好,打开cmd,进入到.Java文件所在的文件夹下
编译:javac 名字.java
运行:java 名字
java中变量标识符的命名规则有哪些
① 以数字,字母,下划线,美元符($)组成且不能以数字开头。
② 不能是关键字,保留字
③见名知意且区分大小写
java中都有哪些数据类型
java中的运算符都有哪些
java中进行类型转换的规则是什么
①八种基本数据类型中,除 boolean 类型不能转换,剩下七种类型之间都可以 进行转换
②如果整数型字面量没有超出 byte,short,char 的取值范围,可以直接将其赋值。
③容量从小到大的排序为:byte < short(char) < int ④大容量转换成小容量(强制类型转换)必须添加“强制类型转换符”,否则可能出现精度损失; ⑤小容量转换成大容量(自动类型转换)其中 short和 char 都占用两个字节。 ⑥多种数据类型混合运算,各自先转换成容量最大的那一种再做运算; ⑦byte,short,char 类型混合运算时,先各自转换成 int 类型再做运算; Scanner是在那个包下的类 Scanner 类在 java.util 包下,用于获取键盘输入(是一个基于正则表达式的文本扫描器),文件、字符串、输入流中解析出基本类型值和字符串值。” 程序执行结构有哪些 1、顺序结构,程序中各个操作按照在源代码中的排列顺序,自上而下,依次执行; 2、选择结构,根据某个特定的条件进行判断后,选择其中一支执行; 3、循环结构,在程序中需要反复执行某个或某些操作,直到条件为假或为真时才停止循环。 java中的分支语句是什么 ①if: ②if else: ③if else if: ④switch: java中循环都有哪些 ①while(先判断再执行) ②do while(先执行再判断) ③for ④foreach 在循环中,使用break和continue的作用是什么 break:终止循环体,结束当前循环和外层循环 continue:结束本次循环,继续下次循环 在java中,什么是类,什么是对象 类是对象的集合,对象是类的实例 类:具备某些共同特征的实体的集合,是一种抽象的数据类型,它是对所具有相同特征实体的抽象 对象:是一类事物的具体体现,对象是类的一个实例,必然具备该类的事物的属性和行为 定义类的时候,一般要定义哪些内容 定义类需要两个部分 一是属性(成员变量),二是行为(成员方法) 面向对象编程的步骤是什么 一)抽象出类对象 二)抽象出类对象的属性和方法 三)根据类对象创建出实例对象 四)通过实例对象访问属性和方法 java成员方法的6要素是什么,分别解释说明 一)访问权限修饰符:定义方法的访问权限 二)返回值类型:定义方法的返回值类型 三)方法名:定义方法的名字 四)形参:定义方法需要的形参,可不写,或多个,多个用逗号连接 五)方法体:方法执行代码块 六)返回值:方法的返回值 什么是方法重载 一个类中,具有相同的方法名但参数类型与个数不同的方法之间叫做方法的重载 访问修饰符都有哪些,区别是什么 ①private(私有):只能当前类类中访问,不能修饰类 ②default(默认):能在同一包或同一类中被访问 ③protected(保护):其他包中不可调用,不能修饰类 ④public(公有):能在同一项目下被使用,能修饰属性,方法,类 static关键字的作用 修饰属性: 则该属性就成为类属性(不依赖于某个对象而存在),所有该类的实例对象都共用这一个属性,任何一个实例改变了静态属性值,大家看到的都是修改过的值。 修饰方法: 则该方法就成为静态方法,可以直接通过类名访问,一般在工具类中定义工具方法 数组的特点 ①数组长度已经创建不可修改 ②数组中存储数据为相同类型 ③占据内存空间是连续的 ④数组名代表的是数组在内存中的首地址 冒泡排序口诀 外层循环 n-1 , 内层循环再减 i 什么是封装,如何实现封装 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节,但可以通过该对象对外提供的接口来访问该对象。 实现: 第一步:属性私有化 继承的特点是什么,有什么作用 概念: 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。多个类可以称为子类,单独这个类称为父类、超类或者基类。子类可以直接访问父类中的非私有的属性和行为。通过 extends 关键字让类与类之间产生继承关系。 优点:提高代码复用性和维护性,多态的前提。 缺点:类的耦合性增强了,削弱了子类的独立性。 特点: ①Java中只支持单继承,即一个子类只能拥有一个父类。 ②子类可以继承父类的方法,子类也可以拥有自己独立的方法。 ③子类可以重写覆盖父类的方法 方法重写的特征 1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法) 2.子类抛出的异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常) 3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别) 4.方法的重写,不能发生在同类中,只能发生在子类中。 super和this关键字的作用 this: 是对象内部指代自身的引用,同时也是解决成员变量和局部变量同名问题;this 可以调用成员变量,不能调用局部变量;this 也可以调用成员 方法,但是在普通方法中可以省略 this,在构造方法中不允许省略,必须是 构造方法的第一条语句。,而且在静态方法当中不允许出现 this 关键字。 代表对当前对象的直接父类对象的引用,super 可以调用直接父类的成员变量(注意权限修饰符的影响,比如不能访问 private 成员) super 可以调用直接父类的成员方法(注意权限修饰符的影响,比如不能访 问 private 成员);super 可以调用直接父类的构造方法,只限构造方法中使用,且必须是第一条语句。 什么是多态,如何实现多态,多态的作用是什么
if(条件语句){
代码块;
}
if(条件语句){
代码块1;
}else{
代码块2;
}
if(条件语句1){
代码块1;
}else if(条件语句2){
代码块2;
}
.
.
.else{
代码块n;
}
switch(分支标准){
case 结果1:
代码块1;
break;
caes 结果2:
代码块2;
break;
.
.
.
default:
代码块
}
while(循环终止条件){
代码块;
}
do{
代码块;
}while(循环终止条件);
for(表达式一;循环终止条件;表达式二){
代码块;
}
for(变量类型 变量名:需要遍历的对象){
代码块;
}
for(int i=0;i array[j+1]){
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
第二步:1个属性对外提供两个set和get方法。外部程序只能通过set方法修改,只能通过get方法读取,可以在set方法中设立关卡来保证数据的安全性。
super :



