收藏 分享(赏)

JAVA基础知识点总结.doc

上传人:sjmd695 文档编号:7760760 上传时间:2019-05-25 格式:DOC 页数:19 大小:170.50KB
下载 相关 举报
JAVA基础知识点总结.doc_第1页
第1页 / 共19页
JAVA基础知识点总结.doc_第2页
第2页 / 共19页
JAVA基础知识点总结.doc_第3页
第3页 / 共19页
JAVA基础知识点总结.doc_第4页
第4页 / 共19页
JAVA基础知识点总结.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、JAVA 基础知识点总结2第 1 章 Java 程序设计概述1) 开发 Java 语言的公司?Sun (Sun Microsystems)太阳微电子公司开发2) Java 的 3 个版本?J2SE(Java2 Standard Edition) 标 准 版 J2EE(Java 2 Platform,Enterprise Edition) 企 业 版J2ME(Java 2 Micro Edition) 微 小 版在 5.0 以 后 新 版 本 中 称 作 : JavaSE JavaEE JavaME3) Java 语言的几个主要特点?平台无关性:能运行于不同的平台上安全性:去掉了指针操作,内存由

2、操作系统分配面向对象:利用类使程序更加利于维护分布式:可以使用网络文件和使用本机文件一样容易健壮性:检查程序编译和运行的错误4) Java 的三大核心机制虚拟机机制:利用虚拟机解释字节码执行 java 程序实现跨平台垃圾收集机制:自动内存回收代码安全性机制:加载代码后校验代码后再执行代码第 2 章 Java 语言的开发环境1) JDK 是什么?JDK(Java Development Kit)Java 开发工具包。包括了 JRE,是开发 Java 的人员必备的开发运行Java 程序的工具。2) JRE 是什么?JRE(Java Runtime Environment)Java 运行环境,运行

3、JAVA 程序所必须的环境的集合,包含JVM 标准实现及 Java 核心类库。3) JVM 是什么?JVM (Java Virtual Machine) Java 虚拟机,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。4) 安装 JDK 的操作系统问题?必须针对于不同的操作系统下载安装不同的 JDK,例如 windows 下安装针对于 windows 的JDK,linux 下安装针对于 linux 的 JDK。5) 需要配置的相关环境变量?3path:用于搜索外部命令,例如编译程序的 javac 命令,执行程序的 java 命令classpath:用于搜索类,

4、即 class 文件,例如可以在不同的位置执行类文件6) 配置环境变量的方式?有两种:临时配置和持久配置临时配置:在命令行下用 set 变量名=变量值 ,仅在当前命令行窗口有效持久配置:在我的电脑属性中配置,持久有效7) 可以编写 Java 程序的常见开发工具?记事本,EditPlus,ULTRAEDIT,Eclipse,Jbuilder,NetBeans8) Java 文件的类型?有两种:扩展名为 java 的文件:是 Java 源文件,属于编译之前的纯文本文件,存储 java 源代码。扩展名为 class 的文件:是 Java 类文件,属于编译之后的二进制文件,存储字节码。9) Java

5、的编译运行原理?首先编写 java 源文件,然后编译成 class 类文件,然后通过虚拟机解释成机器码到硬件执行。10) Java 是编译型语言还是解释型的语言?既不是完全编译型,也不是完全解释型,是半编译半解释的。第 3 章 Java 程序的基本结构1) Java 语言区分大小写吗?区分,不管是数据还是标识符或者关键字都区分大小写,例如 public 不能写成 Public, “abc ”不能写成“ABC ”,int i 不能写成 INT I 等等。2) main 方法是作什么用处的?这是程序的入口方法,是由虚拟机自动调用的。3) 语句必须用分号结束吗?必须的,但是代码块可以用分号结束,也可

6、以不用分号结束4) Java 中有几种注释,各自的功能有三种:单行注释/:加在行首只能注释一行多行注释/* */:注释多行,但不能嵌套使用文档注释/* */:用于生成 HTML 形式的文档,需要配合 javadoc 命令实现5) Java 语言的数据类型是强类型还是弱类型?是强类型,意味着每一个变量都必须明确声明数据类型。6) Java 语言中数据类型的划分?有什么区别?4分成基本类型和引用类型两大类。基本类型:有 8 种,只能存储单一的值,不以对象的形式存在引用类型:除了基本类型之外其他的都是引用类型,能够存储复杂数据类型,以对象的形式存在7) 基本类型都有哪 8 种类型?布尔类型:bool

7、ean 占 1 字节字符类型:char 占 2 字节整型:byte 占 1 字节 short 占 2 字节 int 占 4 字节 long 占 8 字节浮点型:float 占 4 字节 double 占 8 字节8) 布尔值可不可以用 0 或者非 0 数代替?不可以,布尔值只能是 true 和 false,不能使用数字,这和 C 语言是不一样的。9) 直接写个整数 10 默认是什么类型的?整型的直接量例如 10,100 等默认的数据类型都是 int 型10) 如何让一个整型的直接量变成 long 型的?在直接量后面加大写 L 后者小写 l,例如 10L11) 整型数据在程序中直接使用可以使用什

8、么进制?10 进制 ,8 进制 ,16 进制 ,但不能使用二进制12) 浮点运算在 Java 中有没有误差?有误差,所以精密运算请使用 BigDecimal 类13) 直接写一个 3.14 的直接量是什么数据类型的?是 double 型,如果想表示是 float 的 3.14 必须写成 3.14F 或者 3.14f,double 型的 3.14 也可以写成 3.14D14) char 型采取的是什么类型的字符集?是 Unicode 全球统一编码,支持任何世界上官方的语言中的字符15) 常见的转义字符有哪些?转义序列 名称b 退格t 制表n 换行r 回车” 双引号 单引号 反斜杠516) 常见的

9、 Unicode 字符对应的编码?大写的 A 到 Z 是对应 65 到 90,小写的 a 到 z 是对应 97 到 122,字符 0 到 9 是对应 48 到 5717) 空字符是不是用(两个并列的单引号)来表示?不是,空字符用u0000来表示,两个并列的单引号什么也不是。18) 点,分号,花括号的各自的作用?点的作用有两个:一个是使用类或对象中的成员,用对象.成员,再一个就是包名和子包名之间的分隔符,例如顶层包名.子包名分号的作用是表示语句结束花括号的作用是代表一个语句块19) 语句和关键字之间可以有任意的空白吗?可以的,例如 System.out. println(100);就是正确的语句

10、,但是关键字本身不能加空白或换行20) 标识符是什么?标识符就是指在程序中给包,类,接口,方法,变量起的名字21) 标识符有什么起名规则?1 应以字母、下划线、美元符开头2 后跟字母、下划线、美元符或数字3 不能用关键字和保留字4 严格区分大小写5 名称长度没有限制22) 中文的变量名可以吗?是可以的,例如 int 数字 = 10;这个语句是正确的。因为 java 中采取 Unicode 字符集,所以任何的 Unicode 中的字符都可以作为标识符的名称,但考虑字符集的支持问题推荐还是使用英文字母命名。23) 关键字和保留字有区别吗?在 1.5 后没有区别,都被称作关键字,但是 1.5 之前认

11、为关键字是在 Java 中有特殊用途的不允许编程人员擅自改作其他用途,而保留字是在 Java 中没有特殊用途但不允许编程人员擅自改作其他用途,按此说法 goto 和 const 应该是此意义上的保留字。24) true,false ,null 可以用作标识符命名吗?不可以,这 3 个虽然不是关键字,但都是有特殊用途的值,也不能作为标识符命名25) 一条声明语句可以声明多个变量吗?可以的,例如以下声明都是正确的int i;int i,j;int i = 10,j;int i,j = 10;int i = 10,j = 20;626) 变量在没有赋值的情况下可以使用吗?不可以,变量没有赋值使用会报

12、出变量未初始化的编译错误。27) 常量有什么特点?在声明变量的时候加上 final 修饰符即为常量,表示这个变量只能被赋一次值。28) 算数运算符有哪些?基本算数运算符有+ - * / % + -29) 单目运算符,双目运算符,三目运算符都是什么意思?其实也有叫一元运算符,双元操作符,三元操作符的,指的是有几个操作数形成一个完整表达式,例如+ 就是一个单目运算符,只需要一个操作数就可以形成表达式,像 i+,而+运算符就是双目运算符,需要两个操作数形成表达式,例如 5 + 3,还有三目运算符,例如 5 3 ? 0 : -130) +和-放在前面和放在后面有什么区别?如果是在一个表达式中,那+放后

13、面表示先运算表达式,然后再进行自增运算,如果在一个表达式中,+ 放前面,则表示先进行自增运算然后在运算表达式。-同样道理。例如:int i = 10;int j = i +; /先进行赋值运算然后再进行自增运算j的结果是10int i = 10;int j = + i ; /先进行自增运算然后再进行赋值运算j的结果是1131) -5 % 2 等于几,5 % -2 等于几?-5 % 2 等于-1 ,5%-2 等于 1,运算得到是正数还是负数取决于第一个操作数的符号32) 5 / 2 结果是不是 2.5?不是,是 2,因为 5 和 2 都是 int 类型,所以不可能得到 double 型的结果。3

14、3) 比较运算符有哪些?有 = = false 这个表达式就是编译错误,布尔类型和引用类型的表达式只能用= 和!=两个比较运算,例如”abc” b这个表达式编译正确吗?编译正确,a和b是字符类型,内部用 Unicode 编码表示的话 a 是 97,b 是 98,所以实际上比较的是 9798,结果为 false36) 逻辑运算符有哪些?有 A.B b = a.new B();9) 如何在实例内部类中访问外部类的成员?在实例内部类中可以直接使用外部类的成员,不需要创建外部类的对象实例,但是如果在内部类中的成员名称屏蔽隐藏了外部类的成员(即外部类和内部类的成员名相同),则需要用“外16部类名.thi

15、s. 成员名 ”访问外部类成员第 8 章 异常处理1) 异常的对象的根类是哪个类?是 Throwable 类2) Throwable 类有哪两个分支?分成 Error 类和 Excepion 类两个分支Error 类表示严重错误Exception 类表示可以在程序中处理的错误3) Exception 类有哪两个分支?分成运行时异常和非运行时异常(已检查异常)运行时异常编译不检查,在运行时才会发生异常已检查异常编译时就会作检查,不处理异常则通不过编译4) 如果在 try 块中发生异常,那么程序将会跳转到哪?会跳转到 catch 语句块5) catch 语句可以用父类类型捕获子类异常吗?因为有多态

16、特点,是可以的6) 处理异常代码 finally 语句会在什么时候执行?finally 代码在任何时候都会执行,不管有没有发生异常。7) 如何声明已检查异常,由谁来处理这个异常?用 throws 语句来声明一个已检查异常,由方法的调用者来处理这个异常8) 如何抛出一个异常?用 throw 语句抛出9) 如何创建一个自定义的异常类?创建一个类,只要让它继承任何一个现有的异常类就可以了10) 覆盖方法对于异常有什么要求?覆盖方法不能比父类方法抛出更多异常17第 9 章 反射,代理,标注1) 获得一个类型的 Class 对象有哪几种途径?方法 1:对象.getClass()方法 2:类型名.clas

17、s方法 3:Class.forName()2) 反射相关的类型都有哪些?Class 代表一个运行时类Field 代表一个类的属性Method 代表一个类的方法Constructor 代笔一个类的构造器3) 如何声明一个自定义标注? interface 返回值方法名称();返回值方法名称();例如:public interface MyComment int id();String info();4) java 有几个内置标注?有 3 个Override用于修饰此方法覆盖了父类的方法,而非重载。Deprecated用于修饰已经过时的方法。SuppressWarnings用于通知 Java 编译器

18、禁止特定的警告。第 10 章 java 常用类1) 字符串 String 是可变类还是不可变类?是不可变类,一经创建就不能修改其内容了2) 字符串的常用方法有哪些?charAt 方法:可以返回指定位置的字符substring 方法:可以截取子字符串length 方法:返回字符串长度indexOf 方法:查找子串的位置lastIndexOf 方法:反向搜索字串的位置replaceAll 方法:替换字符串split 方法:分解字符串18toLowerCase, toUpperCase 方法:字符串大小写转换3) StringBuffer 类和 String 类有什么区别?StringBuffer

19、是可变类, String 是不可变类4) StringBuffer 类和 StringBuilder 类有什么区别?StringBuffer 类是线程安全的,StringBuilder 类是线程不安全的5) Math 类主要提供了哪些方法?Math 类提供了大量的和数学运算相关的静态方法6) Set 集合和 List 集合共同的父接口是什么?是 Collection 集合7) Set 集合和 List 集合有什么区别?Set: Collection 的子接口,不记录元素的保存顺序,且不允许有重复元素List: Collection 的子接口,记录元素的保存顺序,且允许有重复元素8) Array

20、List 和 LinkedList 有什么不同?ArrayList 的内部实现是基于内部数组 Object,所以从概念上讲它更像数组LinkedList 的内部实现是基于一组连接的记录,所以它更象一个链表 结构,所以它们在性能上有很大的差别。ArrayList 随机访问比较块,但插入和删除元素比较慢LinkedList 但插入和删除元素比较快,但随机访问比较慢9) HashTable 和 HashMap 有什么不同?HashTable 是线程安全的,HashMap 是线程不安全的10) Vector 和 ArrayList 有什么不同?Vector 是线程安全的 ArrayList 是线程不安

21、全的第 11 章 IO 流1) 流分成哪两类?按照单位划分分成字节流和字符流。按输入输出分成输入流和输出流2) 和文件流相关的有那几个类?FileInputStream 文件输入字节流FileOutputStream 文件输出字节流FileReader 文件输入字符流FileWriter 文件输出字符流3) 文件流操作应该用字节流还是字符流?19如果是纯文本文件应该用字符流如果是二进制文件应该用字节流4) 文件操作用哪个类?用 java.io.File 类第 12 章 GUI 图形编程第 13 章 线程1) 创建一个线程类的两种方式?继承 Thread 类实现 Runnable 接口2) 线程体应该放在哪个方法里面?run 方法3) 启动新的线程用什么方法?用 start 方法4) 一个线程对象能够用 start 多次启动吗?不可以,一个线程方法只能 start 一次5) 线程有哪几种主要状态?有四种,分别是:新生状态,可运行状态,阻塞状态,死亡状态6) 线程的同步需要用什么方法?旧的方法是用 synchronized 关键字新的方法是用 ReentrantLock 类的 lock 和 unlock 方法

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报