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关键字 先贴张图: 所有关键字区分大小写 ...
随机推荐
- Perl中的自增、自减
自增和自减 perl也支持数值类型的自增和自减操作.不仅如此,还支持字符.字符串的自增.自减. 如果自增(++)和自减(--)符号放在数值的前面,则先增减,再返回: 如果自增(++)和自减(--)符号 ...
- Go基础系列:惰性数值生成器
惰性数值生成器是指在需要的时候才生成下一个数值,不需要的时候就卡在那.这和python的列表推导表达式类似.惰性生成器的好处是不会一次性将全部结果返回或放进内存,而是每次只返回一个,这样不会在某一时刻 ...
- Linux上安装nginx+tomcat负载均衡
1.Ngnix Nginx (发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行. 其特点是占有内 ...
- HTML+CSS基础(2)-HTML标签的简单介绍和网页注释
标签的语法和基本规则 1.语法"<xxx></xxx>",英文的"<>"将标签括起来,如例1. <!--例1--> ...
- [转]Docker版本变化和新版安装
本文转自:http://www.cnblogs.com/Peter2014/p/7704306.html Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版 ...
- ___Json帮助类
using Newtonsoft.Json;using Newtonsoft.Json.Converters;using Newtonsoft.Json.Linq;using System.Colle ...
- webAPI 控制器(Controller)太多怎么办?
写过接口的同学都知道,接口会越来越多,那么控制器也会越来越多.这时候就需要根据某种业务或特性对controller进行分类然后建立文件夹. 我想到一个折中的方案:伪Areas! 在Areas文件夹下建 ...
- 从dm_exec_query_stats系统表查询耗时的SQL语句
语句示例: s2.dbid , s1.total_worker_time / s1.execution_count AS [Avg CPU Time] , ( , ( ( THEN ( LEN(CON ...
- Jquery操作ul的一些操作笔记
1.html标记 <ul id="attachText"> <li data-text="111"><a href="# ...
- Mybatis框架可视化(1)
Mybatis整体架构视图: 接 口 层 SqlSession (定义了Mybatis暴露给应用程序调用的API) 核 心 处 理 层 配置解析 (加载核心配置.映射配置. mapper接口注解信息, ...