zoukankan      html  css  js  c++  java
  • Java基础部分知识点(初稿)

    1、一个“.java”源文件是否可以包括多个类(不是内部类)?有什么限制?

    .java 源文件中可以有多个类,但只能有一个 public 的类,并且 public 的类名必须与文件相一致

    2、Java 有没有 goto?

    goto 为 Java 中保留字,现在没有在 java 中使用

    3、& 和 && 的区别

    • & 和 &&:都可以作为逻辑与运算,表示逻辑与(and)。
    • &&:具备短路功能(第一个表达式为 false 后,不会计算第二个表达式)。
    • &:可以用作位运算符。当 & 两边的表达式不为 boolean 类型时,会进行按位与操作。

    4、Java 中跳出多重嵌套循环

    链接至另一博客见详情

    5、switch 语句能否作用在 byte 上,能否作用在 long 上,能否作用在 String 上?

    • switch(参数):只能是一整数表达式或枚举常量。
    • byte,shout,char 可以隐式转换为 int,可作为参数
    • long 和 String 不能隐式转换为 int 类型,不可作为参数

    注:题意为,swith 参数中能否直接写入非 int 型变量

    6、 short s1 = 1;s1 = s1 + 1; 有什么错? short s1=1;s1 +=1; 有什么错?

    • s1 + 1; 运算时会自动转换成 int 类型,即结果为 int 型。int 型赋值给 short 型,需要强制转换,不然报错。
    • s1 +=1; 是 java 语言规定的运算符,java 编译器会对它进行特殊处理,因此可以正确编译。

    7、char 型变量中能不能存贮一个中文汉字?为什么?

    可以。char 用来存储 Unicode 编码的字符, Unicode 编码字符中包含了汉字

    注:unicode 编码占两个字节,char 类型也占两个字节

    8、某个数乘以 2 的 n 次数,最有效的操作方式

    位运算( << ):一个数左移 n 位,相当该数乘以了 2 的 n 次方,位运算 cpu 直接支持,效率最高

    9、设计一个百亿的计算器

    • 计算机进行算术运算时会发生越界的情况
    • 两个数值的运算结果不能超过计算机中的该类型的数值范围
    • 自定义一个类用来表示很大的整数,提供与另一个整数进行加减乘除的功能方法。
    • 两个成员变量:符号、字节数组(存储该数的二进制数)
    • 构造方法中完成对成员变量的赋值

    10、final 关键字修饰变量时,是引用不能变,还是引用的对象不能变?

    • final 修饰变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。
    • final 修饰 StringBuffer 后。StringBuffer 对象依旧可以通过 对象点 append() 方法,修改内容

    11、== / equals 方法有什么区别

    • ==:用来比较两个变量的值是否相等,即比较变量所对应的内存中所存储的数值是否相同。
    • 基本数据或引用变量之间的比较用 ==
    • equals:比较堆内容中保存的内容是否一致
    • 一个类没有重写 equals 方法,那么默认的 equals 方法就是 == 操作符

    12、静态变量 / 实例变量 的区别

    • 静态变量(类变量): static 关键字修饰,属于类。可以直接用类名来引用。只要类的字节码(.class文件)被程序加载,静态变量即会被分配空间
    • 实例变量:属于对象的属性。对象被实例化后实例变量才会被分配空间,通过对象才可调用实例变量

    13、是否可以从一个 static 方法内部发出对非 static 方法的调用?

    • 不可以
    • 非 static 方法是要与对象关联在一起的,必须创建一个对象后,才可以通过对象进行调用
    • 而 static 方法调用时不需要创建对象,可以直接调用。
    • 如果从一个 static 方法中发出对非 static 方法的调用,非 static 无法关联对象,所以无法调用

    14、Integer 与 int 的区别

    • int 是8种原始数据类型之一。
    • Integer 是 java 为 int 提供的封闭类
    • int 默认值为 0,Integer 默认值为 null
    • 所以 Integer 可以通过值来判断该数据是否有修改添加过
  • 相关阅读:
    Appium
    Appium滑动直到页面底部
    使用Maven以及碰到的坑们(持续更新中。。。)
    通过license server激活IntelliJ IDEA
    HDU 1166
    HDU 2444
    HDU 浙江科技学院校赛2016
    HDU 5651
    HDU 5650
    Interview 位运算
  • 原文地址:https://www.cnblogs.com/debjJava/p/12069827.html
Copyright © 2011-2022 走看看