1,jdk1.5之后的三大版本
答:java SE,java ME,java EE,java SE是标准版,可以运行在linux,桌面,嵌入式上面,java ME是微型版,主要运行在移动设备和嵌入式上面,java EE是企业版,提供了java web等的一系列组件
2,JVM、JRE和JDK的关系
答:JVM是虚拟机,java的跨平台事实上就是java字节码可以运行在不同平台的虚拟机上面。
jre是java运行环境,只要安装了jre的设备就能运行java程序,但是不能编译(jre中只有java,没有javac,jar)
jdk是java开发工具,自然包括了jre和jvm,能够编译java程序和打成jar包等操作
3,什么是跨平台性?原理是什么
答:跨平台性就是一次编译的java代码,可以在多个平台运行,原理自然是被编译的java代码可以运行在不同平台的java虚拟机上面
4,Java有哪些基本数据类型
答:byte(1),short(2),int(4),long(8),float(4),double(8),char(2),boolean(1)
1字节是八位
5,switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上
答:在jdk1.5之前只能是byte,short,int,char,jdk1.5之后可以是枚举类型,1.7之后可以是string类型
6,左移和右移
答:左移几位相当于乘以2的几次方,右移几位相当于除以几次方("<<"是左移。">>"是右移)
7,Math.round()
答:Math.round()的原理是加上0.5取整
8,float和double
答:浮点型的默认类型是double,所以在定义一个浮点类型的数的时候,如果如果是float类型,后面要加上f,否则报错
9,s=s+1和s+=1的区别
答:s+=1 相当于 s=(s的类型(s+1))
10,java的编码
答:java采用Unicode编码,为为一个字符确定了唯一的编码值
11.访问修饰符以及作用
答:作用范围有四个,当前类,同包,子类,其他包
public都行 ,protected同包,子类,当前类,default(默认)同包和当前类,private只有当前类可以
12,&和&&的区别
答:&两种用法可以说逻辑与,也可以是按位与 &&是逻辑与。
当前面是false,会去运算后面的表达式 当前面是false不会运算后面的表达式
13,goto
答:goto是java中的保留字,但一直没有使用
14,final
答;修饰的类不能被继承,被修饰的方法不能被重写。
被final修饰的基本类型变量就变成了常量,不能改变,但是如果修饰的是引用类型,不能改变的只是引用的值,引用的内容是可以改变的
15,this
答:一般有三种用法,一,直接代指自己,二,在区分形参和成员变量名字的时候。三,代指自己的构造函数
16,super
答:代指最近的父类。当子类的成员方法和父类的成员方法重名的时候,用于区分。指父类的构造方法
17,面向对象和面向过程的优缺点
答:面向过程:优点:性能高,速度快,因为在创建对象的过程中需要消耗大量资源
缺点:不方便维护,代码复用性不高
面向对象:优点:封装继承多态,代码复用性高,
缺点:性能不高,。。。。
18,面向对象的三大特征
答:封装:我们在定义一个类的时候,对于其中的成员方法和成员变量都有严格的访问限制,保证了其中的安全性
继承:在我们取定义一个类的时候,我们这个类可以继承其他的类,可以继承他其中的变量和方法,子类也能在父类的基础上增加新的功能,
多态:父类或者接口类型的引用变量可以指向子类或者实现类的实例
有两种情况的多态,一是继承时子类对父类中的方法或者是抽象方法的重写,二是实现接口时对接口方法的不同实现
19重写和重载的区别