Java基础和面试题-语言特点,保留字,数据类型
本文主要是一些java 面试基础,和常考点。
一、java 语言的特点:
Java是一种具有简单,面向对象,分布式,解释型,健壮,安全,与体系结构无关,可移植性,高性能,多线程和动态执行等特点的语言。
1)解释型语言与编译型语言
有的编程语言要求必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(比如 Windows 下的 .exe 文件),比如C语言、C++、Golang、汇编语言等,它们都属于编译型语言,使用的转换工具称为编译器。
有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如 Python、JavaScript、PHP、Shell 等,这类编程语言称为解释型语言,使用的转换工具称为解释器。。
java是解释型,也是编译型,编译成的字节码文件由java 虚拟机在不同的操作系统上执行。
2)高效:
通常解释型语言的执行效率低于直接执行机器代码的速度,但是java字节码文件转换成机器码非常简便和高效,很好的弥补了这方面的差距
3)分布式:
分布式的典型特征是:物理上分布,逻辑上同一。
4)Java语言区分大小写。
5)Java语言
中不允许将数字转换成bool值(在C和C++中是允许的)
6)Java使用Unicode字符集
这种字符集中每个字符用两个字节也就是16位表示,这样字符集功包含65535个字符。前面256个字符表示ASCII码,后面的字符可以用来表示亚洲文字。
二、常见的的几个保留字(也成为关键字)
1.final
1)修饰常量
如:
final int NUM=5;
2)修饰方法
该方法称为最终方法,在子类中不能被覆盖,保证程序的安全性和正确性。是最终类,没有子类。
2.static修饰符
1)用static 修饰的域变量不属于任何一个具体的类对象,而专属于类。
特点是,它被保存在类的内存区(堆中)的公共存储单元中,而不是保存在某个对象的内存区中,因此,一个类的任何对象访问它时候,存取到的都是相同的数值。
2)用static修饰的方法
称为静态方法,它属于类方法,不属于类的任何对象。
可以被所有对象访问;
static内部的代码,只能访问类中的static属性或者方法,不能访问类中的非static方法或属性(因为他们属于对象),但是非static方法(对象方法)可以访问static属性或方法。
3)main方法是特殊的静态方法。
3.this用法
this用法有三种
1)this.域变量、this.成员方法
形参名和域变量名字相同,或者是成员方法的局部变量名和域变量名相同时候,在方法内借助this来明确指的是的域变量(代码中表现是就近原则。)
2)this(参数)
引用重载的构造方法
3)this指代当前对象。
4.super的用法
super能指代父类中的域变量或者方法。(构造器构造的时候可以明显体现这个功能)
常见用法
1)super.域变量、super.成员方法(参数)
2)super(参数)-构造方法的继承。
三、基本数据类型
1.布尔类型
booblean b=true;
2.字符类型和字符常量
占位:16位
范围:0-65535
char c='a';//单引号引起来的一个字符是字符常量。
3.整数类型和整数常量
整数常量类型有十进制,八进制(以0开头),十六进制(以0X/0x开头)三种表示方法。
整数变量类型有byte(8),short(16),int(32),long(64)。
注意:溢出问题,类型不兼容问题。
4.浮点类型和浮点常量
浮点常量有十进制和科学计数法两种表示方法
浮点变量类型有float(32),double (64)。
5.字符串类型和字符串常量
字符串类型用双引号引起的字符序列。
字符串变量用String表示,String不是基本数据类型,而是一个类(class)