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版 ...
随机推荐
- 第五章 JVM垃圾收集器(1)
说明:垃圾回收算法是理论,垃圾收集器是回收算法的实现,关于回收算法,见<第四章 JVM垃圾回收算法> 1.七种垃圾收集器 Serial(串行GC)-- 复制 ParNew(并行GC)-- ...
- Javassist简介
Javassist是一个开源的分析.编辑和创建Java字节码的类库.是由东京工业大学的数学和计算机科学系的 Shigeru Chiba (千叶 滋)所创建的.它已加入了开放源代码JBoss 应用服务器 ...
- java入门——面向对象
简介 对象具有自己的状态和行为: 描述一个对象具有什么状态和行为的过程叫做建模,不同的意图下我们对同一个事物的描述会产生不同的模型. 类 类描述一类对象的状态和行为的模板.可以把类想象成一个汽车设计图 ...
- jzoj3519
我們考慮將一個節點x的所有兒子的數都改成y 記lcm[x]表示一個點的所有子節點的lcm值 那麼我們會發現y*deg[x] 要被lcm[x]整除 那麼x就會比x所有子節點最小的數小,記為z 那麼x就是 ...
- FunDA(7)- Reactive Streams to fs2 Pull Streams
Reactive-Stream不只是简单的push-model-stream, 它还带有“拖式”(pull-model)性质.这是因为在Iteratee模式里虽然理论上由Enumerator负责主动推 ...
- python实战——网络爬虫之request
Urllib库是python中的一个功能强大的,用于操做URL,并在做爬虫的时候经常要用到的库,在python2中,分为Urllib和Urllib2两个库,在python3之后就将两个库合并到Urll ...
- Java自学路线
万事开头难,学习Java亦是如此.而在学习的开始,选择正确的学习路线更是尤为重要.在本文中我将分享本人自学转行路上的学习路线,希望能给想自学,却不知道方向的同学带来帮助~ 1 .JavaSE 基础 这 ...
- linux中进程和计划任务管理
进程和计划任务管理 1. 程序和进程的关系 程序:保存在硬盘.光盘等介质中的可执行代码和数据:静态保存的代码 进程:在 CPU 及内存中运行的程序代码:动态执行的代码:父.子进程:每个进程可以创建一个 ...
- JS: 数据结构与算法之栈
栈 先来看一道题 Leetcode 32 Longest Valid Parentheses (最长有效括号) 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度. 示例 ...
- POJ 2371
#include<iostream> #include<stdio.h> #include<string> using namespace std; int com ...