傻大方


首页 > 知识库 > >

JAVA|JAVA基础知识点总结


按关键词阅读: 总结 知识点 基础 java

1、JAVA基础知识点总结第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运行环境 , 运行JAVA程序所必须的环境的集合 , 包含JVM标准实现及Java核心类库 。
3) JVM是什 。

3、么?JVM (Java Virtual Machine) Java虚拟机 , 它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的 。
4) 安装JDK的操作系统问题?必须针对于不同的操作系统下载安装不同的JDK , 例如windows下安装针对于windows的JDK , linux下安装针对于linux的JDK 。
5) 需要配置的相关环境变量?path:用于搜索外部命令 , 例如编译程序的javac命令 , 执行程序的java命令classpath:用于搜索类 , 即class文件 , 例如可以在不同的位置执行类文件6) 配置环境变量的方式?有两种:临时配置和持久配置临时配置:在命令行下用set。

4、变量名=变量值, 仅在当前命令行窗口有效持久配置:在我的电脑属性中配置 , 持久有效7) 可以编写Java程序的常见开发工具?记事本 , EditPlus , ULTRAEDIT , Eclipse , Jbuilder , NetBeans8) Java文件的类型?有两种:扩展名为java的文件:是Java源文件 , 属于编译之前的纯文本文件 , 存储java源代码 。
扩展名为class的文件:是Java类文件 , 属于编译之后的二进制文件 , 存储字节码 。
9) Java的编译运行原理?首先编写java源文件 , 然后编译成class类文件 , 然后通过虚拟机解释成机器码到硬件执行 。
10) Java是编译型语言还是解释型的语言?既不是完全编 。

5、译型 , 也不是完全解释型 , 是半编译半解释的 。
第3章 Java程序的基本结构1) Java语言区分大小写吗?区分 , 不管是数据还是标识符或者关键字都区分大小写 , 例如public不能写成Public , “abc”不能写成“ABC” , int i不能写成INT I等等 。
2) main方法是作什么用处的?这是程序的入口方法 , 是由虚拟机自动调用的 。
3) 语句必须用分号结束吗?必须的 , 但是代码块可以用分号结束 , 也可以不用分号结束4) Java中有几种注释 , 各自的功能有三种:单行注释/:加在行首只能注释一行多行注释/* */:注释多行 , 但不能嵌套使用文档注释/* */:用于生成HTML形式的文档 , 需要配合javad 。

6、oc命令实现5) Java语言的数据类型是强类型还是弱类型?是强类型 , 意味着每一个变量都必须明确声明数据类型 。
6) Java语言中数据类型的划分?有什么区别?分成基本类型和引用类型两大类 。
基本类型:有8种 , 只能存储单一的值 , 不以对象的形式存在引用类型:除了基本类型之外其他的都是引用类型 , 能够存储复杂数据类型 , 以对象的形式存在7) 基本类型都有哪8种类型?布尔类型:boolean 占1字节字符类型:char 占2字节整型:byte 占1字节 short 占2字节 int 占4字节 long 占8字节浮点型:float 占4字节 double 占8字节8) 布尔值可不可以用0或者非0数代替?不可以 。

7、 , 布尔值只能是true和false , 不能使用数字 , 这和C语言是不一样的 。
9) 直接写个整数10默认是什么类型的?整型的直接量例如10 , 100等默认的数据类型都是int型10) 如何让一个整型的直接量变成long型的?在直接量后面加大写L后者小写l , 例如10L11) 整型数据在程序中直接使用可以使用什么进制?10进制, 8进制, 16进制, 但不能使用二进制12) 浮点运算在Java中有没有误差?有误差 , 所以精密运算请使用BigDecimal类13) 直接写一个3.14的直接量是什么数据类型的?是double型 , 如果想表示是float的3.14必须写成3.14F或者3.14f , double型的3 。

8、.14也可以写成3.14D14) char型采取的是什么类型的字符集?是Unicode全球统一编码 , 支持任何世界上官方的语言中的字符15) 常见的转义字符有哪些?转义序列名称b退格t制表n换行r回车”双引号单引号反斜杠16) 常见的Unicode字符对应的编码?大写的A到Z是对应65到90 , 小写的a到z是对应97到122 , 字符0到9是对应48到5717) 空字符是不是用(两个并列的单引号)来表示?不是 , 空字符用u0000来表示 , 两个并列的单引号什么也不是 。
18) 点,分号,花括号的各自的作用?点的作用有两个:一个是使用类或对象中的成员 , 用对象.成员 , 再一个就是包名和子包名之间的分隔符 , 例如顶层 。

9、包名.子包名分号的作用是表示语句结束花括号的作用是代表一个语句块19) 语句和关键字之间可以有任意的空白吗?可以的 , 例如System.out.println(100);
就是正确的语句 , 但是关键字本身不能加空白或换行20) 标识符是什么?标识符就是指在程序中给包 , 类 , 接口 , 方法 , 变量起的名字21) 标识符有什么起名规则?1 应以字母、下划线、美元符开头2 后跟字母、下划线、美元符或数字3 不能用关键字和保留字4 严格区分大小写5 名称长度没有限制22) 中文的变量名可以吗?是可以的 , 例如 int 数字 = 10;
这个语句是正确的 。
因为java中采取Unicode字符集 , 所以任何的Unicode中 。

10、的字符都可以作为标识符的名称 , 但考虑字符集的支持问题推荐还是使用英文字母命名 。
23) 关键字和保留字有区别吗?在1.5后没有区别 , 都被称作关键字 , 但是1.5之前认为关键字是在Java中有特殊用途的不允许编程人员擅自改作其他用途 , 而保留字是在Java中没有特殊用途但不允许编程人员擅自改作其他用途 , 按此说法goto和const应该是此意义上的保留字 。
24) true , false , null可以用作标识符命名吗?不可以 , 这3个虽然不是关键字 , 但都是有特殊用途的值 , 也不能作为标识符命名25) 一条声明语句可以声明多个变量吗?可以的 , 例如以下声明都是正确的int i;
int i,j;
int i = 10, 。

11、j;
int i,j = 10;
int i = 10,j = 20;
26) 变量在没有赋值的情况下可以使用吗?不可以 , 变量没有赋值使用会报出变量未初始化的编译错误 。
27) 常量有什么特点?在声明变量的时候加上final修饰符即为常量 , 表示这个变量只能被赋一次值 。
28) 算数运算符有哪些?基本算数运算符有+ - * / % + -29) 单目运算符 , 双目运算符 , 三目运算符都是什么意思?其实也有叫一元运算符 , 双元操作符 , 三元操作符的 , 指的是有几个操作数形成一个完整表达式 , 例如+就是一个单目运算符 , 只需要一个操作数就可以形成表达式 , 像i+ , 而+运算符就是双目运算符 , 需要两个操作数形成表达式 , 例如5 + 。

12、 3 , 还有三目运算符 , 例如5 3 ? 0 : -130) +和-放在前面和放在后面有什么区别?如果是在一个表达式中 , 那+放后面表示先运算表达式 , 然后再进行自增运算 , 如果在一个表达式中 , +放前面 , 则表示先进行自增运算然后在运算表达式 。
-同样道理 。
例如: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 结果 。

13、是不是2.5?不是 , 是2 , 因为5和2都是int类型 , 所以不可能得到double型的结果 。
33) 比较运算符有哪些?有 = = false这个表达式就是编译错误 , 布尔类型和引用类型的表达式只能用=和!=两个比较运算 , 例如”abc” b这个表达式编译正确吗?编译正确 , a和b是字符类型 , 内部用Unicode编码表示的话a是97 , b是98 , 所以实际上比较的是9798 , 结果为false36) 逻辑运算符有哪些?有 &逻辑与 , |逻辑或 , !逻辑非 ,异或 , & 短路与 , |短路或37) 逻辑与 , 逻辑或和短路与 , 短路或有什么区别?逻辑与和短路与的区别是:l 如果是逻辑与& , 不管第一个表达式是true还是false 。

14、 , 都会执行第二个表达式 , 例如a b & x b为false , 也会执行x yl 如果是短路与& , 如果第一个表达式为false , 将不会执行第二个表达式例如a b & x b为false , 就不会执行x y以此类推 , 逻辑或和短路或的区别是:l 如果是逻辑或| , 不管第一个表达式是true还是false , 都会执行第二个表达式l 如果是短路或| , 如果第一个表达式为true , 将不会执行第二个表达式38) 与或非三个逻辑运算符的优先级是怎么排列的?“非”优先级最高 , “与”其次 , “或”优先级最低39) 原码 , 反码 , 补码分别是什么意思?l 原码:将数字转换为二进制 , 第一位为符号位 , 正数为0 , 负数为1例如:12的原码 。

15、是00001100 -12的原码是10001100l 反码:正数的反码和原码相同 , 负数的反码将原码符号位之外的位逐位取反例如:12的反码是00001100 -12的反码是11110011l 补码:正数的补码和原码相同 , 负数的补码将反码加1例如:12的补码是00001100 -12的补码是11110100最后强调一点 , 计算机存储数据用补码形式来存储 。
40) 位运算符都有哪些?&与 |或 异或 非 右移 无符号右移41) 1表示什么意思?表示绑定的类型必须是A类型后者是A类型的子类或实现类第7章 接口和内部类1) 声明一个接口的关键字是什么?interface关键字2) 接口中的成员有什么特点?数 。

16、据域必须是(public static final修饰)公有静态常量方法必须是(public abstract修饰)公有抽象没有构造方法3) 接口能创建对象实例吗?不能 , 接口没有构造器 , 不能创建对象4) 接口和类的关系?接口和类之间是实现关系 , 一个类用implements语句实现了某接口 , 这个类被称为接口的实现类 , 一个类可以实现多个接口 , 一个类实现了某接口 , 必须覆盖这个接口中的所以方法 , 否则这个类必须是个抽象类5) 接口和接口的关系?接口和接口之间是继承关系 , 一个接口用extends继承另外一个接口 , 称为这个接口的子接口 。
一个接口可以继承多个父接口6) 内部类如何定义?一个类声明在另一个类的里 。

17、面 , 这个类就被称为内部类 , 而外面的类被称为外部类7) 内部类可以分成几种?实例内部类:声明在方法外边没有static修饰符静态内部类:声明在方法外边有static修饰符局部内部类:声明在方法里边8) 如何创建实例内部类的对象实例?需要用外部类的对象来创建例如:class A class B 如果像创建B类的实例 , 则必须用以下语句:A a = new A();
A.B b = a.new B();
9) 如何在实例内部类中访问外部类的成员?在实例内部类中可以直接使用外部类的成员 , 不需要创建外部类的对象实例 , 但是如果在内部类中的成员名称屏蔽隐藏了外部类的成员(即外部类和内部类的成员名相同) , 则需要用“ 。

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

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

20、关的类型都有哪些?Class 代表一个运行时类Field 代表一个类的属性Method 代表一个类的方法Constructor 代笔一个类的构造器3) 如何声明一个自定义标注? interface 返回值方法名称();返回值方法名称();例如:public interface MyComment int id();
String info();
4) java有几个内置标注?有3个Override用于修饰此方法覆盖了父类的方法 , 而非重载 。
Deprecated用于修饰已经过时的方法 。
SuppressWarnings用于通知Java编译器禁止特定的警告 。
第10章 java常用类1) 字符串String 。

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

22、别?StringBuffer类是线程安全的 , StringBuilder类是线程不安全的5) Math类主要提供了哪些方法?Math类提供了大量的和数学运算相关的静态方法6) Set集合和List集合共同的父接口是什么?是Collection集合7) Set集合和List集合有什么区别?Set: Collection的子接口 , 不记录元素的保存顺序 , 且不允许有重复元素List: Collection的子接口 , 记录元素的保存顺序 , 且允许有重复元素8) ArrayList和LinkedList有什么不同?ArrayList 的内部实现是基于内部数组Object , 所以从概念上讲它更像数组LinkedLi 。

【JAVA|JAVA基础知识点总结】23、st的内部实现是基于一组连接的记录 , 所以它更象一个链表 结构 , 所以它们在性能上有很大的差别 。
ArrayList 随机访问比较块 , 但插入和删除元素比较慢LinkedList但插入和删除元素比较快 , 但随机访问比较慢9) HashTable和HashMap有什么不同?HashTable是线程安全的 , HashMap是线程不安全的10) Vector和ArrayList有什么不同?Vector是线程安全的ArrayList是线程不安全的第11章 IO流1) 流分成哪两类?按照单位划分分成字节流和字符流 。
按输入输出分成输入流和输出流2) 和文件流相关的有那几个类?FileInputStream文件输入字节 。

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


    来源:(未知)

    【学习资料】网址:/a/2021/0121/0021123998.html

    标题:JAVA|JAVA基础知识点总结


    上一篇:党团范文|党团范文 自然人独资公司的利弊_有关自然人独资的承诺书

    下一篇:关于2021医养结合模式的调研报告