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 入门之语言与环境(第一篇)的更多相关文章

  1. Java基础知识常见面试题汇总第一篇

    [Java面试题系列]:Java基础知识常见面试题汇总 第一篇 文中面试题从茫茫网海中精心筛选,如有错误,欢迎指正! 1.前言 ​ 参加过社招的同学都了解,进入一家公司面试开发岗位时,填写完个人信息后 ...

  2. java SE 入门之八大内置基本类型(第二篇)

    本文采用eclipse 工具演示,如果您对eclipse 工具不了解,请先学习下 eclipse 工具的使用,这个里面只是简单的介绍下输出和注释: 安装完成eclipse 以后,双击进入 后一次点击 ...

  3. java SE 入门之输入输出(第四篇)

    在第一篇,八大基本类型的时候,我就介绍了输出,当然,这些输出都是简单的,后续写到流的时候,在细化输入输出. 现在只要求看懂输入输出.输入其实就是接受键盘的输入. public class Hello ...

  4. java自学入门心得体会 从环境配置开始

    java —— 一种可以撰写跨平台应用软件的面向对象的程序设计语言. 很多教程里都要概述java语言的诞生发明.其实像图灵的”图灵机“和”图灵测试“一样,当初的java并不是这样. 是用来操控一些电冰 ...

  5. java SE 入门之运算符(第三篇)

    在 java 中主要有以上运算符,分为 赋值运算符 ,算术运算符.关系运算符(比较运算符),逻辑运算符和三目运算符(三元运算符). 我们一起来学习下吧! 一.赋值运算符 赋值运算符主要有五个.分别是 ...

  6. 《R语言入门》语言及环境简单介绍

    简单介绍 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/diss ...

  7. Java SE 9(JDK9)环境安装及交互式编程环境Jshell使用示例

    目的 安装JDK 9, 练习Jshell工具的使用, 体验Java的交互式编程环境. 什么是Jshell 其实就是一个命令行工具,安装完JDK9后,可以在bin目录下找到该工具,与Python的解释器 ...

  8. java SE 入门之控制语句&方法&递归算法(第五篇)

    一 控制语句(选择结构) 在学习控制语句之前,我们要先明确两件事情,什么是顺序结构(也叫做顺序执行),什么是选择结构 (分支结构或分支执行或选择执行),我们的代码执行是分为先后顺序的,就像我们之前写的 ...

  9. 从零开始搭建Java开发环境第一篇:Java工程师必备软件大合集

    1.JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 目前主流的JDK版 ...

随机推荐

  1. Caliburn.Micro(MVVM框架)

    一.首启窗体设置 1. 创建一个新的WPF应用程序并添加NuGet包:Caliburn.Micro 2. 删除项目自带的主窗口文件MainWindow.xaml 3. 在App.xaml项目文件中,删 ...

  2. 解决创建带有NameSpace的XML文件出现空白xmlns的问题

    为了能够让用户自行部署ClickOnce应用程序,需要编写一个生成ClickOnce应用程序的ClickOnce专用安装程序setup.exe,而生成这个setup.exe的方法就是编写一个XML格式 ...

  3. 附2 volatile

    注:在阅读本章之前,先要了解Java内存模型,见上一章<附1 Java内存模型与共享变量可见性>,链接如下: http://www.cnblogs.com/java-zhao/p/5124 ...

  4. ES6躬行记(22)——Promise

    在JavaScript中,回调函数是处理异步编程的常用解决方案,但层层嵌套的回调金字塔(如下代码所示)一直受人诟病,因为不仅在视觉上更加混乱,而且在管理上也更为复杂. setTimeout(() =& ...

  5. BZOJ 1001--[BeiJing2006]狼抓兔子(最短路&对偶图)

    1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 29035  Solved: 7604 Descript ...

  6. git install

    wget -O git-master.zip https://codeload.github.com/git/git/zip/master unzip git-master.zip cd git-ma ...

  7. PyMysql复习

    参考:http://www.cnblogs.com/liwenzhou/p/8032238.html 使用pycharm操作数据库. 填一个数据库名,User:填root 填写要连接的数据库. 建表. ...

  8. Vue 项目优化,持续更新...

    一.减少打包的体积 通过vue-cli 初始化项目后,使用 npm run build 生成的JS文件往往会很大,加载时间过长导致页面长时间白屏,所以我们尽可能的使用一下方法来减少打包体积. 1.1 ...

  9. IdentityServer4 密码模式实现

    1.  修改 Config.cs using System.Collections; using System.Collections.Generic; using IdentityServer4.M ...

  10. 希尔排序的理解和实现(Java)

    希尔排序原理 希尔排序(shell sort)这个排序方法又称为缩小增量排序,是1959年D·L·Shell提出来的. 该方法的基本思想是:设待排序元素序列有n个元素,首先取一个整数increment ...