欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

面试之基础语法(上)

时间:2023-06-21
字符型常量和字符串常量的区别? 形式 : 字符常量是单引号引起的一个字符,字符串常量是双引号引起的 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 benefitsif ((employee.flags & HOURLY_FLAG) && (employee.age > 65))

应替换为

if (employee.isEligibleForFullBenefits())

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

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

Java 中有哪些常见的关键字? 分类关键字访问控制privateprotectedpublic类,方法和变量修饰符abstractclassextendsfinalimplementsinterfacenativenewstaticstrictfpsynchronizedtransientvolatile程序控制breakcontinuereturndowhileifelseforinstanceofswitchcasedefault错误处理trycatchthrowthrowsfinally包相关importpackage基本类型booleanbytechardoublefloatintlongshortnulltruefalse变量引用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:用于跳出所在方法,结束该方法的运行

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。