Java基础题目

  1. Java语言之父是谁? 詹姆斯 高斯林

  2. Java语言诞生于哪一年? 1995年诞生,96发布的第一版本

  3. Java语言隶属哪家公司 ? SUN --> Oracle

  4. JVM,JRE,JDK分别是什么? 它们之间的包含关系是什么样子的?
    JVM : Java虚拟机 -> 保证Java程序跨平台 ,程序的载体
    JRE : Java运行环境 -> 让程序正常执行
    JDK : Java开发工具集 -> 有了JDK才能正常开发

    JDK 包含 JRE JRE 包含 JVM

  5. 为什么要配置Path环境变量?
    为了能让java安装目录中bin目录下的命令能在计算机任意路径上执行

  6. 注释的种类和书写格式分别是什么?
    单行 //
    多行 /* /
    文本 /
    * */

  7. 标识符由哪些符号组成? 标识符 : 用来取名字的符号
    英文大小写,数字,_,$,中文

    1. 数字不能开头
    2. 关键字不可以用来命名
    3. 取名字要见名知意,要符合命名规范
  8. 字面值常量有哪几种,分别是什么?
    整数常量
    浮点数常量
    字符常量 ‘\u0000’
    字符串常量 “”
    布尔常量
    空 null

  9. 变量的定义格式是怎么样的?
    数据类型 变量名 = 初始化值;

  10. 计算机中最小的信息单元和最小的存储单元是什么,它们的换算公式是什么?
    信息单元 : 比特 bit b
    存储单元 : 字节 byte B

    8b = 1B -> 一个字节占8位
    1KB = 1024B

  11. Java中引用数据类型有哪几种?
    类 class
    接口 interface
    数组 Array
    枚举 enum
    注解 @interface

  12. Java中基本数据类型有哪几种?分别占用几个字节?
    整型 byte 1 short 2 int 4 long 8
    浮点型 float 4 double 8
    字符型 char 2
    布尔型 boolean 1

  13. byte 类型, int 类型, char 类型, boolean 类型的数据表示数的范围是多少?
    byte 类型 : -128 – 127
    int 类型 ±21个亿
    char 类型 0-65535
    boolean true false

    1. int a = 10,b = 20;
      System.out.println(a == b); //false
      System.out.println(a = b); //20
      请问输出语句的结果是什么?
  14. 逻辑双与和逻辑双或的运算规则和短路效果是什么?
    &&: 有false则为false
    左边为false,右边不执行
    ||: 有true则为true
    左边为true,右边不执行

  15. 三元运算符的格式?
    结果的数据类型 变量名 = 结果为boolean类型的式子 ? 结果1:结果2;

  16. idea的项目结构是什么样的?
    项目 project
    模块 module
    src 资源文件夹
    包 package
    java代码
    模块名.iml

  17. IDEA快捷提示键 是什么? alt + /

  18. .var的作用? 自动接收

  19. .soutv的作用? 带参数名的输出

  20. .castvar的作用? 带强转的接收

  21. short s = 30;
    s += 10; 的完整展开式是什么?
    s = (short)(s + 10);

  22. ‘a’,‘A’.'0’的ASCII值是多少?
    97 65 48

  23. 字符串做加法的本质是什么? 字符串可以做减法吗?
    字符串的连接 不可以

  24. ++,-- 在单独使用和参与运算时,在前在后的运算法则是什么?
    单独使用 : 在前在后都一样
    参与运算 :
    在前 : 先自增/自减 再参与运算
    在后 : 先参与运算 再自增/自减

  25. int a = 10,b = 20;
    System.out.println(a == b); false
    System.out.println(a = b); 20
    请问输出语句的结果是什么?

  26. 逻辑双与和逻辑双或的运算规则和短路效果是什么?
    运算规则 : && 有false则为false || 有true则为true
    短路效果 : && 左边为false 右边不执行 || 左边为true,右边不执行

  27. 三元运算符的格式?
    结果的数据类型 变量名 = 结果为boolean类型的式子 ? 值1 : 值2;

  28. if语句的第三种格式?
    if(关系表达式1){
    语句体1;
    }else if(关系表达式2){
    语句体2;
    }…else{
    语句体n+1;
    }

  29. switch语句的格式?
    switch(表达式){
    case 值1:
    语句体;
    break;
    case 值2:
    语句体;
    break;
    case 值3:
    语句体;
    break;

    default:
    语句体n+1;
    break;
    }

  30. switch语句switch(表达式)中,表达式能够使用何种类型的数据
    int,String, byte,short,char,枚举

  31. switch语句中default语句的含义? 缺省的默认的,当所有的case不满足,执行default

  32. switch语句中不写break语句会出现什么效果,是利大于弊还是弊大于利
    case穿透, 弊大于利

  33. System.out.println(“开始”);
    if(false)
    System.out.println(“aaa”);
    System.out.println(“bbb”);
    System.out.println(“结束”);
    以上代码的执行结果是什么??
    开始
    bbb
    结束

  34. 组成循环结构的四个部分?
    初始化语句 : 定义一个变量,变量用于控制循环 -> 只执行一次
    判断条件语句 : 本质是一个boolean类型的式子 -> 查看循环是否执行
    步进表达式(控制条件语句) : 初始化语句定义的变量做变化, 变化的方向往不满足循环条件的方向前进
    循环体语句 : 重复需要执行的代码

  35. for循环的格式?
    for(初始化语句;判断条件语句 ;步进表达式){
    循环体语句 ;
    }

  36. while循环的格式?
    初始化语句;
    while(判断条件语句){
    循环体语句;
    步进表达式;
    }

  37. for循环和while循环的执行流程?
    1.执行初始化语句

    1. 执行判断条件语句
      -> false 结束
      3.-> ture 执行循环体语句
    2. 执行步进表达式
      从第二步骤开始重复执行
  38. break关键字的含义? 中断,结束

  39. continue关键字的含义? 跳过,结束本轮次

  40. 循环嵌套案例中,break,continue控制外层循环的技术依据是什么? 给循环取别名
    别名:循环格式

    break 别名;
    continue 别名;

  41. 随机数Random的使用步骤
    1.导包 : 自动导入

    1. 创建对象
      Random r = new Random();
    2. 调用方法
      int num = r.nextInt(m); //[0,m-1]
  42. 生成一个任意范围的随机数公式: [n,m]
    nextInt(m - n + 1) + n

  43. 数组动态初始化和静态初始化的格式是?
    动态:
    数据类型[] 数组名 = new 数据类型[长度];
    静态:
    数据类型[] 数组名 = {值1,值2,值3…};

  44. 动态初始化数组,数组元素的默认值是多少?
    整数 : 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)

  1. 有参有返回值方法的定义格式:
    public static 返回值类型 方法名(形式参数列表){
    方法体;
    return 返回值;
    }

  2. 有返回值方法的调用方式: 直接调用,输出调用,赋值调用

  3. 无返回值方法的调用格式: 直接调用

  4. 形参的作用? 形参: 形式上参与运算的参数 接收调用方法时传入的实际参数,约束实参的类型,个数,类型顺序

  5. 实参的作用? 实参: 实际参与运算的数值/变量 给形参赋值

  6. 判断题:
    方法的形式参数是基本数据类型,形式参数的改变不影响实际参数? 对 基本数据类型参数传递的是 具体数值

  7. 判断题:
    方法的形式参数是引用数据类型,形式参数的改变直接影响实际参数? 对 引用数据类型传递参数传递的是 地址值(String)

  8. 当实际参数是引用数据类型时,实际参数传递给形式参数的是对象地址值还是具体数值? 对象地址

  9. 当实际参数是基本数据类型时,实际参数传递给形式参数的是对象地址值还是具体数值? 具体值

  10. 方法重载的规则是什么?

    1. 必须在同一个类中
    2. 必须方法名相同
    3. 形参列表不同 -> 个数不同,类型不同,类型顺序
    4. 与返回值类型无关
    5. 与形参的变量名无关
  11. 定义类的格式?
    public class 类名{
    //属性 成员变量
    //行为 成员方法
    }

  12. 创建对象的格式?
    类名 对象名 = new 类名(实参列表);

  13. 类和对象的关系?
    类是事物的抽象
    对象是此类事物的实例

  14. 面向对象的三大特性和三大特点分别是什么?
    特性: 封装,继承,多态
    特点:
    1. 更符合平时的思维习惯
    2. 把复杂的问题简单化
    3. 把我们从执行者变为指挥者

  15. 用什么来描述事物的属性? 成员变量

  16. 用什么来描述事物的行为? 成员方法

  17. private 关键字的含义和作用?
    私有的
    作用: 被修饰的成员只能在本类中访问

  18. this.变量名 是什么含义? 例如: this.age
    强制访问本类的成员位置上的变量 打破就近原则

    访问某个对象的age属性 √
    this 是生成对象的镜像 X

  19. 变量访问就近原则中远近关系是怎么样的?
    局部位置 < 本类成员位置 <本类父类的成员位置

  20. 成员变量和局部变量的区别?
    因为在类中的位置不同,导致作用域不同和在内存的位置不同
    因为在内存中的位置不同,导致初始化值不同和生命周期不同
    颜色不同

  21. 快速生成getter and setter和构造方法的快捷键是什么?
    alt + fn +insert

  22. new 一个对象发生了哪几件事情?
    1. 开辟了内存空间
    2. 一定产生了对象
    3. 一定调用了构造方法

  23. 构造方法的作用是什么? 格式是怎么样的?
    构造方法的作用是创建对象,在创建对象的同时给属性赋值(全参)

    格式
    public 类名(形参列表){
    //构造方法的方法体
    }

  24. static关键字修饰成员变量/成员方法的特点?

    1. static修饰的成员被所有对象共享
    2. 可以使用类名调用
    3. 优先于对象加载
    4. 随着类的加载而加载

    static方法内只能访问static成员

  25. 判断题:静态修饰的方法能够访问所有类型的方法和变量? 错

  26. 工具类的编写步骤?

    1. 类名编写为 XxxUtils
    2. 私有无参构造方法,并不提供任何其他的构造方法
    3. 把所有的成员修饰为static
  27. 类A继承类B的格式?
    class B{

    }

    class A extends B{

    }

  28. 子类继承父类,子类可以使用父类中(私有/非私有)的成员 非私有

  29. 判断题:
    a. Java中类与类的继承关系是多继承? 单一继承多层继承
    b. 子类要加载必先加载父类? 对

  30. 编写重写方法的要求?

    1. 必须继承/实现关系
    2. 子类覆盖父类的方法
      子类方法名和父类方法名一致
      子类方法名和父类形参列表一致
      方法体大概率不一致
      权限修饰符: 子类 >= 父类
      返回值类型:
      void : 必须一样
      基本数据类型 : 必须一样
      引用数据类型 : 子类方法的返回值类型是父类方法的返回值类型的子类或者同类
  31. 约束重写格式的注解是什么? @Override

  32. 翻译以下代码:
    this.变量名 : 强制访问本类成员位置上的变量
    this.方法名(实参) : 调用本类的某个成员方法
    this() : 调用本类的无参构造方法
    super.变量名 : 强制访问本类父类成员位置上的变量
    super.方法名(实参): 调用本类父类的某个成员方法
    super(): 调用本类父类的无参构造 -> 构造方法的默认第一句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值