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
                      50道java集合面试题
                      50道 java 集合面试题
                      |
                      9月前
                      |
                      存储 Java Go
                      【Java】(3)8种基本数据类型的分析、数据类型转换规则、转义字符的列举
                      牢记类型转换规则在脑海中将编译和运行两个阶段分开,这是两个不同的阶段,不要弄混!
                      388 2
                      |
                      9月前
                      |
                      Java Go 开发工具
                      【Java】(2)Java数据类型阐述、基本数据类型的占用和范围、二进制的讲述
                      数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。例如:十进制例如:二进制计算机在任何情况下都只能识别二进制。
                      461 1
                      |
                      10月前
                      |
                      安全 Java
                      使用Java多态性进行数据类型转换
                      以上示范了如何通过多态性来执行安全有效地对于Java对象间相互之间进行正确方式与场合下正确格式与条件限定内对于各个层级关系内部成员及其功能调取与应有操作处理过程,并通过 `instanceof`关键字确保了程序运行期间遵循逻辑合理并符合预设规则条件限定内正常工作流程而无需担忧潜藏风险问题出现可能带来影响结果质量问题情况存在可能。
                      286 12
                      |
                      10月前
                      |
                      算法 Java
                      50道java基础面试题
                      50道java基础面试题
                      |
                      11月前
                      |
                      存储 缓存 算法
                      Java数据类型与运算符深度解析
                      本文深入解析Java中容易混淆的基础知识,包括八大基本数据类型(如int、Integer)、自动装箱与拆箱机制,以及运算符(如&与&&)的使用区别。通过代码示例剖析内存布局、取值范围及常见陷阱,帮助开发者写出更高效、健壮的代码,并附有面试高频问题解析,夯实基础。
                      |
                      存储 Java
                      # 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
                      本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
                      328 13
                      |
                      存储 传感器 缓存
                      java变量与数据类型:整型、浮点型与字符类型
                      ### Java数据类型全景表简介 本文详细介绍了Java的基本数据类型和引用数据类型,涵盖每种类型的存储空间、默认值、取值范围及使用场景。特别强调了`byte`、`int`、`long`、`float`、`double`等基本类型在不同应用场景中的选择与优化,如文件流处理、金融计算等。引用数据类型部分则解析了`String`、数组、类对象、接口和枚举的内存分配机制。
                      608 15
                      |
                      存储 Java
                      Java变量、数据类型和运算符 2
                      Java变量、数据类型和运算符
                      259 0