问题：﻿自学 Java 怎么入门？ 在大学自学 Java。看视频教程和代码能看懂 自己写就写不出来，怎么样能够入门？
话题：﻿生活方式、Java、Java编程、Java程序员、Java入门
回答：﻿自学java的话，看视频教程加书籍资料吧。如果看视频教程的话一定要有一个学习路线。以下就说一个比较详细的学习路线+java入门笔记：1.JavaSE1.1.环境搭建1.1.1.Java的跨平台怎么实现的1.1.2.Java加载和执行的过程1.1.3.第一个Java程序的开发·常用的DOS命令·通用的文本编辑快捷键·环境变量path·环境变量classpath·javac和java命令的使用1.1.4.Java注释信息1.1.5.publicclass和class的区别1.2.基础语法1.2.1.标识符1.2.2.关键字1.2.3.字面量1.2.4.变量1.2.5.数据类型1.2.6.运算符1.2.7.控制语句1.2.8.方法1.2.9.方法递归1.3.eclipse的使用1.4.数组1.4.1.数组数据结构详解1.4.2.常见算法·冒泡排序·选择排序·二分法查找1.5.面向对象1.5.1.面向对象和面向过程的区别1.5.2.类与对象1.5.3.类的定义1.5.4.对象的创建1.5.5.封装1.5.6.this1.5.7.static1.5.8.super1.5.9.继承1.5.10.多态1.5.11.抽象类1.5.12.接口1.5.13.Object类1.5.14.类和类之间的关系1.5.15.单例模式1.6.常用类1.6.1.String1.6.2.StringBuilderStringBuffer1.6.3.Integer1.6.4.Date1.6.5.BigDecimal1.7.集合1.7.1.集合框架1.7.2.链表数据结构1.7.3.哈希表数据结构1.7.4.二叉树数据结构1.7.5.策略设计模式1.7.6.Lambda表达式1.8.异常1.8.1.异常有什么用1.8.2.异常处理1.8.3.异常在实际开发中怎么用1.9.Annotation1.9.1.内置注解1.9.2.自定义注解1.1.IO流1.1.1.IO流概述·什么是IO流·IO流分类·java中IO流家族中的主要流1.1.2.FileInputStream/FileOutputStream1.1.3.FileReader/FileWriter1.1.4.BufferedReader/BufferedWriter1.1.5.ObjectInputStream/ObjectOutputStream1.1.6.File类1.1.7.IO流读取Properties文件·掌握获取类路径下文件绝对路径的方法·使用IO流加载属性文件中的资源·使用ResourceBundle绑定属性文件中的资源1.1.8.装饰器设计模式1.1.多线程1.1.1.线程与进程1.1.2.线程的实现方式1.1.3.线程生命周期1.1.4.线程的调度1.1.5.线程的同步1.1.6.生产者与消费者模式1.1.7.定时器1.2.反射机制1.2.1.反射Class1.2.2.通过反射构造对象1.2.3.Class.forName()剖析1.2.4.通过反射机制访问对象的Field1.2.5.通过反射机制调用对象的MethodJava开发快速入门Java语言的了解(了解)Java语言的特征:简单,面向对象,多线程,分布式,可移植…可移植:使用Windows开发一个Java语言编写的软件,那么我们可以在Linux上面运行,也可以在mac系统上运行.Java语言可以做什么?(了解)开发工具(NetBeans),操作系统(Solaris),数据库(Derby),浏览器(Hotjava),服务器(GlassFish),电商平台(阿里巴巴[淘宝,天猫],京东),企业级应用(用友ERP-NC,国家电网PMS-SG186)…搭建开发环境(掌握)JDK(了解)JDK:JavaDevelopmentKit(Java开发工具包)JDK都包含什么呢?Java运行时环境Java的常用的类库Java工具,如:javac.exe,java.exe和javadoc.exe…JRE:JavaRuntimeEnvironment(Java运行时环境)JRE都包含什么呢?Java虚拟机Java常用的类库JVM:JavaVirtualMachine(Java虚拟机)JDK,JRE和JVM之间的关系(掌握)JDK=JRE+Java常用的类库+Java工具JRE=JVM+java常用的类库综上所述:我们需要搭建开发环境,使用JDK就够了JDK下载(了解)	地址:http://www.oracle.com下载步骤:JDK安装(掌握)	视频教程：http://www.bjpowernode.com/video.html?zh测试JDK安装(掌握)	找到Jdk开发工具:javac.exe和java.exe测试开发工具是否可以正常使用Win+r说明:javac.exe操作系统找到它.如果需要操作系统找到javac.exe,那么就需要配置环境变量.配置环境变量(掌握)计算机—右键---属性---	高级系统设置把光标定位到最后,找到javac.exe所在的目录,复制路径,C:\ProgramFiles\Java\jdk1.8.0_101\bin,粘贴到变量值的最后面,点击确定.注意:路径前面要有一个分号(英文输入法下的)重启dos窗口Javac.exe是可用的.开发第一个小程序的步骤(掌握)创建一个xx.java的文件使用class关键字定义HelloWorld类class是关键字,定义类的使用必须使用class修饰,必须全部小写{}包含的部分称为类体在类中定义一个main方法Java程序执行的时候会默认的找main方法,publicstaticvoidmain(String[]args)编写一个输出语句对HelloWorld编译和运行(掌握)编译:切换dos光标路径,到HelloWorld.java所在的目录切换盘符:语法:盘符:案例:进入目录:光标在projects里面,那么projects里面有HelloWorld.java使用Javac.exe对HelloWorld.java进行编译语法:javac文件名称.java使用Java.exe工具运行HelloWorld.class语法:java文件名称(XX.class文件的名称)注意:使用java.exe运行程序时,一定不要添加后缀.class如果执行的时候添加了后缀.class那么会报如下错误(找不到或者无法加载主类)简单的DOS命令(掌握)切换盘符:语法:盘符空格冒号进入目录进入目录:列出当前目录文件和文件夹语法:dir列出d盘下所有的文件目录返回上级目录语法:cd..print和println的区别(掌握)语法格式(掌握)一对{}包含的部分我们要使用空格(按一下Tab键),体现程序的层次感在Java语言中英文字母大小写是敏感(大S和小s不是一个人)编译器和解释器的执行原理编译期和运行期,程序都做了哪些操作(掌握)Java程序运行时,运行的是.class文件,而不是.java文件.java文件是给程序员看的,.class文件是给jvm看的.如果程序员对.java文件进行更改后,必须使用javac命令对.java文件进行再次编译,使用java命令运行编译后的.class文件,那么程序员写的代码才会生效.java编译器执行原理(了解)Java源码--->javac--->.class--->jvm(翻译)--->操作系统,如果让程序员写的代码适应jvm的语法规则,那么我们就需要了解一下编译原理词法分析器:把java源代码转换为Token流找出源代码中的关键字(把源代码划分成一个个Token)语法分析器:把Token流码转换为语法树根据源代码中的关键字组成一个个代码块,检查是否符号Java的语法规则,比如if语句后面是否为布尔表达式.语义分析器:把语法树转换为注解语法树当前类没有定义构造器,会添加默认构造器,把复杂的语法转换为简单的语法,比如foreach转换为for…通过javap对.class文件反编译代码生成器:把注解语法树换为字节码文件(.class)扩展知识:使用javac–verbose***.java来查看编译过程(了解)publicpublic的基本应用这个错误是因为,我们使用了public对类进行修饰,但是,我们的类名称与.java的文件名称不一样,所以会报如上错误.使用EditPlus集成编译器和解释器EditPlus的安装使用Editplus开发程序使用Editplus创建.java文件调整Editplus开发时的标准字体Editplus集成javac.exe和java.exe集成javac.exe集成java.exeJava中的注释注释是什么?有什么用?注释是用通俗易懂的话话对程序的解释,主要用于增强程序的可读性,给程序员看的,jvm对注释是不解释的.注释的分类单行注释语法//注释语句案例多行注释语法/*	注释语句*/案例文档注释语法:/***注释语句*/案例注意:使用javadoc生成文档时类必须是public和private的,否则报错文档注释和多行注释的区别共同点:它们都可以达到注释多行目的不同点:文档注释,在使用javadoc生成文档时,会有注释说明多行注释,在使用javadoc生成文档时,不会有注释说明.标识符和变量标识符(了解)在编程语言中,标识符就是程序员自己规定的代表一定含义的单词(java源程序当中凡是程序员自己有权利修改的名字都可以叫做标识符,比如:我们学过的类,还没有学过的接口,变量….)标识符有命名规则和命名规范标识符命名规则(掌握)由英文(大小写)字母,数字,_,$和汉字组成.(不推荐汉字命名)数字不可以开头.不能用java中的关键字或者保留字.标识符命名规范(掌握)见面知意(看到这个单词就知道它表示什么意思).遵循驼峰命名规范(单词之间的界限更明确)类,接口,单词首字母大写,其余字母小写.变量,方法,首单词全部小写,其余单词首字母大写,其余字母小写.常量,单词字母都大写尽量不要使用汉字字面量和变量字面量(了解)字面量的理解:在计算机科学中,字面量用于表达源代码中一个固定值的表示法,比如:整型数据,1,5,99,思考:比如开发一个计算器,我们输入的数据有可能不确定,这样怎么办?那么我们就可以使用变量来解决数据不固定的问题.变量变量的作用(理解)变量是计算器中存储数据的基本单元,主要作用有如下两点:方法数据做运算可以重复使用变量怎么用(掌握)变量的声明并赋值语法:数据类型变量名称=值;数据类型是什么意思,都有哪些分类?数据类型,标识着内存中的空间存储什么类型的数据数据类型的分类:基本类型整数型:存储的数据都是整数(byte,short,int,long)浮点型存储的数据都是小数(float,double)字符型存储的数据都是字符(char)布尔型只能存储true和false基本类型,我们学习两个int和boolean引用类型String变量名称:我们可以自定义值:案例:内存分析:变量声明,变量赋值一起声明多个变量并赋值.