java SE 入门之语言与环境(第一篇)
Javase的语言与开发环境
Keke
2016年03月08日
Java属于-Oracle公司(甲骨文)
创始人:Gosling
1995年诞生
1998年12月发布jdk1.2
2002年2月发布:jdk1.4
2006年12月发布:jdk1.6
2007年sun倒下,google推出android依托java的jvm
2009年4月20日被oracle收购。
2011年7月28日,oracle发布了jdk1.7,这个版本引入了swtich语法,菱形泛型,多异常捕捉,自动关闭资源等。
2014年3月18日,发布jdk1.8版本,带来全新的Lambda表达式,等大量的新特性.
JDK全称是Java Se Development Kit;即Java标准开发包,是sun公司提供一套用于开发Java的应用程序开发包,它提供了编译,运行Java程序所需的各种工具和资源,包括Java编译器,Java运行时的环境以及常用的Java类库等。
提问:jvm和jre是什么关系:
Jre是包含jvm。Jvm是运行Java核心的虚拟机。而运行Java程序不进需要核心虚拟机,还需要其他的类加载器,字节码校验器以及大量的基础类库,JRE除了jvm以外,还包括运行Java程序的其他环境。
01:下载和安装JDK
Oracle公司把Java分成了JavaSe,JavaEE和JavaME三个部分,而且JavaSe和JavaEE分别提供了JDK和JavaEE SDK两个开发包,后续的中级班中我们学习的Servlet/JSP都是属于JavaEE的范畴。
下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

02:Java程序的运行机制和JVM
Java语言是比较特殊,有Java语言编写的程序需要经过编译,但是编译过程中不会生成特定的机器码,而是生成一种与平台无关的字节码,(也就是.class文件),当然这种字节码不是可执行的,必须使用Java解析器来解释执行,因此可以认为:Java语言是编译型语言,也是解释型语言。Java程序执行必须经过编译(javac)和后解释(java)两个步骤,
Java语言里负责解释执行字节码文件的是Java虚拟机,即JVM(Java Virtutal Machine)。JVM是可以运行字节码文件的虚拟计算机。所有平台上的JVM向编译器提供相同的编程接口。
JVM是一个抽象的计算机,和实际的计算机一样,它具有指令集并使用不同的存储区域,它赋值执行指令,管理数据,内存和寄存器等。
编译型语言:都需要编译以后才能运行,也就说如果编写任何一行新的代码都可能需要重新编译,然后在运行。注释除外 比如:java,c++,c,object-c
解释型语言:不需要,比如:javascript /ruby/python

03:jdk路径的介绍和说明
安装过程中最好不要使用空格路径
安装完成后,可在jdk安装路径下看到如下路径:
Bin 该路径存放了JDK的工具工具命令,常用的javac和java等命令就放在这里已经应用程序的监控都在这里,编码的转码工具等。
Db:改路径是安装javadb的路径.
Include:一些平台的特定头文件。
Jre:该路径下安装的就是运行java程序所必须的jre环境。
Lib:该路径存放的是JDK工具命令实际执行程序,有tools.jar,javafx-src.zip,src.zip等.
04:环境变量的配置
第一步:我的电脑右键--属性---高级系统设置


第二步:系统变量--新建--JAVA_HOME-你安装的JDK的目录--C:\Program Files\Java\jdk1.8.0_73

第三步:系统变量---新建--CLASSPATH,值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
注意前面有一个点。

第四步:选择系统变量中---Path--编辑--在PATH尾部添加如下代码:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,注意在添加之前一定要加一个分号分割

第五步:打开窗口---点击运行--输入cmd打开命令窗口---输入java-version命令

为什么要配置环境变量:
配置环境目录就为了方便不需要切换可执行文件的目录下。方便我程序的执行和控制。配置环境变量就是为了让系统帮我们直接根据环境变量的参数直接帮我寻找可执行文件。如果你配置它自动匹配出来。如果找不到找不到可执行文件吗?
环境变量的疑问:用户变量和系统变量的区别是什么:
用户变量和系统变量其实都没什么差别,只是用户变量只针对当前用户有用。而系统变量针对所有用户有用,为了减少自己所做的修改对其他人的影响,固设置用户变量避免影响其他人。对于当前用户而言,设置用户变量和系统变量的效果是一样的。如果两个地方都配置了优先选择系统变量的配置。
05:我的第一个Java程序--HelloWorld.java 文件,可以建立记事本修改文件扩展名即可
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello world....");
}
}
javac srcFile 如: javac HelloWorld.java
java类名 如 java HelloWorld
比如:结果是:Hello world
这个时候我们在打开dos ,如下图

这个时候我们在看E盘会多出一个 hello.class的文件,
我们使用javac 进行编译,使用 java 命令去执行
06:Java的命名规则
Java源文件程序的后缀必须是.java,不能是其他的文件后缀名。
Java程序源文件可以是任意的,但是有一种情况例外,如果Java程序源代码里的类定义的是一个public类,则该文件源文件名必须和类名一致。由于Java程序源文件名必须和Public类名相同,因此,一个Java源文件最多只能够定义一个public类.
大小写是区分的
类名必须大写开头.
public class和class的区别
public是一个访问修饰符,表示任何地方均可引用
class是声明一个类的关键字,如:class A{}//声明一个类,名为A
class只能由public 修饰,如果没有public则为默认访问修饰符,默认访问修饰符的访问权限是:同一个包内的成员可以访问引用
所以public class的意思就是:声明一个任何地方均可引用的类
08:何时使用ide工具
Editplus,myeclipse,eclipse,netbeans等
总结:
课的配置环境变量,编写HelloWorld.java类主要是让大家明白java是一种先编译后执行的语言。运行于jvm中,说明在未来java代码的编写中我们修改了代码(指:添加了属性,修改了方法的特征)需要重新编译代码,才能可运行,大家也不要纠结于现在这个阶段能够明白java是基于编译和运行的就够了,其他的了解即可,因为毕竟开发是不可能使用命令窗口去开发的。
java SE 入门之语言与环境(第一篇)的更多相关文章
- Java基础知识常见面试题汇总第一篇
[Java面试题系列]:Java基础知识常见面试题汇总 第一篇 文中面试题从茫茫网海中精心筛选,如有错误,欢迎指正! 1.前言 参加过社招的同学都了解,进入一家公司面试开发岗位时,填写完个人信息后 ...
- java SE 入门之八大内置基本类型(第二篇)
本文采用eclipse 工具演示,如果您对eclipse 工具不了解,请先学习下 eclipse 工具的使用,这个里面只是简单的介绍下输出和注释: 安装完成eclipse 以后,双击进入 后一次点击 ...
- java SE 入门之输入输出(第四篇)
在第一篇,八大基本类型的时候,我就介绍了输出,当然,这些输出都是简单的,后续写到流的时候,在细化输入输出. 现在只要求看懂输入输出.输入其实就是接受键盘的输入. public class Hello ...
- java自学入门心得体会 从环境配置开始
java —— 一种可以撰写跨平台应用软件的面向对象的程序设计语言. 很多教程里都要概述java语言的诞生发明.其实像图灵的”图灵机“和”图灵测试“一样,当初的java并不是这样. 是用来操控一些电冰 ...
- java SE 入门之运算符(第三篇)
在 java 中主要有以上运算符,分为 赋值运算符 ,算术运算符.关系运算符(比较运算符),逻辑运算符和三目运算符(三元运算符). 我们一起来学习下吧! 一.赋值运算符 赋值运算符主要有五个.分别是 ...
- 《R语言入门》语言及环境简单介绍
简单介绍 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/diss ...
- Java SE 9(JDK9)环境安装及交互式编程环境Jshell使用示例
目的 安装JDK 9, 练习Jshell工具的使用, 体验Java的交互式编程环境. 什么是Jshell 其实就是一个命令行工具,安装完JDK9后,可以在bin目录下找到该工具,与Python的解释器 ...
- java SE 入门之控制语句&方法&递归算法(第五篇)
一 控制语句(选择结构) 在学习控制语句之前,我们要先明确两件事情,什么是顺序结构(也叫做顺序执行),什么是选择结构 (分支结构或分支执行或选择执行),我们的代码执行是分为先后顺序的,就像我们之前写的 ...
- 从零开始搭建Java开发环境第一篇:Java工程师必备软件大合集
1.JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 目前主流的JDK版 ...
随机推荐
- windows服务器让WEB通过防火墙的问题
服务器环境:windows server 2012 X64WEB服务器:IIS开放8080,PHPSduty开放80 如果关闭防火墙的情况下,不论是IIS还是安装的其他的WEB服务器,都可以正常访问. ...
- pageadmin CMS网站制作教程:栏目单页内容如何修改
pageadmin CMS网站制作教程:栏目单页内容如何修改 一般情况下,如公司介绍,联系方式等介绍内页面都属于单页,单页内容可以直接在栏目设置界面进行修改,如下 1.对栏目单页内容进行设置,登录后台 ...
- PhoneGap - 解决用nmp无法安装PhoneGap问题!
PhoneGap从2.9.0开始,只采用node安装方式,安装命令如下: npm install -g phonegap 今天我使用此命令安装PhoneGap时候,始终无法安装,在网上搜索一下,最终解 ...
- nodejs 像 C 语言那样输出当前代码的行数
http://stackoverflow.com/questions/11386492/accessing-line-number-in-v8-javascript-chrome-node-js Ob ...
- asp.net mvc 5 初体验
参考:http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started 1. 新建 ASP.Net Web 应用程序,跟着向导一路 ...
- mysql8安装成功后忘记密码
我安装的是社区免安装版,安装成功后密码忘记了.参考了网上的一些方法,自己也做下笔记.仅供参考. 我安装的mysql版本下载地址:https://dev.mysql.com/downloads/mysq ...
- 部署虚拟环境安装Linux系统
目录 准备工作 安装linux系统 重置root管理员密码 源代码编译 R ...
- POJ 2242
#include <iostream> #include <cmath> #include <iomanip> using namespace std; #defi ...
- AngularJS常用Directives实例
在第一篇 认识AngularJS 中,我们已经基本了解了AngularJS,对Directive也有了一定了解,本章我们将继续介绍Directive,对其有一个更深入的了解和掌握. 常用的Direct ...
- zabbix数据库表结构解析
下面开始介绍: 1.添加监控表结构详解 (1)hosts,存储被监控的机器的信息,表结构如下: (2)items (3)hosts_templates,存储机器和模版或者模版和模版之间的关系 由于模 ...