Java入门(一):Hello World !
前言
从今天开始,准备写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 !的更多相关文章
- Java入门第一章
后天就是十一长假了,亲们准备好了去哪儿玩了吗? 今天有点空,就来聊聊Java吧,当然是一些Java入门知识了,网上有很多,这里我只是列举一些我自己学到的,感谢大家关注喵的博客这么久,也为大家带来点新知 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- 第1章Java入门体验
第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...
- Java入门记(五):容器关系的梳理(下)——Map
注意:阅读本文及相关源码时,需要数据结构相关知识,包括:哈希表.链表.红黑树. Map是将键(key)映射到值(value)的对象.不同的映射不能包含相同的键:每个键最多只能映射到一个值.下图是常见M ...
- Java入门(二)——果然断更的都是要受惩罚的。。。
断更了一个多月,阅读量立马从100+跌落至10-,虽说不是很看重这个,毕竟只是当这个是自己的学习笔记,但有人看,有人评论,有人认同和批评的感觉还是很巴适的,尤其以前有过却又被剥夺的,惨兮兮的. 好好写 ...
- Android初涉及之Android Studio&JAVA入门--二月不能不写东西
是的,我还没有放弃写博客. 是的,我也没有放弃PHP的学习. 是的,我要开始学学最TM火的Android开发了. 你呢 1.Android Studio 一.概况 安装和配置什么的就不具体说了,网上一 ...
- JAVA手记 JAVA入门(安装+Dos下运行)
JAVA入门特供= =,今天设置环境变量后用dos运行的时候发现出现“找不到或无法加载主类”,索性查了些资料重新看了看JAVA入门的部分. 声明:我的笔记本暂时用的是Win10系统,Windows其他 ...
- Java入门教程总目录
Java入门教程总目录 持续更新中... 1.Java常识汇总 2.Java框架对比 3.Java技术路线 4.Java编码规范 5.Java环境变量配置 6.枚举 7.操作符 12.定时任务
- Java入门的程序汇总
Java入门的基础程序,虽然很简单,也要多练习,下面有重点的总结一下 1.HelloWorld这个不说了 2.常量与变量部分 基本数据类型使用 public class Javashujuleixin ...
- Java入门学习知识点汇总
Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写 ...
随机推荐
- Python面向对象基础:设置对象属性
用类存储数据 类实际上就是一个数据结构,对于python而言,它是一个类似于字典的结构.当根据类创建了对象之后,这个对象就有了一个数据结构,包含一些赋值了的属性.在这一点上,它和其它语言的struct ...
- rsync+inotify实现全网自动化数据备份-技术流ken
rsync简介 “rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步” rsync的功能和特点 ...
- [转]NET Core静态文件的缓存方式
本文转自:https://www.cnblogs.com/Leo_wl/p/6059349.html 阅读目录 NET Core静态文件的缓存方式 一.前言 二.StaticFileMiddlewar ...
- .NET 中的序列化 & 反序列化
序列化:将对象的状态信息及类型信息,转换为一种易于传输或存储形式(流,即字节序列)的过程. 下图为序列化过程图示,图片来自微软官方文档: 反序列化:与序列化相反,将流转换为对象的过程. 常用的有二进制 ...
- [angularjs] angularjs系列笔记(一)简介
Angularjs通过新的属性和表达式扩展了html Andularjs 可以构建一个单一页面的应用程序(SPAS SinglePageApplications) Angularjs通过指令扩展了ht ...
- Git中的"pull request"真正比较的是什么?
前言 利用git版本控制工具时,我们通常会从主分支拉出新分支进行开发,开发完成后创建pr(也就是pull request),让其他小伙伴帮忙review,确定代码没有问题后再将新分支合并到主分支上.但 ...
- SpringMVC表单验证与Velocity整合
阅读本文约“1.2分钟” 定义表单类 以Login为例,有username和password两个字段 import javax.validation.constraints.NotNull; impo ...
- Advanced redirection features
here are three types of I/O, which each have their own identifier, called a file descriptor: standar ...
- 数据库索引(Oracle和Mysql)学习总结
旭日Follow_24 的CSDN 博客 ,全文地址请点击: https://mp.csdn.net/postedit/80910082 索引概念: 索引是关系数据库中用于存放每一条记录的一种 ...
- Github被微软收购,这里整理了16个替代品
微软斥资75亿美元收购以后,鉴于微软和开源竞争的历史,很多开发者都感到惊恐.毕竟,互联网上最大的一块可以自由的净土被微软染指,宝宝不开森.如果你真的担心微软会对Github有所动作,那么这里我列举了1 ...