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. CodeForces 540C Ice Cave (BFS)

    http://codeforces.com/problemset/problem/540/C       Ice Cave Time Limit:2000MS     Memory Limit:262 ...

  2. 知物由学 | AI时代,那些黑客正在如何打磨他们的“利器”?(一)

    本文由  网易云发布. “知物由学”是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道.“知物由学” ...

  3. SPOJ Longest Common Substring II

    题目连接:戳我 题目大意:求n个字符串的最长公共子串. 它的简化版--这里 当然我们可以用SA写qwq,也可以用广义SAM写qwq 这里介绍纯SAM的写法...就是对其中一个建立后缀自动机,然后剩下的 ...

  4. C语言 IPv6 十六进制 转 十进制

    #include <stdio.h> #include <string.h> #include <math.h> //ipv4地址转换 int ipv4_to_i( ...

  5. iOS method swizz

    1: 防止按钮在一定时间内重复响应默认1秒 // // UIButton+AvoidDoubleClick.h // 51WaywardShop // // Created by jisa on 20 ...

  6. jzoj4419

    GFS打算去郊外建所别墅,享受生活,于是他耗费巨资买下了一块风水宝地,但令他震惊的是,一群DSJ对GFS的富贵生活深恶痛绝,决定打洞以搞破坏. 现在我们简化一下这个问题,在这片土地上会按顺序发生一系列 ...

  7. day 34 js 基础后部分 BOM 和 事件和正则

    前情提要 今天主要学习的是bom 和事件 一:正则表达式 <!DOCTYPE html> <html lang="en"> <head> < ...

  8. Windows下安装MySQL详细教程

    Windows下安装MySQL详细教程 1.安装包下载  2.安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 (7 ...

  9. 【13】JMicro微服务-ID生成与Redis

    如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 往下看前,建议完成前面1到12小节 1. 微服务中ID地位 如果说前面小节的功能点是微服务的大脑,那么全局唯一ID则是微服务 ...

  10. 【pkuwc2018】 【loj2537】 Minmax DP+线段树合并

    今年年初的时候参加了PKUWC,结果当时这一题想了快$2h$都没有想出来.... 哇我太菜啦.... 昨天突然去搜了下哪里有题,发现$loj$上有于是就去做了下. 结果第一题我5分钟就把所有细节都想好 ...