最近因为一个朋友想要学习Java,在帮助他找教程的过程中回想到了我自己当年学习Java的那段岁月,故写了此篇文章总结了一下初学Java所必须要掌握的知识点,然后把一部分常见的面试题罗列出来。给予刚刚开始学习Java的同学做一个参考。

程序语言简史

最初由0,1组成的机器语言变成了简单指令的汇编语言,最后才是高级语言。而高级语言又分为面向过程语言与面向对象语言两种。而Java就是典型的面向对象语言。

question:

你知道哪些高级语言?

他们分别是面向过程还是面向对象呢?

程序的工作原理

因为计算机只认识机器语言,所以我们写出的代码想要被计算机执行必须有一个转换的过程。这个转换的过程分为两种:编译执行,解释执行。

question:

你知道什么是编译执行和解释执行么?

你知道他们各自的好处么?

你知道Java是如何执行的么?

初识Java

Java语言的发展历程、Java这个名字的来历、J2EE、J2SE、J2ME。还有最经典的一句话:Compile once and run everywhere

question:

你知道J2EE、J2SE、J2ME分别适用于什么场景么?

为什么Java可以一次编译到处运行呢?

Java语言的特性都是有什么?

HelloWord

JDK的下载和安装,环境变量的配置,HelloWord代码,javac、java命令,Java程序的基本结构

1
2
3
4
5
public class HelloJava {  
public static void main(String[] args){
System.out.println("Hello world!");
}
}
question:

你知道JDK每个文件夹的作用是什么吗?

jdk和jre的区别是什么?

public static void main(String[] args)每个关键字是什么意思?

数据类型

常量、变量、标识符、数据类型、保留字、溢出、命名规则、变量类型转换

question

8大基本数据类型都有什么?

8大基本类型的数值范围是什么?

8大基本类型所占的内存空间分别是多少?

什么是强制类型转换和自动转换?

运算符

算术运算符、逻辑运算符、关系运算符、递增递减运算符、三目运算符、运算符的顺序

question:

多级运算符组合使用计算结果你会了么?

++i和i++的区别是什么?

条件判断

if、else if、else、switch、case、continue、break、label

question:

continue和break的作用是什么?

if后面不加括号的话会如何?

switch都是支持什么数据类型?

循环

do-while、while、for、嵌套循环

question:

do-while和while的区别是什么?

数组

一维数组、二维数组、数组下标、数组下标越界

question:

数组的下标从什么开始的?

什么情况下会引起数组下标越界?

面向对象

类的概念、对象的概念、类的成员变量和方法、static关键字、创建使用清除对象、构造
方法、重载、方法调用参数和返回值、访问控制符、内部类

question:

一个方法是void表示什么?

Java方法中参数传递是值传递还是引用传递?

static变量和方法是什么时候初始化的?

访问修饰符都是有哪些?

怎么样进行方法重载?

深入面向对象

继承、重写、抽象类、多态、this关键字、super关键字、对象的转型、接口

question:

重载和重写的区别是什么?

抽象类和接口的区别是什么?

一个类可以继承多个类么?

子类会继承父类所有的成员变量和方法么?

面向对象的三大特征是什么?

异常

异常的层次结构、异常处理过程、Error和Exception、try-catch-finally、throw、throws

question:

常见的异常都有什么?

异常流程中包含多个return时的程序处理流程

Error和Exception的区别是什么?

throw和throws的区别是什么?

InputStream、OutputStream、FileInputStream、FileOutputStream、File、FileReader 、FileWriter

question:

字节流和字符流的区别?

什么是序列化?

如何实现序列化?

多线程

Thread、Runnable 、start、run、主线程、系统线程、用户线程、线程的生命、周期、优先级

question:

字节流和字符流的区别?

什么是序列化?

如何实现序列化?

jdbc

mysql的安装、mysql基础命令、jdbc基本API

question:

jdbc的操作步骤是什么?

相对于Statement,PreparedStatement的优点是什么?

以上所有内容仅仅是学习Java的最最基础的知识,如果你是Java初学者,当你完成了以上内容的学习的时候请你保持自我继续坚持下去,因为后面还有很多知识在等待着你。例如:jsp、servlet、SSM框架、Linux基础等等。

初学Java的那段日子的更多相关文章

  1. 初学 Java Web 开发,请远离各种框架,从 Servlet 开发

    Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践.很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处 理有关,形成一个基础,在开发别的应用项目的时候则可以从 ...

  2. 初学Java web(转)

    转自 http://www.oschina.net/question/12_52027 OSCHINA 软件库有一个分类——Web框架,该分类中包含多种编程语言的将近500个项目. Web框架是开发者 ...

  3. 谈初学Java历程

    学习Java一个月左右,本来很早就想好好静下心来写一点东西了.但由于不想手写,文档写了不知道放在哪好,所以一直拖着.最近注册了博客园,还是挺方便的. 即将大学毕业了,则面临了所以大学生所面临的问题,就 ...

  4. 初学java之12 泛型编程的个人理解总结

    首先,强调一个观点: 对于我这样的初学者,一定要站在虚拟机和编译器的角度来分析java 语言的种种特性,泛型也不例外.(我认为这个一条正确的学习经验) 写这篇文章起源于最近在学java,有一天在路上和 ...

  5. 初学Java 精简知识点总结

    面对Java丰富的知识资料,很多初学者难免觉得迷惘,该学什么,怎么去学?下面给大家讲Java基础知识做了精简总结,来帮助你梳理学习思路,赶快看看吧! 方法/步骤1 对象的初始化(1) 非静态对象的初始 ...

  6. 初学JAVA的 感想 尹鑫磊

    开始学习任何一门课(包括java),兴趣最重要.一直觉得自己在学计算机编程语言,学习了很多,但每门语言都停留在知识边缘地带,都没深入到它们的精华部分,对它们的精华部分知之甚少,于是趁学校开设这门课,并 ...

  7. 初学JAVA 感想

    开始学习任何一门课(包括java),兴趣最重要.一直觉得自己在学计算机编程语言,学习了很多,但每门语言都停留在知识边缘地带,都没深入到它们的精华部分,对它们的精华部分知之甚少,于是趁学校开设这门课,并 ...

  8. 初学java注解编程 记录错误及解决办法

    1 :在form表单提交到controller层时 利用hbim的封装的访问数据库 form表单中属性要加上method方法 不然不成功. 2 :在运行eclipse时 有时粘贴个数据或者删除个字段老 ...

  9. 初学JAVA

    通过eclipse开发java程序:1.创建一个java项目 2.创建程序包 3.编写java源程序 4.运行java程序 例如开发"helloworld "java程序: 1.进 ...

随机推荐

  1. SQL语句完整的执行顺序(02)

    这是对SQL语句完整的执行顺序(01)的补充: 数据库是mysql,使用的数据库表名称是my_student. 表的完整数据信息是: 完整语法是: Select [select选项] 字段列表[字段别 ...

  2. SQL语句完整的执行顺序(01)

    一.sql语句的执行步骤:  1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义.  2) 语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限.  3)视图转换,将涉 ...

  3. MySQL数据库快速造大量数据

    这段时间做性能测试,发现数据都是分库写进数据库了,并且要构造大量数据,大概4000万的数据量,用普通的方法,写个MySQL函数,之前测试过,大概200万数据也要跑一个多小时,太慢了. 后面研究发现有个 ...

  4. Knockout 官网学习文档目录

    官网:https://knockoutjs.com/documentation/introduction.html Knockout-Validation: https://github.com/Kn ...

  5. numpy的数组常用运算练习

    import numpy as np # 一维数组 print('==========# 一维数组===========') A = np.array([1, 2, 3, 4]) print(A) # ...

  6. B. Menci 的序列

    题解: 首先subtask1直接状压暴力就好 subtask2我的处理和题解不太一样 仍然正向考虑 设i的时候有最高位为j,那么这个时候数一定越大越好(这个比较好yy) 然后$f[i][j]$搞个高精 ...

  7. 关于 gitignore

    前言 通过在一个 gitignore 文件里面添加相关的规则,我们可以让 git 在追踪文件时忽略一些特定的文件(gitignore 文件泛指所有存放忽略规则的文件,不仅仅是指 .gitignore ...

  8. 前端工具mock的使用 - 造数据模拟网络请求

    前后端同步开发过程中,有时候前端页面完成了,需要等待后端接口完成部署后才能联调. 这个时候如果不想等待,想自己造数据模拟网络请求,这种情况就能用到mock工具了. mock工具可以用在web网站,也能 ...

  9. OpenCV函数学习:alignPtr对齐指针

    转载地址:https://www.tuicool.com/articles/q2QrQr 在某些架构上,只有能被指定数(如4,16)整除的内存地址才能够被访问,否则程序会crash,或者出现错误的结果 ...

  10. 输入a,b,求a^b的所有因子之和

    题目 poj的1845 分解a的质因数a=p1^t1*p2^t1........ 每个质因数对sum的贡献: 当除去质因数p1时的因数和为sum,当计入p1时,因子和变成sum*p1^0+sum*p1 ...