文档章节

java入门篇

L
 LBdeveloper
发布于 2017/02/14 08:58
字数 910
阅读 5
收藏 0
点赞 0
评论 0

 

 

一 jdk目录结构

jdk默认安装完成后会产生如下图所示的文件结构,包括一个jdk和一个公版的jre,而在jdk的内部又包含一个jdk私有的jre,在配置环境变量的时候往往使用的是公共的jre

二 环境变量配置

关于环境变量的配置初学者根据网络上提供的步骤一步一步照着做都可以做好,但是有一点需要注意的是JAVA_HOME的值是bin目录的父目录,也就是jdk默认安装后的包含jre和jdk文件夹的那个目录。

在配置完成JAVA_HOME后就要配置path路径,其一般格式为xxxxxx;%JAVA_HOME%\bin; 需要注意的是%JAVA_HOME%的最前面不要忘记添加英文分号。

我看了一下网上的很多教程上都强调在完成上述后要接着配置classpath, 就像下面这样.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar其实对较新的java版本来说这是没有必要的,因为在jdk1.5之后,java做出了更加人性化的改进无需再配置classpath即可使用。

 

三 HelloWorld程序创建过程

在这里我们不使用IDE来创建程序,而是使用记事本来体验程序创建的细节,首先新建一个txt文件,然后将文件重命名为HelloWorld.java,打开这个文件在其中输入如下代码。

public class HelloWorld{

public static void main(String args[]) {

System.out.println("HelloWorld!");

}

}

保存后,在控制台通过javac HelloWorld.java来编译该文件,成功后会生成HelloWorld.class字节码文件,继续在控制台输入java HelloWorld将会运行该程序,正确的话会输出HelloWorld。

通过此简单程序的创建可以将java程序的大致创建流程总结如下:

[1] 创建*.java文件

[2] 文本编辑打开*.java文件

[3] 定义与*.java同名类

*[4] 定义main方法

--main方法是程序的入口,未必由自己创建

*[5] 定义各种变量、方法

[6] javac *.java

[7] java *

即使是最简单的程序对初学者来说也是一种挑战,在此将常见的错误归纳如下:

[1] 文件名和类名不一致,非法文件名(禁止在文件名中间打空格)

[2] 当前目录下没有指定java文件

--通过dir命令查看

[3] 没保存java文件

[4] 中英文字符问题

--中文空格 坑爹!!!

[5] 关键字打错

[6] javac命令用错

--javac 命令是需要跟文件后缀的

caution:

window系统会自作聪明将后缀名隐藏,需要手动放开

还有一点是需要初学者特别注意的,有人尝试用println输出中文的时候的到了一堆乱码,其根本原因是XXX.java文件的保存编码与读取时的编码不一致造成的。解决这种问题的方式就是在用javac命令编译时使用-encoding指定编码字符,比如 javac -encoding utf-8 HelloWorld.java

 

四 java跨平台介绍

java作为一种跨平台的语言彻底解决了代码一次编写处处运行的问题,历史上的大牛通过针对不同操作系统平台分别编写jvm屏蔽掉了机器的差异, java编译器将代码编译成字节码文件后就可以在这个层面上实现代码的夸平台运行。

 
 
java application
jvm(JRE)
OS

 

                  javac命令                               java命令

源码.java-------------->字节码.class--------------->jvm加载--------------->机器码----------->os--------->cpu,disk,memory........

caution:

符合jvm的语言不只只java,还有kotlin ,jython等语言

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
L
粉丝 0
博文 2
码字总数 1372
作品 0
南京
【目录导航】JAVA零基础进阶之路

【JAVA零基础入门系列】(已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day6 Java字符串 Day7 Java输入与输出...

MFrank
06/21
0
0
Java程序员必读书单,家族又添新成员

点击关注异步图书,置顶公众号 每天与你分享IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书。 ——异步小编 有些革命出其不意地吸引了全世界的眼球。Twitter、Linux操作系统和...

异步社区
05/09
0
0
Apache Maven 入门篇

Apache Maven 入门篇 ( 上 ) http://www.oracle.com/technetwork/cn/community/java/apache-maven-getting-started-1-406235-zhs.html Apache Maven 入门篇(下) http://www.oracle.com/techn......

吴海宏
2014/10/21
0
0
几周内搞定Java的10个方法

不要将Java与JavaScript弄混了,Java的目标是“一次编译,到处调试”(呃,不对,是“到处运行”)。简单来说,就是Java程序可以直接在任何设备上运行。 Java语言是什么? 不管我们是否意识到...

拉偶有所依
2015/03/11
0
0
新手入门必看的30个问题!!!!!!

看了好多资料,还是对一些基本问题比较头大。在论坛看完这个帖子,脑子里的基本概念有了。 1 什么是Java、Java2、JDK?JDK后面的1.3、1.4.2版本号又是怎么回事? 答:Java是一种通用的,并发的,...

精华之王
2009/04/11
0
0
Java读带有BOM的UTF-8文件乱码原因及解决方法

最近在处理文件时发现了同样类型的文件使用的编码可能是不同的。所以想将文件的格式统一一下(因为UTF-8的通用性,决定往UTF-8统一),遇见的第一个问题是:如何查看现有文件的编码方式。 上网...

张志浩
2012/11/06
0
0
JNI入门中helloworld常见问题

看了我转载的那篇JNI入门感觉确实写得很好,但是配置细节没怎么说明,我这里说明一下。 主要是按照完成helloworld这个程序的步骤出现的问题。所有的程 序都是通过命令行来编译的。 问题一:N...

人型电脑天使心
2012/09/03
0
0
怎样学习java,漫谈java学习之路

Java - 近10年来计算机软件发展过程中的传奇,其在众多开发者心中的地位就如“屠龙刀”、“倚天剑”。 Java是个平台,我只想说说我对学好Java的一点看法,希望对初学者有所帮助。 1. 思考一下...

jccur
2011/08/26
0
9
java学习从入门到精通(原创)--精华

作者:robbin 网址:http://www.fankai.com/ Java Learning Path (一)、工具篇 一、 JDK (Java Development Kit) JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),...

精华之王
2009/04/11
0
0
从Java小白到架构师必须要看的书籍,真正的“武林秘籍”!

少年,我看你骨骼精奇,将是未来万中无一的IT精英,很是适合学JAVA。维护世界和平就看你的了,我这里有能让你成为IT精英的办法!还不来看看! 基础类 1、《Thinking in Java》,入门第一位是...

启示录是真的
05/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

【面试题】盲人坐飞机

有100位乘客乘坐飞机,其中有一位是盲人,每位乘客都按自己的座位号就坐。由于盲人看不见自己的座位号,所以他可能会坐错位置,而自己的座位被占的乘客会随便找个座位就坐。问所有乘客都坐对...

garkey
今天
0
0
谈谈神秘的ES6——(二)ES6的变量

谈谈神秘的ES6——(二)ES6的变量 我们在《零基础入门JavaScript》的时候就说过,在ES5里,变量是有弊端的,我们先来回顾一下。 首先,在ES5中,我们所有的变量都是通过关键字var来定义的。...

JandenMa
今天
1
0
arts-week1

Algorithm 594. Longest Harmonious Subsequence - LeetCode 274. H-Index - LeetCode 219. Contains Duplicate II - LeetCode 217. Contains Duplicate - LeetCode 438. Find All Anagrams ......

yysue
今天
0
0
NNS拍卖合约

前言 关于NNS的介绍,这里就不多做描述,相关的信息可以查看NNS的白皮书http://doc.neons.name/zh_CN/latest/nns_background.html。 首先nns中使用的竞价货币是sgas,关于sgas介绍可以戳htt...

红烧飞鱼
今天
1
0
Java IO类库之管道流PipeInputStream与PipeOutputStream

一、java管道流介绍 在java多线程通信中管道通信是一种重要的通信方式,在java中我们通过配套使用管道输出流PipedOutputStream和管道输入流PipedInputStream完成线程间通信。多线程管道通信的...

老韭菜
今天
0
0
用Python绘制红楼梦词云图,竟然发现了这个!

Python在数据分析中越来越受欢迎,已经达到了统计学家对R的喜爱程度,Python的拥护者们当然不会落后于R,开发了一个个好玩的数据分析工具,下面我们来看看如何使用Python,来读红楼梦,绘制小...

猫咪编程
今天
1
0
Java中 发出请求获取别人的数据(阿里云 查询IP归属地)

1.效果 调用阿里云的接口 去定位IP地址 2. 代码 /** * 1. Java中远程调用方法 * http://localhost:8080/mavenssm20180519/invokingUrl.action * @Title: invokingUrl * @Description: * @ret......

Lucky_Me
今天
1
0
protobuf学习笔记

相关文档 Protocol buffers(protobuf)入门简介及性能分析 Protobuf学习 - 入门

OSC_fly
昨天
0
0
Mybaties入门介绍

Mybaties和Hibernate是我们在Java开发中应用的比较多的两个ORM框架。当然,目前Mybaties正在慢慢取代Hibernate,这是因为相比较Hibernate而言Mybaties性能更好,响应更快,更加灵活。我们在开...

王子城
昨天
2
0
编程学习笔记之python深入之装饰器案例及说明文档[图]

编程学习笔记之python深入之装饰器案例及说明文档[图] 装饰器即在不对一个函数体进行任何修改,以及不改变整体的原本意思的情况下,增加函数功能的新函数,因为这个新函数对旧函数进行了装饰...

原创小博客
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部