栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面试之基础语法(上)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面试之基础语法(上)

字符型常量和字符串常量的区别?
    形式 : 字符常量是单引号引起的一个字符,字符串常量是双引号引起的 0 个或若干个字符含义 : 字符常量相当于一个整型值( ASCII 值),可以参加表达式运算; 字符串常量代表一个地址值(该字符串在内存中存放位置)占内存大小 : 字符常量只占 2 个字节; 字符串常量占若干个字节 (注意: char 在 Java 中占两个字节)
使用过可变长参数吗?

从Java5开始,Java开始定义可变长参数,就是允许在调用方法时传入不定长度的参数。比如下面的方法可以接受0个或者多个参数:

public static void method1(String ...args) {
    //TODO
}

另外,可变长参数只能作为形参列表的最后一个参数。

public static void method2(String arg1, String ...args) {
    //TODO
}

遇到方法重载的情况怎么办呢?会优先匹配固定参数还是可变参数的方法呢?

是会优先匹配固定参数的方法,因为固定参数的方法匹配度更高。另外,Java 的可变参数编译后实际会被转换成一个数组。

注释有哪几种?注释越多越好吗?
    单行注释多行注释文档注释

在我们编写代码的时候,如果代码量比较少,我们自己或者团队其他成员还可以很轻易地看懂代码,但是当项目结构一旦复杂起来,我们就需要用到注释了。注释并不会执行(编译器在编译代码之前会把代码中的所有注释抹掉,字节码中不保留注释),是我们程序员写给自己看的,注释是你的代码说明书,能够帮助看代码的人快速地理清代码之间的逻辑关系。因此,在写程序的时候随手加上注释是一个非常好的习惯。

《Clean Code》这本书明确指出:

代码的注释不是越详细越好。实际上好的代码本身就是注释,我们要尽量规范和美化自己的代码来减少不必要的注释。

若编程语言足够有表达力,就不需要注释,尽量通过代码来阐述。

举个例子:

去掉下面复杂的注释,只需要创建一个与注释所言同一事物的函数即可

// check to see if the employee is eligible for full benefits
if ((employee.flags & HOURLY_FLAG) && (employee.age > 65))

应替换为

if (employee.isEligibleForFullBenefits())
标识符和关键字的区别是什么?

标识符就是我们编写程序时为程序、类、变量、方法等取的名字。但是有一些标识符,已经被Java赋予了特殊的含义,只能用于特殊的地方,这种特殊的标识符就是关键字。因此也可以说,关键字是特殊的标识符。

Java 中有哪些常见的关键字?
分类关键字
访问控制privateprotectedpublic
类,方法和变量修饰符abstractclassextendsfinalimplementsinterfacenative
newstaticstrictfpsynchronizedtransientvolatile
程序控制breakcontinuereturndowhileifelse
forinstanceofswitchcasedefault
错误处理trycatchthrowthrowsfinally
包相关importpackage
基本类型booleanbytechardoublefloatintlong
shortnulltruefalse
变量引用superthisvoid
保留字gotoconst
访问权限控制

Java语言提供了很多修饰符,主要分为以下两类:

访问修饰符非访问修饰符

其中非访问修饰符主要有:static、final、abstract、synchronized和volatile,非访问修饰符根据各自的特性来保证特定功能的实现。

Java中使用访问控制符来保护对类、变量、方法和构造方法的访问,访问控制修饰符对应的权限控制的大小情况为:public > protected > default(包访问权限) > private。

public : 对所有类可见

使用对象:类、接口、变量、方法

protected : 对同一包内的类和所有子类可见

使用对象:变量、方法。 注意:不能修饰类(外部类)

子类与基类在同一包中:被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问;子类与基类不在同一包中:在子类中,子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例的protected方法

default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符

使用对象:类、接口、变量、方法。

private : 在本类中可见

使用对象:变量、方法。 注意:不能修饰类(外部类)

自增自减运算符

++和–运算符可以放在变量之前,也可以放在变量之后;当运算符放在变量之前时(前缀),先自增/减,再赋值;当运算符放在变量之后时(后缀),先赋值,再自增/减。例如,当 b = ++a 时,先自增(自己增加 1),再赋值(赋值给 b);当 b = a++ 时,先赋值(赋值给 b),再自增(自己增加 1)。也就是,++a 输出的是 a+1 的值,a++输出的是 a 值。用一句口诀就是:“符号在前就先加/减,符号在后就后加/减”

continue、break、return的区别

continue:结束本次循环,直接进行下一次循环

break:在循环体类结束整个循环过程

return:用于跳出所在方法,结束该方法的运行

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/734951.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号