Java 学习笔记 ------第二章 从JDK到IDE
本章学习目标:
- 了解与设定PATH
- 了解与指定CLASSPATH
- 了解与指定SOURCEPATH
- 使用package与import管理类别
- 初步认识JDK与IDE的对应关系
一、第一个Java程序
工具:使用Windows自带记事本或下载其他编辑器(推荐NotePad++和Sublime)
//第一个HelloWorld!保存为HelloWorld.java
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World");
}
}
几点注意:
- 拓展名是 .java
- 一个.java文档可以定义多个类,但是只能有一个公开类,而且主文档名与公开类名称必须相同(在这里就是class HelloWorld和HelloWorld.java对应)
- 注意大小写(Java对大小写敏感)
- 空格只能是半角空格符或Tab字符。
二、PATH是什么?
当你输入一个指令而没有指定路径信息时,操作系统会依照PATH环境变量中设定的路径顺序,依次寻找各路径下是否有这个指令。也就是说,配置PATH环境变量的作用就是javac的时候不用一定到%JAVA_HOME%/bin下去执行javac,从而使任何目录都可以执行。(%JAVA_HOME%即JDK根目录)
三、JVM(java)与CLASSPATH
JVM是Java程唯一识别的操作系统,对JVM来说,可执行文件就是拓展名为.class的文档。想在JVM中执行某个可执行文件(.class),就可以告诉JVM这个虚拟操作系统到哪些路径下寻找文档,方法是通过CLASSPATH制定其可执行文件(.class)的路径信息。
网上Java环境变量教程里配置CLASSPATH一般都是 .;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME/lib/tools.jar%,这里dt.jar是运行环境的类库,主要用于Java Swing。tools.jar主要是JDK工具,包括javac,java等。
四、package和import
书上讲的非常详细,下面列举一些比较重要的概念:
package所定义名称与class所定义名称,会结合而成类的完全吻合名称(Fully Qualified Name),如java.lang.String。
原始码文档和位码文档都要放置在与package所定义名称层级相同的文件夹层级中。
要在包间可以直接使用的类或方法(Method)必须声明为public。
import还有一种用法为import static,有兴趣的同学可以查看下面链接(import static和import的区别,http://blog.sina.com.cn/s/blog_625651900100kwul.html)
五、用好你的IDE
书上使用的是NetBeans,而我平时使用较多的IDE是Eclipse,Eclipse也是主流IDE之一,功能强大,操作便捷。
然而我发现大部分同学是把IDE当做一个最单纯的txt编辑器而非一个开发工具,因此下面提供一些Eclipse的实用教程,供大家参考:
- Eclipse配置代码提示(http://jingyan.baidu.com/article/bea41d43747fa0b4c51be6ff.html),我相信很多同学刚写Java的时候觉得System.out.println以及public static void main这么长的东西简直是反人类,相比以前学的C里面的print简直是不能接受,通过配置代码提示可以让你输入syso就出现System.out.println,方便许多。
- Eclipse常用快捷键(http://www.cnblogs.com/mailingfeng/archive/2013/02/22/2922131.html),你总不会想一直按着delete来删除一句很长的代码,或者用Tab来自己对齐层次不齐的代码吧。
- Eclipse字体大小设置(http://jingyan.baidu.com/article/f96699bb9442f3894e3c1b15.html),推荐刚开始写字体可以设置大一点,到后面慢慢变小,看到的更多
- Eclipse导入外部jar包(http://jingyan.baidu.com/article/ca41422fc76c4a1eae99ed9f.html),无论你是想使用JDBC(数据库驱动)还是JMF(音频视频相关),外部api总能让你写出更好的程序。
- Eclipse换编辑区皮肤,风格,颜色(http://jingyan.baidu.com/article/15622f24763f1efdfcbea59b.html),看厌了白色背景以及单调字体颜色的同学可以点击这个
- 菜鸟教程里的Eclipse教程(http://www.runoob.com/eclipse/eclipse-tutorial.html),较详细
Java 学习笔记 ------第二章 从JDK到IDE的更多相关文章
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- The Road to learn React书籍学习笔记(第二章)
The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...
- [HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的“HT”
[HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的"HT" 敲黑板!!! 创建HTML超链接 <a>链接文本(此处会有下划线,可以单击 ...
- Java 学习笔记 ------第一章 Java平台概论
本章学习目标: Java版本迁移简介 认识Java SE.Java EE.Java ME 认识JDK规范与操作 了解JVM.JRE与JDK 下载与安装JDK 一.Java版本迁移简介 书上已经表达得非 ...
- Java 学习笔记 第一章:Java语言开发环境搭建
第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...
- [HeadFirst-JSPServlet学习笔记][第二章:高层概述]
第二章:高层体系结构 容器 1 什么是容器? servelet没有main()方法.它们受控于另一个Java应用,这个Java应用称为容器(Container) Tomcat就是这样一个容器.Web服 ...
- c#高级编程第七版 学习笔记 第二章 核心c#
第二章 核心C# 本章内容: 声明变量 变量的初始化和作用域 C#的预定义数据类型 在c#程序中使用条件语句.循环和跳转语句执行流 枚举 名称空间 Main()方法 基本的命令行c#编译器选项 使用S ...
- [Effective Java 读书笔记] 第二章 创建和销毁对象 第一条
第二章 创建和销毁对象 第一条 使用静态工厂方法替代构造器,原因: 静态工厂方法可以有不同的名字,也就是说,构造器只能通过参数的不同来区分不同的目的,静态工厂在名字上就能表达不同的目的 静态工厂方法 ...
- Java学习笔记 第一章 入门<转>
第一章 JAVA入门 一.基础常识 1.软件开发 什么是软件? 软件:一系列按照特定顺序组织的计算机数据和指令的集合 系统软件:DOS,Windows,Linux 应用软件:扫雷.QQ.迅雷 什么是开 ...
随机推荐
- #leetcode刷题之路47-全排列 II
给定一个可包含重复数字的序列,返回所有不重复的全排列.示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]] 之前的https://www.cnblogs.com/ ...
- BZOJ 1941: [Sdoi2010]Hide and Seek(k-d Tree)
Time Limit: 16 Sec Memory Limit: 162 MBSubmit: 1712 Solved: 932[Submit][Status][Discuss] Descripti ...
- MySQL学习【第七篇索引管理及执行计划】
一.索引介绍 1.什么是索引? 索引由如字典,目的就是为了更快寻找到要找的内容. 令搜索查询的数据更有目的性,从而提高数据检索的能力 2.索引类型介绍 1.BTREE: B+树索引 2.HASH: H ...
- Python -- Effective Python:编写高质量Python代码的59个有效方法
第 1 章 用 Pythonic 方式来思考 第 1 条:确认自己所用的 Python 版本 python --version import sys print(sys.version_info) p ...
- WebSocket 客户端实例
Node.js var ws = require("ws"); var socket = new ws("ws://127.0.0.1:8001); var socket ...
- 一图看懂Spring获取对象与java new对象区别
Spring获取对象与java new对象的区别,图片被压缩了,请点击图片放大查看
- Spark Streaming 进阶与案例实战
Spark Streaming 进阶与案例实战 1.带状态的算子: UpdateStateByKey 2.实战:计算到目前位置累积出现的单词个数写入到MySql中 1.create table CRE ...
- opencv移植(一)cmake安装
原文:https://blog.csdn.net/Guet_Kite/article/details/78667175?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接 ...
- 使用xadmin更新数据时,报错expected string or bytes-like object
expected string or bytes-like object 期望的字符串或类似字节的对象,一般为数据类型不匹配造成 本人在实际项目里发现的问题是: 数据库里的字段类型与django里mo ...
- 使用jdk生成自签发证书(过程总结)
前言: 最近在做华为NB-IoT接口开发,需要用到双向认证,就去学了一下. 然后我将过程总结了一下. 相关华为论坛链接:http://developer.huawei.com/ict/forum/th ...