1、Java语言有哪些特点?
1.简单容易学,有丰富的类库。
2.面向对象(Java最重要的特性,低耦合高内聚)
3.平台无关(JVM)
4.可靠安全
5.支持多线程
2、面向对象和面向过程的区别?
面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调用即可。性能高,所以单片机,嵌入式开发一般采用面向过程开发(资源有限的硬件)。
面向对象:把构成问题的事务分解为各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。面向对象有封装、继承、多态的特性,所以易于维护,易于复用,易于扩展。可以设计出低耦合的系统。但是性能不如面向过程。
3、八种基本数据类型的大小,以及它们的封装类。(不像C与具体的编译器实现有关)
|
大小(字节) |
默认值 |
封装类 | |
|
byte |
1 |
(byte)0 |
Byte |
|
short |
2 |
(short)0 |
Short |
|
int |
4 |
0 |
Integer |
|
long |
8 |
0L |
Long |
|
float |
4 |
0.0f |
Float |
|
double |
8 |
0.0d |
Double |
|
boolean |
- |
false |
Boolean |
|
char |
2 |
\u0000(null) |
Character |
注:
- int是基本数据类型,Integer是int的封装类,是引用类型。int默认值是0,而Integer默认值是null,所以Integer能区分出0和null的情况。一旦java看到null,就知道这个引用还没有指向某个对象,再任何引用使用前,必须为其指定一个对象,否则会报错。
- 基本数据类型在声明时系统会自动给它分配空间,而引用类型声明时只是分配了引用空间, 必须通过实例化开辟数据空间之后才可以赋值。数组对象也是一个引用对象,将一个数组赋值给另 一个数组时只是复制了一个引用,所以通过某一个数组所做的修改在另一个数组中也看的见。
-
虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java 虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字 节。使用int的原因是,对于当下32位的处理器(CPU)来说,一次处理数据是32位(这里不是指的 是32/64位系统,而是指CPU硬件层面),具有高效存取的特点。
4.标识符的命令规则。
标识符的含义: 是指在程序中,我们自己定义的内容,譬如,类的名字,方法名称以及变量名称等等,都是标识符。
命名规则:(硬性要求)标识符可以包含英文字母,0-9的数字,$以及_标识符不能以数字开头标识符不是关键字(记一个典型错误2b,不但不道德,而且不符合规则)。
命名规范:(非硬性)类名规范:首字母大写,后面每个单词首字母大写(大驼峰)。变量名规范:首字母小写,后面大写(小驼峰)。方法名和变量名规范一样(可以理解为一个是函数的名字一个是变量的名字。都是在一个文件内的命名一致,但是类名是和文件名相关的)。
5、instanceof关键字的作用
instanceof总的来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:
boolean result = obj instanceof Class;
其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。
注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定类型,则通过编译,具体看运行时定。
1365

被折叠的 条评论
为什么被折叠?



