- 请说一下你对JDK, JRE, JVM的理解
- JVM是Java的虚拟机; 作用: 实现了Java语言的跨平台
- JRE是Java的运行环境, 包含JVM和Java开发工具; 作用: 开发Java程序
- JDK 是Java的开发工具包, 包含JRE和Java开发工具; 作用:开发java程序
- 请简述什么是关键字, 关键字的特点, 请列举5个插件的关键字
- 关键字是被Java赋予特殊含义的单词
- 关键字的特点:
- 全部由小写字母组成
- 常用的代码编辑器, 针对关键字由特殊的颜色标记
- 常见的关键字有:
- public, static, void , class, false, true, bytem short, int, long, float, double,char, boolean等; 注意 : main不是关键字, main是方法名
- 请简述什么是注释, 注释的分类和作用
- 注释是对程序解释说明的文字; 注释是给人看的, 不是给机器看的, 注释的内容不参与编译
- 注释的分类:
- 单行注释 : // 注释内容
- 多行注释 : /* 注释内容*/
- 文档注释 : /** 注释内容 **/
- 注释的作用: 提高程序的阅读性
- 请说一下什么是标识符, 标识的组成, 标识符的注意点和标识负的命名规则
- 标识符是给包, 类, 变量, 方法等起的名字
- 标识符的组成: 字母, 数字, _, $, 中文(不推荐)
- 标识符的注意点:
- 不能以数字开头
- 不能是关键字
- 区分大小写
- 标识符的命名规则:
- 包: 全部小写, 多级包使用 . 隔开
- 类: 所有单词的首字母大写
- 变量.方法: 第一个单词字母小姐, 其余单词首字母大写
- 请说一下什么是变量, 变量的定义格式和变量的注意点
1. 变量: 实在程序执行过程中, 其值可以在一定范围内发生改变的量
2. 变量的本质: 是栈内存的一小块区域, 可用于存取数据, 还可以改变这个数据
3. 变量的定义格式: 数据类型 变量名 = 初始化值;
4. 变量的注意点:
1. 变量必须赋值才能使用
2. 变量旨在其所属的大括号中有效 - 请说一下& 和&&, | 和 || 的区别
1. & 和 &&
1. & 和 && 只要有false则false
2. & 无论如何两边都参与运算
3. && 左边的表达式为false, 右边的表达式就不参与运算了
2. | 和 ||
1. | 和 || 只要有true 则true
2. & 无论如何两边都要参与运算
3. || 左边的表达式为true, 右边的表达式就不参与运算了 - 请说一下 ++, – 在前或者后的区别
- ++, – 在前表示先自增或者自减, 然后再参与运算
- ++, --在后标识先参与其他运行, 然后再自增或者自减
- 请说一下continue, break和return的区别
- continue 用再循环语句中, 标识跳过本次循环后面的部分, 继续下一次循环
- break 用于循环活switch语句表示结束循环语句或者switch语句
- return 用于方法的返回值或结束方法
- 请说需要do…while, while, for’的区别
- do…while 循环体至少执行一次
- for和while只有满足条件之后才执行循环体
- for 循环结束后, 循环控制变量还可以继续使用
- 请说出switch支持哪些数据类型
- JDK1.5之前: byte, short, char, int
- JDK1.5支持枚举
- JDK1.7 支持字符串
- 请说出什么是方法, 方法的定义格式以及方法如何调用
- 方法: 方法是完成特定功能的代码块
- 定义格式:
修饰符 返回值类型 方法名(参数类型 参数名1, 参数类型 参数名2, …){
方法体;
return 返回值
} - 调用
- 直接调用 : 方法名(实参列表);
- 输出调用 : Ststem.out.print(方法名(实参列表));
- 赋值调用 : 返回值类型 变量名 = 方法名(实参列表);
- 请输出方法参数传递的特点
- 基本数据类型作为参数传递, 形式参数的改变不会影响实际参数
- 引用数据类型作为参数传递, 形式参数的改变会直接影响实际参数
- 请说出局部变量和成员变量的区别
- 定义的位置不同
- 成员变量定义在类中的方法外
- 局部变量定义在方法中或方法的声明上
- 内存位置不同
- 成员变量在堆内存
- 局部变量在栈内存
- 生命周期不同
- 成员变量随着对象的创建而存在, 随对象的消失而消失
- 局部变量随方法的调用而存在, 随方法的执行结束而消失
- 默认值不同
- 成员变量有默认值
- 局部变量没有默认值, 不赋值不能使用
- 定义的位置不同
- 请说出构造方法和普通方法的区别
- 方法名不同
- 构造方法必须是类名
- 普通方法自定义
- 返回值类型
- 构造方法没有返回值类型, void都没有
- 普通方法必须有返回值类型, 没有返回值类型就是void
- 作用不同
- 构造方法用于给成员变量赋值
- 普通方法根据需求实现自己功能
- 调用次是不同
- 构造方法创建对象由系统调用, 一个对象只会调用一次
- 普通方法, 根据需要调用, 可以调用很多次
- 方法名不同
- 请说说输出类和对象的关系
- 类: 对一类事物的抽象描述
- 对象: 对象是类的具体化, 是一个具体的个体
- 对象是通过对象创建出来的
- 封装的体现和好处
- 把成员变量私有化, 提高了代码的安全性
- 把功能封装到方法, 提高了代码的复用性
- 请说出string有哪些常用方法机器作用
- 构造方法
- string(String str) 用已有的字符串对象创建一个新字符传对象
- string(char[] chs)用字符数组创建一个字符串对象
- string(char[], int, index, int ien) 用字符串的一部分创建一个字符串对象, 从index索引开始吗, 使用ien哥字符
- 判断功能
- boolean equals(Object obj) 判断两个字符串的内容是否相同, 区分大小写
- boolean equalsIgnoreCase(String str) 判断两个字符的内容是否相同, 不区分大小写
- boolean startsWith(String str) 判断一个字符串是否以指定的字符传开头
- boolean endsWith(String str) 判断一个字符串是否以指定的字符串结尾
- boolean contains(String str) 如果包含指定字串旧返回true, 否则返回false
- 获取功能
- int length() 获取长度
- char charAt(int index) 获取指定索引字符
- int indexOf(int start) 获取指定字符串第一次出现的索引
- String subString(int start) 截取从start位置开始, 到整个字符串结尾的字串, 返回截取后的字符串,原串不变
- String subString(int start, int end) 截取从start位置开始, 到emd位置的子字符串, 包含start不包含emd, 返回截取后的字符串, 原串不变
- 转换功能
- char[] toCharArray() 把字符串转换为字符数组, 返回字符串数组, 原串不变
- String toLowerCase() 把字符串中所有的大写字母转小写, 返回转换后的字符串, 原串不变
- String toUpperCase() 把字符串中所有的小写字母转大写, 返回转换后的字符串, 原串不变
- 去除空格与切割
- String trim() 去掉字符串两端空格, 返回去掉空格后的字符串, 原串不变
- String split(String regex) 把当前的字符串, 使用指定的分割符进行切割, 返回分割后的字数组, 原串不变
- 构造方法
- 请说出SqtringBuilder有哪些常用的方法及其作用
- 构造方法
- StringBuilder() 创建一个控的StringBuilder对象
- StringBuiler(String str)把字符串对象转换为string
- 构造方法
面试基础问题整理(二)
最新推荐文章于 2023-03-13 15:13:58 发布