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的掌握我相信不止于此,如果您对此语言或其他有进阶的要求,请移步至我的博客进行其余的修炼计划。

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

                      相关文章
                      |
                      10天前
                      |
                      Java 程序员 容器
                      Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
                      在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
                      |
                      12天前
                      |
                      存储 算法 Java
                      大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
                      本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
                      大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
                      |
                      18天前
                      |
                      Java 编译器
                      Java重复定义变量详解
                      这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
                      Java重复定义变量详解
                      |
                      13天前
                      |
                      存储 缓存 Java
                      大厂面试必看!Java基本数据类型和包装类的那些坑
                      本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
                      38 4
                      |
                      11天前
                      |
                      存储 消息中间件 NoSQL
                      使用Java操作Redis数据类型的详解指南
                      通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
                      28 1
                      |
                      26天前
                      |
                      Java
                      通过Java代码解释成员变量(实例变量)和局部变量的区别
                      本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
                      |
                      26天前
                      |
                      存储 Java 关系型数据库
                      [Java]“不同族”基本数据类型间只能“强转”吗?
                      本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
                      34 0
                      [Java]“不同族”基本数据类型间只能“强转”吗?
                      |
                      1月前
                      |
                      存储 Java
                      从菜鸟到大神:Java标识符命名的“蜕变”之路!
                      【10月更文挑战第13天】从菜鸟到大神:Java标识符命名的“蜕变”之路!本文从初识标识符命名、命名规范的重要性、命名最佳实践三个方面,详细探讨了如何通过合理的命名提升代码的清晰度、可读性和可维护性,帮助你在编程之路上不断成长。
                      36 2
                      |
                      23天前
                      |
                      存储 Java
                      在Java编程的世界里,标识符命名是一项基础且至关重要的技能
                      在Java编程的世界里,标识符命名是一项基础且至关重要的技能
                      10 0
                      |
                      25天前
                      |
                      存储 Java 编译器
                      [Java]基本数据类型与引用类型赋值的底层分析
                      本文详细分析了Java中不同类型引用的存储方式,包括int、Integer、int[]、Integer[]等,并探讨了byte与其他类型间的转换及String的相关特性。文章通过多个示例解释了引用和对象的存储位置,以及字符串常量池的使用。此外,还对比了String和StringBuilder的性能差异,帮助读者深入理解Java内存管理机制。
                      18 0