-
Java语言之父是谁? 詹姆斯 高斯林
-
Java语言诞生于哪一年? 1995年诞生,96发布的第一版本
-
Java语言隶属哪家公司 ? SUN --> Oracle
-
JVM,JRE,JDK分别是什么? 它们之间的包含关系是什么样子的?
JVM : Java虚拟机 -> 保证Java程序跨平台 ,程序的载体
JRE : Java运行环境 -> 让程序正常执行
JDK : Java开发工具集 -> 有了JDK才能正常开发JDK 包含 JRE JRE 包含 JVM
-
为什么要配置Path环境变量?
为了能让java安装目录中bin目录下的命令能在计算机任意路径上执行 -
注释的种类和书写格式分别是什么?
单行 //
多行 /* /
文本 /* */ -
标识符由哪些符号组成? 标识符 : 用来取名字的符号
英文大小写,数字,_,$,中文- 数字不能开头
- 关键字不可以用来命名
- 取名字要见名知意,要符合命名规范
-
字面值常量有哪几种,分别是什么?
整数常量
浮点数常量
字符常量 ‘\u0000’
字符串常量 “”
布尔常量
空 null -
变量的定义格式是怎么样的?
数据类型 变量名 = 初始化值; -
计算机中最小的信息单元和最小的存储单元是什么,它们的换算公式是什么?
信息单元 : 比特 bit b
存储单元 : 字节 byte B8b = 1B -> 一个字节占8位
1KB = 1024B
… -
Java中引用数据类型有哪几种?
类 class
接口 interface
数组 Array
枚举 enum
注解 @interface -
Java中基本数据类型有哪几种?分别占用几个字节?
整型 byte 1 short 2 int 4 long 8
浮点型 float 4 double 8
字符型 char 2
布尔型 boolean 1 -
byte 类型, int 类型, char 类型, boolean 类型的数据表示数的范围是多少?
byte 类型 : -128 – 127
int 类型 ±21个亿
char 类型 0-65535
boolean true false- int a = 10,b = 20;
System.out.println(a == b); //false
System.out.println(a = b); //20
请问输出语句的结果是什么?
- int a = 10,b = 20;
-
逻辑双与和逻辑双或的运算规则和短路效果是什么?
&&: 有false则为false
左边为false,右边不执行
||: 有true则为true
左边为true,右边不执行 -
三元运算符的格式?
结果的数据类型 变量名 = 结果为boolean类型的式子 ? 结果1:结果2; -
idea的项目结构是什么样的?
项目 project
模块 module
src 资源文件夹
包 package
java代码
模块名.iml -
IDEA快捷提示键 是什么? alt + /
-
.var的作用? 自动接收
-
.soutv的作用? 带参数名的输出
-
.castvar的作用? 带强转的接收
-
short s = 30;
s += 10; 的完整展开式是什么?
s = (short)(s + 10); -
‘a’,‘A’.'0’的ASCII值是多少?
97 65 48 -
字符串做加法的本质是什么? 字符串可以做减法吗?
字符串的连接 不可以 -
++,-- 在单独使用和参与运算时,在前在后的运算法则是什么?
单独使用 : 在前在后都一样
参与运算 :
在前 : 先自增/自减 再参与运算
在后 : 先参与运算 再自增/自减 -
int a = 10,b = 20;
System.out.println(a == b); false
System.out.println(a = b); 20
请问输出语句的结果是什么? -
逻辑双与和逻辑双或的运算规则和短路效果是什么?
运算规则 : && 有false则为false || 有true则为true
短路效果 : && 左边为false 右边不执行 || 左边为true,右边不执行 -
三元运算符的格式?
结果的数据类型 变量名 = 结果为boolean类型的式子 ? 值1 : 值2; -
if语句的第三种格式?
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}…else{
语句体n+1;
} -
switch语句的格式?
switch(表达式){
case 值1:
语句体;
break;
case 值2:
语句体;
break;
case 值3:
语句体;
break;
…
default:
语句体n+1;
break;
} -
switch语句switch(表达式)中,表达式能够使用何种类型的数据
int,String, byte,short,char,枚举 -
switch语句中default语句的含义? 缺省的默认的,当所有的case不满足,执行default
-
switch语句中不写break语句会出现什么效果,是利大于弊还是弊大于利
case穿透, 弊大于利 -
System.out.println(“开始”);
if(false)
System.out.println(“aaa”);
System.out.println(“bbb”);
System.out.println(“结束”);
以上代码的执行结果是什么??
开始
bbb
结束 -
组成循环结构的四个部分?
初始化语句 : 定义一个变量,变量用于控制循环 -> 只执行一次
判断条件语句 : 本质是一个boolean类型的式子 -> 查看循环是否执行
步进表达式(控制条件语句) : 初始化语句定义的变量做变化, 变化的方向往不满足循环条件的方向前进
循环体语句 : 重复需要执行的代码 -
for循环的格式?
for(初始化语句;判断条件语句 ;步进表达式){
循环体语句 ;
} -
while循环的格式?
初始化语句;
while(判断条件语句){
循环体语句;
步进表达式;
} -
for循环和while循环的执行流程?
1.执行初始化语句- 执行判断条件语句
-> false 结束
3.-> ture 执行循环体语句 - 执行步进表达式
从第二步骤开始重复执行
- 执行判断条件语句
-
break关键字的含义? 中断,结束
-
continue关键字的含义? 跳过,结束本轮次
-
循环嵌套案例中,break,continue控制外层循环的技术依据是什么? 给循环取别名
别名:循环格式break 别名;
continue 别名; -
随机数Random的使用步骤
1.导包 : 自动导入- 创建对象
Random r = new Random(); - 调用方法
int num = r.nextInt(m); //[0,m-1]
- 创建对象
-
生成一个任意范围的随机数公式: [n,m]
nextInt(m - n + 1) + n -
数组动态初始化和静态初始化的格式是?
动态:
数据类型[] 数组名 = new 数据类型[长度];
静态:
数据类型[] 数组名 = {值1,值2,值3…}; -
动态初始化数组,数组元素的默认值是多少?
整数 : 0
浮点 : 0.0
字符 : ‘\u0000’
布尔 : false
所有的引用数据类型 : null
1.数组查询指定索引位置元素格式? 数组名[索引]
2.数组修改指定索引位置元素格式? 数组名[索引] = 值;
3.获取数组元素个数、数组长度格式? 数组名.length
4.默写元素交换的代码; int a = 10; int b = 20;
int temp = a;
a = b;
b = temp;
5.描述冒泡排序的原理;
a. 从序列的第一个元素开始和后一个元素进行大小比较
b. 根据需求, 升序: 前面比后面大就换位置,反之不动 降序: 前面比后面小就换位置,反之不动
c. 再比较第二个元素和第三个元素的大小关系…
d. 重复c,b2个动作一直到序列的结尾 (冒泡)
e. 指针回到序列的头部 再次重复abcd四个步骤 (下一轮冒泡的次数要比上一轮冒泡次数-1)
-
有参有返回值方法的定义格式:
public static 返回值类型 方法名(形式参数列表){
方法体;
return 返回值;
} -
有返回值方法的调用方式: 直接调用,输出调用,赋值调用
-
无返回值方法的调用格式: 直接调用
-
形参的作用? 形参: 形式上参与运算的参数 接收调用方法时传入的实际参数,约束实参的类型,个数,类型顺序
-
实参的作用? 实参: 实际参与运算的数值/变量 给形参赋值
-
判断题:
方法的形式参数是基本数据类型,形式参数的改变不影响实际参数? 对 基本数据类型参数传递的是 具体数值 -
判断题:
方法的形式参数是引用数据类型,形式参数的改变直接影响实际参数? 对 引用数据类型传递参数传递的是 地址值(String) -
当实际参数是引用数据类型时,实际参数传递给形式参数的是对象地址值还是具体数值? 对象地址
-
当实际参数是基本数据类型时,实际参数传递给形式参数的是对象地址值还是具体数值? 具体值
-
方法重载的规则是什么?
- 必须在同一个类中
- 必须方法名相同
- 形参列表不同 -> 个数不同,类型不同,类型顺序
- 与返回值类型无关
- 与形参的变量名无关
-
定义类的格式?
public class 类名{
//属性 成员变量
//行为 成员方法
} -
创建对象的格式?
类名 对象名 = new 类名(实参列表); -
类和对象的关系?
类是事物的抽象
对象是此类事物的实例 -
面向对象的三大特性和三大特点分别是什么?
特性: 封装,继承,多态
特点:
1. 更符合平时的思维习惯
2. 把复杂的问题简单化
3. 把我们从执行者变为指挥者 -
用什么来描述事物的属性? 成员变量
-
用什么来描述事物的行为? 成员方法
-
private 关键字的含义和作用?
私有的
作用: 被修饰的成员只能在本类中访问 -
this.变量名 是什么含义? 例如: this.age
强制访问本类的成员位置上的变量 打破就近原则访问某个对象的age属性 √
this 是生成对象的镜像 X -
变量访问就近原则中远近关系是怎么样的?
局部位置 < 本类成员位置 <本类父类的成员位置 -
成员变量和局部变量的区别?
因为在类中的位置不同,导致作用域不同和在内存的位置不同
因为在内存中的位置不同,导致初始化值不同和生命周期不同
颜色不同 -
快速生成getter and setter和构造方法的快捷键是什么?
alt + fn +insert -
new 一个对象发生了哪几件事情?
1. 开辟了内存空间
2. 一定产生了对象
3. 一定调用了构造方法 -
构造方法的作用是什么? 格式是怎么样的?
构造方法的作用是创建对象,在创建对象的同时给属性赋值(全参)格式
public 类名(形参列表){
//构造方法的方法体
} -
static关键字修饰成员变量/成员方法的特点?
- static修饰的成员被所有对象共享
- 可以使用类名调用
- 优先于对象加载
- 随着类的加载而加载
static方法内只能访问static成员
-
判断题:静态修饰的方法能够访问所有类型的方法和变量? 错
-
工具类的编写步骤?
- 类名编写为 XxxUtils
- 私有无参构造方法,并不提供任何其他的构造方法
- 把所有的成员修饰为static
-
类A继承类B的格式?
class B{}
class A extends B{
}
-
子类继承父类,子类可以使用父类中(私有/非私有)的成员 非私有
-
判断题:
a. Java中类与类的继承关系是多继承? 单一继承多层继承
b. 子类要加载必先加载父类? 对 -
编写重写方法的要求?
- 必须继承/实现关系
- 子类覆盖父类的方法
子类方法名和父类方法名一致
子类方法名和父类形参列表一致
方法体大概率不一致
权限修饰符: 子类 >= 父类
返回值类型:
void : 必须一样
基本数据类型 : 必须一样
引用数据类型 : 子类方法的返回值类型是父类方法的返回值类型的子类或者同类
-
约束重写格式的注解是什么? @Override
-
翻译以下代码:
this.变量名 : 强制访问本类成员位置上的变量
this.方法名(实参) : 调用本类的某个成员方法
this() : 调用本类的无参构造方法
super.变量名 : 强制访问本类父类成员位置上的变量
super.方法名(实参): 调用本类父类的某个成员方法
super(): 调用本类父类的无参构造 -> 构造方法的默认第一句