Java开发知识之Java入门

一丶了解JAVA的版本

  JAVA 有三个版本

  JAVA SE:  标准版,开发桌面跟商务应用程序 JAVA SE 包括了Java的核心类库,集合,IO 数据库连接 以及网络编程等等...

  JAVA EE:      企业版.从SE基础上发展的. 为企业级应用程序提供的解决方案.  包括技术 Servlet JSP JavaBean JDBC EJB Web Service...

  JAVA ME:     小型版本,主要是单片机使用.

二丶JAVA 语言特点.

  1.简单

    基本的方法乱来完成指定的任务.只需要了解下基本概念即可. JAVA封装了C++中的运算符重载.舍弃了多重继承..让编程更简单.

  2.面相对象

    JAVA 提供了接口,类.等等.只支持单继承.支持接口之间的多继承,并且提供了 类跟接口的实现机制 (Implements),支持动态绑定.C++之对虚函数进行了动态绑定.且C++需要加关键字(Virtual). 纯面向对象语言.万物都是对象.

  3.安全

    Java语言不支持指针.一切内存访问通过对象的变量进行实现.从而更加安全.

  4.跨平台

    C++编写的代码之间编译成二进制.运行在平台上.而如果换了平台.那么就可能出现问题.Java是一出编译,到处运行

  5支持多线程

    支持多线程.

三丶什么是JDK

   学习Java语言,常常听到的就是JDK JRE JVM .... 那么一一进行解除疑惑

   JDK: SUN公司提供的JAVA开发环境. 简称JDK 全名是: java Development Kit 是整个JAVA的核心. 包括 java编译器(javac.exe) java运行工具(java.exe). java文档生成工具 Java打包工具..

   JRE: JRE 就是JAVA的运行环境.普通用户不需要编写java代码.但是需要运行java程序.只需要安装一个jre即可.

四丶JDK的安装

  编写Java代码首先第一步就是安装JDK. 安装JDK要从Oracle官网下载.

中文官网: https://www.oracle.com/cn/downloads/index.html

JDK 下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

如果是Windows 接受许可协议,下载即可.

下载完成后:

  1.双击启动JDK进行安装

点击下一步,出现如下界面

开发工具: JDK的核心功能模块.包含javac.exe java.exe 还包含一个专用的JRE运行环境

源代码: java提供的公共的API类的源代码.

公共JRE: 如果你是JAVA编程的人.则不需要选择了.因为开发工具中已经包含了.只需要点击下拉按钮,点击此功能将不可用即可.

  2.去安装路径寻找安装的JDK

在我们上面进行安装的时候.会有一个更改路径.我们只需要更改到你的路径即可.JDK会安装到这个路径

  3.详解JDK下各个目录的含义

打开JDK目录,如下图

Bin目录: 存放一些可执行程序,如Javec.exe java.exe..

Include目录: java是C++编写的.所系需要包含一些C头文件

Jre: Java的运行环境.包含Java虚拟机, 运行是的类包, java应用启动器.以及一个bin目录.不包含java开发工具.

lib目录: library的缩写. 需要用到的一些库文件.是开发工具的归档包文件.

Src.zip:没有解压,你可以解压查看. 是存放JDK中核心类的源代码.

五丶Java的编译与运行

  javac.exe 编译一个后缀名为.java的代码的. 相当于C++中的 cl.exe的作用

  java.exe 试运行一个编译好的java程序的.

写一个Java源码即可测是.但是之前.我们需要将Bin目录加载到环境变量中.这样我们可以随时使用javac的命令 (如何配置环境变量.网上百度)

配置好环境变量.重新打开CMD 输入java命令. 如果出现内容.说明配置好了.

第一行java代码.

class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World");
}
}

格式:

  类关键字  类名 {

    公共关键字 静态关键字 类型名称 main(String[] 变量){

..........你的代码

  }

}

我们使用Javac编译一下我们的程序.

javac 文件名.java

编译之后会生成一个.class后缀的文件. 文件名就是你的类名.

例如: class HelloWord ....  那么编译出来就是HelloWorld.class.  所以建议源代码的名字跟类名是相同的. 也就是.java后缀名跟类名是相同的.

使用java 命令运行申城的class文件

正确输出了HelloWorld 字符串.

PS: 值得注意的是.如果你使用java命令编译你编写的java代码的时候.会出错. 这个时候你要小心你的扩展名是否隐藏了.如果隐藏了那么文件名就是不对的.所以就出现了错误.

ClassPath环境变量说明.

  ClassPath 是在使用Java命令运行一个类的时候.会去这个路径下寻找这个类. 跟配置JAVA_HOME 是一样的.只不过JAVA_HOME 的路径是让我们开发人员可以使用Javac 跟 Java命令.

六丶JAVA的运行机制

  上面说了如何编译跟运行Java文件.但是我们还需要了解的就是运行机制.

Java程序运行的时候.需要经过两个步骤.一个是编译.一个是运行. 编译的时候使用 Java命令编译出.class 字节码文件. 运行的时候(java) 是虚拟机将字节码文件进行解释执行.

为什么说Java一出编译,到处运行.原因就是Java 虚拟机, 简称JVM,是每个平台都有的.Java程序是运行在虚拟机上面的.需要注意的是.每个平台都有自己的JVM. JVM并不是跨平台的.只不过我们编译的Java代码可以运行在虚拟机上.实现了跨平台.

需要了解本质.

Java开发知识之Java入门的更多相关文章

  1. Java开发知识之Java中的Map结构

    Java开发知识之Java中的Map结构 一丶Map接口 Map没有实现Collection接口,提供的是Key 到Value的映射. Map中.不能包含相同的Key,每个Key只能映射一个Value ...

  2. Java开发知识之Java中的集合Set接口以及子类应用

    ---恢复内容开始--- Java开发知识之Java中的集合Set接口以及子类应用 一丶Set接口以及作用 在上一讲.我们熟悉了接口的实现图.以及自己各有的子类. List接口主要存储的数据是可以重复 ...

  3. Java开发知识之Java中的集合上List接口以及子类讲解.

    Java开发知识之Java中的集合类 一丶什么是集合类 如果你学习说数据结构,那么学习集合就很简单. 因为集合就是存储数据的结构. 例如 有链表结构 (list ) 还有 map结构.等等. 集合类就 ...

  4. Java开发知识之Java中的泛型

    Java开发知识之Java中的泛型 一丶简介什么是泛型. 泛型就是指泛指任何数据类型. 就是把数据类型用泛型替代了. 这样是可以的. 二丶Java中的泛型 Java中,所有类的父类都是Object类. ...

  5. Java开发知识之Java的枚举

    Java开发知识之Java的枚举 一丶什么是枚举 枚举可以理解为就是常量,在Java中我们定义常量.都是用 final语句. C++中都是用const关键字. 枚举跟C++概念都是一样的.就是特定的常 ...

  6. Java开发知识之Java的异常处理

    Java开发知识之Java的异常处理 一丶异常概述 在讲解异常之前,我们要搞清楚.什么是异常. 通俗理解就是我们编写的程序出问题了.进行处理的一种手段. 比如我们的QQ.有的时候就崩溃了.比如出现xx ...

  7. Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字

    Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字 一丶Java中包的机制 首先包其实就是个文件夹.作用就是管理类. Java中每次定义一个类的时候.通过Java编译之后.都会生 ...

  8. Java开发知识之Java的继承多态跟接口*

    Java开发知识之Java的继承多态跟接口 一丶继承 1.继承的写法 在Java中继承的 关键字是 extends 代表一个类继承另一个类. 继承的含义以及作用: 继承就是基于某个父类的扩展.制定出来 ...

  9. Java开发知识之Java的数字处理类Math类

    Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...

随机推荐

  1. github错误:fatal: remote origin already exists.

    原文链接:http://blog.csdn.net/dengjianqiang2011/article/details/9260435 如果输入$ Git remote add origin git@ ...

  2. 开发中少不了的Fun -- 获取地址栏URL参数

    假设这是一个url地址 http://localhost:8080/a/b/c?a=1&b=2#abc,里面包含的部分: protocol: 'http:', // 协议 host: 'loc ...

  3. 微信小程序开发-窗体设置

    "window": { "backgroundTextStyle": "light", "navigationBarBackgro ...

  4. Python课程学习总结

    Python的介绍 Python是一种高级动态.完全面向对象的语言,函数.模块.数字.字符串都是对象,并且完全支持继承.重载.派生.多继承,有益于增强源代码的复用性. Python是一种计算机程序设计 ...

  5. NeuChar 平台使用及开发教程 索引

    什么是 NeuChar? NeuChar 是由盛派(Senparc)团队发布的新一代跨平台服务系统,其中包含了开放的跨平台通讯标准及核心计算模块(Senparc.NeuChar.dll)以及配套的云管 ...

  6. 【RL-TCPnet网络教程】第34章 RL-TCPnet之SMTP客户端

    第34章      RL-TCPnet之SMTP客户端 本章节为大家讲解RL-TCPnet的SMTP应用,学习本章节前,务必要优先学习第33章的SMTP基础知识.有了这些基础知识之后,再搞本章节会有事 ...

  7. 七种经典排序算法及Java实现

    排序算法稳定性表示两个值相同的元素在排序前后是否有位置变化.如果前后位置变化,则排序算法是不稳定的,否则是稳定的.稳定性的定义符合常理,两个值相同的元素无需再次交换位置,交换位置是做了一次无用功. 下 ...

  8. SEO需要掌握的基础知识

    什么是SEO?  官方解释:  SEO是指通过对网站内部调整优化及站外优化,使网站满足搜索引擎收录排名需求,在搜索引擎中提高关键词排名, 从而把精准用户带到网站,获得免费流量,产生直接销售或品牌推广 ...

  9. [Swift]LeetCode3. 无重复字符的最长子串 | Longest Substring Without Repeating Characters

    Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...

  10. [Java]LeetCode138. 复制带随机指针的链表 | Copy List with Random Pointer

    A linked list is given such that each node contains an additional random pointer which could point t ...