Java面试30天计划Day02(变量/数据类型/标识符关键字...)

简介: Java基本数据类型有哪些?注释哪几种?标识符与关键字区别?变量?break/contiune/return区别?字符型常量与字符串常量区别?局部变量与成员变量区别?

这是一个Java面试的集合文档,将会周期性的进行更新,您完全将其看成一个番剧,追番的感觉可能会让您更有学习的兴趣。

此篇为基础语法篇

Java的基本数据类型有哪些?

数据类型 boolean byte char short int float long double
占用内存 1(bit) 8(bit) 16(bit) 16(bit) 32(bit) 32(bit) 64(bit) 64(bit)
包装类 Boolean Byte Character Short Integer Long Float Double

(1字节=8bit),boolean只有两个值true和false,boolean占用1一个字节或4个字节皆有可能,具体看虚拟器是否符合规范。

注释有哪几种?

Java 中的注释有三种:

    1. 单行注释 :用于解释方法内某单行代码的作用。
    2. 多行注释 :用于解释一段代码的作用。
    3. 文档注释 :用于生成 Java 开发文档。

    标识符和关键字两者的区别是什么?

    Java对各种变量、方法、类等命名时所使用的字符序列即为标识符。简单的理解就是我们可以自己起名字的地方都是标识符,例如在程序中:int num1 =90;那么num1就是标识符。它只是一个名字。

    关键字即是被Java语言所赋予了特殊含义,用做专门用途的字符串。其实它就是被赋予了特殊含义的标识符。需要注意的是,关键字中所有的字母都为小写。

    我们可以这样理解这两者的区别:前置条件:生活中名字必唯一情况下,你有一个兄弟,你十分的喜欢他,你要给它起一个名字叫“阿卡丽”,名字就是我们的标识符。但是这个名字确是不被允许的,因为你的父亲也叫“阿卡丽”,你肯定不能和你父亲同名,那么此时“阿卡丽”已经被赋予了特殊的含义,也就是关键字。

    此处列出Java关键字表以供参考:

    用于的关键字 import package
    用于定义访问权限修饰符的关键字 private protected public
    用于定义数据类型的关键字 class interface enum byte short int
    long float double char boolean void
    用于定义数据类型值的关键字 true false null
    用于定义流程控制的关键字 if else switch case default while
    do for break continue return
    用于定义类、函数、变量修饰符的关键字 abstract final static synchronized
    用于定义类与类之间关系的关键字 extends implements
    用于定义建立实例及引用实例、判断实例的关键字 new this super instanceof
    用于异常处理的关键字 try catch finally throw throws
    其他修饰符关键字 native strictfp transient volatile assert

    注意:default是个特殊的关键字,既属于程序控制,也属于类,方法和变量修饰符,还属于访问控制。虽然truefalsenull看起来像关键字但实际上他们是字面值,同时你也不可以作为标识符来使用。

    什么是变量?

    变量是程序的基本组成单位,变量有三个基本要素(数据类型+变量名称+值),变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。

    变量表示内存中的一个存储区域(不同变量,类型不同,占用的空间大小不同)。变量必须先声明,后使用,也就是需要有顺序。变量在同一作用域内不能重名。

    局部变量和成员变量与区别是什么?

      1. 语法形式:局部变量是在代码块或方法中定义的变量或是方法的参数,而成员变量属于类。  局部变量不可以被访问控制修饰符和static所修饰,而成员变量可以被privatepublicstatic等修饰符所修饰。  但两者都可以被final所修饰。
      2. 默认值:局部变量不会自动赋值。  如成员变量没被赋初始的值,则会自动以类型的默认值而赋值(例外:如成员变量被final修饰也必须显式的赋值)。
      3. 生存时间:局部变量会随着方法的调用而自动生成,也随着方法的调用结束而消亡。而成员变量则是对象的一份子,它会随着对象的创建而存在。
      4. 存储方式:局部变量存在于栈内存。成员变量如是使用static所修饰,则此成员变量属于类,如没有使用static所修饰,则此成员变量属于实例。而其对象存在于堆内存。

      静态变量的作用是什么?

      (static)静态变量可以被类的所有实例共享。无论一个类创建了多少个对象,它们都共享同一份静态变量。一般情况中,静态变量会被final关键字修饰成为常量。

      break、contiune、return三者的区别?

        1. break:(就近原则,结束当前的整个循环。指跳出整个循环体,继续执行循环下面的语句。)
          1. 结束当前整个循环,执行当前循环下边的语句。忽略循环体中任何其它语句和循环条件测试。
          2. 只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出。[逐层判断,逐步跳出]
          3. break在循环体内,强行结束循环的执行,也就是结束整个循环过程,不在判断执行循环的条件是否成立,直接转向循环语句下面的语句。
          4. 当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
            1. contiune:(指跳出当前的这一次循环,继续下一次循环。)
              1. 终止本次循环的执行,即跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断。
              2. 结束当前循环,进行下一次的循环判断。
              3. 终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行
                1. return:(用于跳出所在方法,结束该方法的运行。)
                  1. return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行。
                  2. .return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。
                  3. return后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于想中断函数执行,返回调用函数处。

                    字符型常量和字符串常量的区别?

                      1. 形式上: 字符常量是单引号引起的一个字符 字符串常量是双引号引起的 若干个字符
                      2. 含义上: 字符常量相当于一个整形值( ASCII 值),可以参加表达式运算,字符串常量代表一个地址值(该字符串在内存中存放位置)
                      3. 占内存大小:字符常量只占2个字节 字符串常量占若干个字节(至少一个 字符结束标志)

                      注意: char在Java中占两个字节

                      如果您认真阅读至此,您现在已经掌握了Java的面试篇追番版Day02,且随着您认真练习使用次数的增加,您对您对Java的掌握我相信不止于此,如果您对此语言或其他有进阶的要求,请移步至我的博客进行其余的修炼计划。

                      感谢您认真观看完毕此文章,如果此文章对您有帮助的话,还请您点赞收藏评论,这对我有很大的帮助。

                      相关文章
                      |
                      5天前
                      |
                      Java 编译器
                      Java重复定义变量详解
                      这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
                      Java重复定义变量详解
                      |
                      4天前
                      |
                      存储 缓存 Oracle
                      Java I/O流面试之道
                      NIO的出现在于提高IO的速度,它相比传统的输入/输出流速度更快。NIO通过管道Channel和缓冲器Buffer来处理数据,可以把管道当成一个矿藏,缓冲器就是矿藏里的卡车。程序通过管道里的缓冲器进行数据交互,而不直接处理数据。程序要么从缓冲器获取数据,要么输入数据到缓冲器。
                      Java I/O流面试之道
                      |
                      1天前
                      |
                      存储 Java 程序员
                      Java基础的灵魂——Object类方法详解(社招面试不踩坑)
                      本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
                      19 4
                      |
                      13天前
                      |
                      存储 Java
                      [Java]面试官:你对异常处理了解多少,例如,finally中可以有return吗?
                      本文介绍了Java中`try...catch...finally`语句的使用细节及返回值问题,并探讨了JDK1.7引入的`try...with...resources`新特性,强调了异常处理机制及资源自动关闭的优势。
                      15 1
                      |
                      13天前
                      |
                      Java
                      通过Java代码解释成员变量(实例变量)和局部变量的区别
                      本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
                      |
                      11天前
                      |
                      算法 Java
                      JAVA 二叉树面试题
                      JAVA 二叉树面试题
                      12 0
                      |
                      29天前
                      |
                      Java
                      JAVA易错点详解(数据类型转换、字符串与运算符)
                      JAVA易错点详解(数据类型转换、字符串与运算符)
                      44 4
                      |
                      3月前
                      |
                      Java
                      【Java 第三篇章】注释、数据类型、运算符
                      【8月更文挑战第2天】 Java支持三种注释:单行(`//`)、多行(`/*...*/`)及文档注释(`/**...*/`)。它定义了八种基本数据类型,包括四种整数类型(`byte`、`short`、`int`、`long`),两种浮点类型(`float`、`double`),一种字符类型(`char`)和一种布尔类型(`boolean`)。数据类型之间可以自动转换或通过强制转换改变,但后者可能导致精度损失。Java中的运算符涵盖算术(如`+`、`-`)、赋值(如`=`)、比较(如`==`)、逻辑(如`&&`)和三目运算符等。例如,算术运算可用于执行基本数学计算,而逻辑运算符用于组合条件判断。
                      20 1
                      |
                      3月前
                      |
                      存储 Java
                      02 Java基础语法(变量+数据类型+运算符)(下)
                      02 Java基础语法(变量+数据类型+运算符)
                      26 5
                      |
                      3月前
                      |
                      存储 Java
                      02 Java基础语法(变量+数据类型+运算符)(上)
                      02 Java基础语法(变量+数据类型+运算符)
                      45 4