初学Java的那段日子
最近因为一个朋友想要学习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 |
public class HelloJava { |
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的那段日子的更多相关文章
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践.很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处 理有关,形成一个基础,在开发别的应用项目的时候则可以从 ...
- 初学Java web(转)
转自 http://www.oschina.net/question/12_52027 OSCHINA 软件库有一个分类——Web框架,该分类中包含多种编程语言的将近500个项目. Web框架是开发者 ...
- 谈初学Java历程
学习Java一个月左右,本来很早就想好好静下心来写一点东西了.但由于不想手写,文档写了不知道放在哪好,所以一直拖着.最近注册了博客园,还是挺方便的. 即将大学毕业了,则面临了所以大学生所面临的问题,就 ...
- 初学java之12 泛型编程的个人理解总结
首先,强调一个观点: 对于我这样的初学者,一定要站在虚拟机和编译器的角度来分析java 语言的种种特性,泛型也不例外.(我认为这个一条正确的学习经验) 写这篇文章起源于最近在学java,有一天在路上和 ...
- 初学Java 精简知识点总结
面对Java丰富的知识资料,很多初学者难免觉得迷惘,该学什么,怎么去学?下面给大家讲Java基础知识做了精简总结,来帮助你梳理学习思路,赶快看看吧! 方法/步骤1 对象的初始化(1) 非静态对象的初始 ...
- 初学JAVA的 感想 尹鑫磊
开始学习任何一门课(包括java),兴趣最重要.一直觉得自己在学计算机编程语言,学习了很多,但每门语言都停留在知识边缘地带,都没深入到它们的精华部分,对它们的精华部分知之甚少,于是趁学校开设这门课,并 ...
- 初学JAVA 感想
开始学习任何一门课(包括java),兴趣最重要.一直觉得自己在学计算机编程语言,学习了很多,但每门语言都停留在知识边缘地带,都没深入到它们的精华部分,对它们的精华部分知之甚少,于是趁学校开设这门课,并 ...
- 初学java注解编程 记录错误及解决办法
1 :在form表单提交到controller层时 利用hbim的封装的访问数据库 form表单中属性要加上method方法 不然不成功. 2 :在运行eclipse时 有时粘贴个数据或者删除个字段老 ...
- 初学JAVA
通过eclipse开发java程序:1.创建一个java项目 2.创建程序包 3.编写java源程序 4.运行java程序 例如开发"helloworld "java程序: 1.进 ...
随机推荐
- STM32L1X系列GPIO运用
STM32L15x 系列中基本步骤是和STM32F10x相同的 一 配置GPIO 初始化GPIO时我们需要催一下内容进行配置(以下步骤没有必然顺序) 1 创建GPIO结构 GPIO_InitTypeD ...
- EF core的模型映射
在EF core里,可以通过实现IEntityTypeConfiguration来进行映射. 一.官网文档 https://docs.microsoft.com/en-us/ef/core/what- ...
- C++一个类对象的大小计算
计算一个类对象的大小时的规律: 1.空类.单一继承的空类.多重继承的空类所占空间大小为:1(字节,下同): 2.一个类中,虚函数本身.成员函数(包括静态与非静态)和静态数据成员都是不占用类对象的存储空 ...
- 昂贵的聘礼 POJ - 1062(最短路)
年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低要求.酋长说:" ...
- java 堆、栈、方法区/ 类变量、成员变量、局部变量
方法区:类信息.类变量(静态变量和常量).方法 堆:对象.成员变量 栈:局部变量 (1)当程序运行时,首先通过类装载器加载字节码文件,经过解析后装入方法区!在方法区中存了类的各种信息,包括类变量.类常 ...
- 2018-2019-2 网络对抗技术 20162329 Exp6 信息搜集与漏洞扫描
目录 Exp6 信息搜集与漏洞扫描 一.实践原理 1. 间接收集 2. 直接收集 3. 社会工程学 二.间接收集 1. Zoomeye 2. FOFA 3. GHDB 4. whois 5. dig ...
- 用户注册之后,通过网易邮箱服务器(smtp.163.com)发送电子邮箱到注册者邮箱的的确认通知短信.(可根据需求自行调整)
Member 是数据实体,穿过来的也就是当前注册用户的信息. 存储的数据一定要有邮箱信息 private void SendAuthCodeToMember(Member member) ...
- Unity-NGUI UILabel换行
表里填写的是"\n",代码读出来会变成"\\n", 那就需要代码中将 "\\n" 重新变成 "\n" 才能够换行. st ...
- C\C++ 内存对齐现象
前几天一个在自学C语言的小伙伴问了我个问题,C语言结构体储存所占空间为啥和自己预测的不一样.看一下下面这一段代码: struct node{ int num; char ch; }a; printf( ...
- MongoDB 用Robomong可视化工具操作的 一些简单语句
一.数据更新 db.getCollection('表名').update({ "字段":{$in:["值"]} }, //更新条件 {$set:{ " ...