Java基础面试题整理详解

需积分: 50 17 下载量 59 浏览量 更新于2024-07-18 收藏 51KB DOCX 举报
Java基础面试题整理(附答案) 本文将从 Java 基础面试题中整理出重要的知识点,涵盖面向对象编程、访问修饰符、基本数据类型、运算符、内存管理等方面。 一、面向对象的特征 Java 中面向对象编程的特征有三个方面:封装、继承、多态。封装是指将对象的状态和行为封装在一起,继承是指子类继承父类的属性和方法,多态是指对象可以以不同的形式出现。 二、访问修饰符 访问修饰符有四种:public、private、protected 和 default(不写)。它们的访问权限如下: * public:对类内部、同包、子类和外部包都可访问 * protected:对类内部、同包和子类可访问,但对外部包不可访问 * default:对类内部和同包可访问,但对子类和外部包不可访问 * private:只对类内部可访问,对同包、子类和外部包不可访问 三、String 是最基本的数据类型吗? 不是,String 是一个类,它是 Java 编程语言中的字符串。Java 中的基本数据类型包括 byte、short、int、long、float、double、boolean、char 等。 四、float 变量的赋值 float 变量不能直接赋值 3.4,因为它的精度不够准确,需要强制类型转换,例如 float f = (float)3.4; 或 float f = 3.4f;。否则默认是 double 类型。 五、short 变量的赋值 short 变量不能直接赋值 s1 = s1 + 1;,因为结果是 int 类型,不能赋值给 short 变量;但是使用 += 运算符可以隐式类型转换,例如 s1 += 1;。 六、Java 中的 goto 语句 Java 语言中保留了 goto 关键字,但是目前还没有在 Java 中使用。C 语言中使用 goto 语句来跳转到指定的标签。 七、int 和 Integer 的区别 int 是基本数据类型,Integer 是 int 的包装类。Integer 需要实例化,int 不需要。Integer 是对象的引用,int 直接存储数据值。Integer 的默认值为 null,int 的默认值为 0。 八、& 和 && 运算符的区别 & 运算符不管前面的条件是否正确,后面都会执行;&& 运算符只有前面条件正确时,才执行后面,否则不执行。&& 运算符的效率更高。 九、内存中的栈、堆和静态区 栈:只保存基本数据类型的对象和自定义对象的引用(不是对象),都是私有的。 堆:存储的都是对象,只存放对象本身。只有一个堆区被所有线程共享。 静态区:包含所有的 class 和 static 变量,都是在整个程序中永远唯一的元素。 例如,String str = new String("hello");,str 放在栈上,用 new 创建出来的字符串对象在堆上,"hello" 放在静态存储区。 十、Math.round() 函数 Math.round(11.5) 等于 12,Math.round(-11.5) 等于 -11。 十一、switch 语句 switch 语句可以作用在 byte、short、char 上,但是不能作用在 long 上。Java 7 及更高版本中,可以作用在 String 上。 本文总结了 Java 基础面试题中的重要知识点,涵盖面向对象编程、访问修饰符、基本数据类型、运算符、内存管理等方面,希望对读者有所帮助。