前言

从今天开始,准备写Java Web开发的系列文章,毕竟自己主攻的还是Java方向,Python只是业余学习的兴趣使然,在第二技能还没有培养成熟前,做好第一技能的巩固和提高是很有必要的。从正式入行(第一次工作)到现今已经有10个月了,说来惭愧,工作时间之外,很少进行学习和提升,再加上公司内部使用的是二次开发的封闭式框架(没有使用主流的开源框架),对以前学过的SSM框架基本忘了,还有一些相关知识的熟悉度也一直在下降,这让人很惶恐啊!解救的办法就是重拾基础,做一些案例,理论和代码相结合,加深印象,才能保有竞争力!

红桃皇后说过一句话,很在理,“以你现在的速度你只能逗留原地。如果你要抵达另一个地方,你必须以双倍于现在的速度奔跑!”在罗辑思维2018年的跨年演讲上,有句话是“你必须不停地奔跑,才能留在原地。”两句话的道理差不多,如果能够给不满于现状的你一丝触动,那么,请努力奔跑吧!

第一阶段的目标是写完Java入门系列文章,包括基础语法、面向对象、常用工具类、集合、IO、线程、异常、socket这些内容。第二阶段会写数据库相关的知识。第三阶段是web知识,html、css、jQuery、JavaScript,至于AngularJS,如果时间充足,会写些相关东西的。第四阶段是servlet相关的知识,这是web开发的重点。第五阶段就是框架的使用了,会整合前面所讲的东西,做一个案例当做总结。

一、了解Java

Java是一门重编译语言,它本身就包含了许多类库、特性,再加上它所衍生出来的相关产品,是一个很庞大的语言体系,拥有无数分支,核心是JDK和JRE。

JDK,英文全称是Java Development Kit,是Java开发工具包,提供了Java的开发环境(提供了编译器javac等工具,将.java文件编译为.class文件)和运行环境(提供了JVM和Runtime辅助包,将.class文件解析并运行),在JDK的安装目录中,有一个jre文件夹,这个jre文件夹就是Java运行环境。

JRE,英文全称是Java Runtime Enviroment,是Java的运行环境,在jre的安装目录下,有两个文件夹,一是bin文件夹,在bin文件夹下有个server文件夹,里面有jvm.dll文件,整个bin文件夹相当于是JVM,二是lib文件夹,是解析执行.class文件所需要的类库。

JVM,英文全称是Java Virtual Machine,是JRE里的核心,在后面会单独来学习JVM。

二、搭建开发环境

1、安装jdk。

在oracle官网选择适合的版本下载就行,地址http://www.oracle.com/technetwork/java/javase/downloads/index.html,Java9都出来了,不知道又会有什么新特性,选择8的稳定版就行。下载后按照指示一步一步安装,或者自行上网解决。

配置环境变量:

新建 classpath变量 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

新建 JAVA_HOME变量 D:\java\jdk1.8.121(为jdk安装路径)

更改 path变量 ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(在原有基础上添加)

验证是否安装成功: 输入cmd --> 输入java -version 能够看到jdk版本信息即为安装成功

2、安装eclipse。

在eclipse的官网下载安装包,地址https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R2/eclipse-inst-win64.exe,选择合适的版本,按照提示一步一步完成安装,或自行上网解决。

三、编写你的第一个Java程序

1、新建一个项目。打开eclipse,在菜单栏找到 File , 鼠标左键点击,选择 New , 选择 Java Project , 在弹出的框中,在Project name一栏,输入项目名称 javalearning,点击下方的finish按钮。注意,在填写项目名字的时候,英文一定要小写。

2、项目的目录结构。在新建的javalearning项目中,会看到有src资源文件夹和JRE System Library,src文件夹下是存放包、类等资源的,JRE System Library是Java运行环境所需要的类库。

3、新建一个类。先新建一个类,右键点击src,选择 New ,在新出现的选择框中,选择Package,在弹出的框中,看到Name一栏,填入包名javalearningday01,包名一定要小写。然后右键点击刚刚建好的包,选择 New ,在新出现的选择框中,选择 Class ,在弹出的框中,看到Name一栏,输入类名HelloWorld,点击下方的Finish。注意,类名的首字母要大写,如有多个单词,则遵循首字母全部大写的原则。

4、编写主方法。

package javalearningday01;

public class HelloWorld {

    public static void main(String[] args){
System.out.println("Hello World !");
}
}

5、尝试将main方法的访问修饰符public去掉,点击右键,看到Run As后面是没有Java Application选项的。尝试将方法名main改为main2或者其他方法名,同样也没有Run As Java Application的选项。尝试将static去掉,点击运行,也没有Run As Java Application的选项。这些其实都是Java规范,对于main方法的规范,必须这么写,不然编译器找不到程序入口,就无法运行。

文章首发于我的个人公众号:悦乐书。喜欢分享一路上听过的歌,看过的电影,读过的书,敲过的代码,深夜的沉思。期待你的关注!

公众号后台输入关键字“Java学习电子书”,即可获得12本Java学习相关的电子书资源,如果经济能力允许,还请支持图书作者的纸质正版书籍,创作不易。

Java入门(一):Hello World !的更多相关文章

  1. Java入门第一章

    后天就是十一长假了,亲们准备好了去哪儿玩了吗? 今天有点空,就来聊聊Java吧,当然是一些Java入门知识了,网上有很多,这里我只是列举一些我自己学到的,感谢大家关注喵的博客这么久,也为大家带来点新知 ...

  2. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  3. 第1章Java入门体验

    第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...

  4. Java入门记(五):容器关系的梳理(下)——Map

    注意:阅读本文及相关源码时,需要数据结构相关知识,包括:哈希表.链表.红黑树. Map是将键(key)映射到值(value)的对象.不同的映射不能包含相同的键:每个键最多只能映射到一个值.下图是常见M ...

  5. Java入门(二)——果然断更的都是要受惩罚的。。。

    断更了一个多月,阅读量立马从100+跌落至10-,虽说不是很看重这个,毕竟只是当这个是自己的学习笔记,但有人看,有人评论,有人认同和批评的感觉还是很巴适的,尤其以前有过却又被剥夺的,惨兮兮的. 好好写 ...

  6. Android初涉及之Android Studio&JAVA入门--二月不能不写东西

    是的,我还没有放弃写博客. 是的,我也没有放弃PHP的学习. 是的,我要开始学学最TM火的Android开发了. 你呢 1.Android Studio 一.概况 安装和配置什么的就不具体说了,网上一 ...

  7. JAVA手记 JAVA入门(安装+Dos下运行)

    JAVA入门特供= =,今天设置环境变量后用dos运行的时候发现出现“找不到或无法加载主类”,索性查了些资料重新看了看JAVA入门的部分. 声明:我的笔记本暂时用的是Win10系统,Windows其他 ...

  8. Java入门教程总目录

    Java入门教程总目录 持续更新中... 1.Java常识汇总 2.Java框架对比 3.Java技术路线 4.Java编码规范 5.Java环境变量配置 6.枚举 7.操作符 12.定时任务

  9. Java入门的程序汇总

    Java入门的基础程序,虽然很简单,也要多练习,下面有重点的总结一下 1.HelloWorld这个不说了 2.常量与变量部分 基本数据类型使用 public class Javashujuleixin ...

  10. Java入门学习知识点汇总

    Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写 ...

随机推荐

  1. 翻译:low_priority和high_priority(已提交到MariaDB官方手册)

    本文为mariadb官方手册:HIGH_PRIORITY and LOW_PRIORITY的译文. 原文:https://mariadb.com/kb/en/high_priority-and-low ...

  2. 深度解析XML的结构与类映射

    XML概述      可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自 ...

  3. JSJ—案例谈面向对象

    有人告诉我那里遍地都是对象——我们把所有的程序代码放在main()里面,事实上,那根本就不是面向对象的做法,在Java的面向对象中,我们也会看到类和对象的不同,以及对象是如何让你的生活更美好(至少程序 ...

  4. 安装python3

    由于centos已经自带了python,但是没有python3,楼楼接下来自己去安装下.截止到本文python的最新版本为3.7.1,官网的地址为:https://www.python.org/ 下载 ...

  5. Android Navigation使用

    简介 Navigation导航编辑器旨在简化Android开发中导航的实现,可以帮助我们很好的处理Activity和fragment之间通过FragmentTransaction交互的复杂性,也可以很 ...

  6. 汇编语言--微机CPU的指令系统(五)(标志位操作指令)

    (2)标志位操作指令 标志位操作指令是一组对标志位置位.复位.保存和恢复等操作的指令. 1.进位CF操作指令 Ø 清进位指令CLC(Clear Carry Flag):CF←0 Ø 置进位指令STC( ...

  7. EJS-初识

    项目中使用了EJS,因此,也开始接触了EJS. EJS官方定义:it's just plain JavaScript. 总的来说,上手较快(毕竟我是个菜鸟). 第一步:安装: 第二部使用: 在html ...

  8. 微信分享链接出现config:invalid signature错误的解决方法

    首先贡献jssdk下载地址:http://demo.open.weixin.qq.com/jssdk/sample.zip  不建议大家在*SDN上花钱买积分下载 当开发微信时需要做特定的页面做分享时 ...

  9. C#两个时间相减

    原文地址:http://www.jb51.net/article/60177.htm using System; using System.Collections.Generic; using Sys ...

  10. angular raido checkbox select取值

    radio {{modelName}} <div class="radio disIB"> <label class="i-checks"&g ...