Java开发知识之Java入门
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入门的更多相关文章
- Java开发知识之Java中的Map结构
Java开发知识之Java中的Map结构 一丶Map接口 Map没有实现Collection接口,提供的是Key 到Value的映射. Map中.不能包含相同的Key,每个Key只能映射一个Value ...
- Java开发知识之Java中的集合Set接口以及子类应用
---恢复内容开始--- Java开发知识之Java中的集合Set接口以及子类应用 一丶Set接口以及作用 在上一讲.我们熟悉了接口的实现图.以及自己各有的子类. List接口主要存储的数据是可以重复 ...
- Java开发知识之Java中的集合上List接口以及子类讲解.
Java开发知识之Java中的集合类 一丶什么是集合类 如果你学习说数据结构,那么学习集合就很简单. 因为集合就是存储数据的结构. 例如 有链表结构 (list ) 还有 map结构.等等. 集合类就 ...
- Java开发知识之Java中的泛型
Java开发知识之Java中的泛型 一丶简介什么是泛型. 泛型就是指泛指任何数据类型. 就是把数据类型用泛型替代了. 这样是可以的. 二丶Java中的泛型 Java中,所有类的父类都是Object类. ...
- Java开发知识之Java的枚举
Java开发知识之Java的枚举 一丶什么是枚举 枚举可以理解为就是常量,在Java中我们定义常量.都是用 final语句. C++中都是用const关键字. 枚举跟C++概念都是一样的.就是特定的常 ...
- Java开发知识之Java的异常处理
Java开发知识之Java的异常处理 一丶异常概述 在讲解异常之前,我们要搞清楚.什么是异常. 通俗理解就是我们编写的程序出问题了.进行处理的一种手段. 比如我们的QQ.有的时候就崩溃了.比如出现xx ...
- Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字
Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字 一丶Java中包的机制 首先包其实就是个文件夹.作用就是管理类. Java中每次定义一个类的时候.通过Java编译之后.都会生 ...
- Java开发知识之Java的继承多态跟接口*
Java开发知识之Java的继承多态跟接口 一丶继承 1.继承的写法 在Java中继承的 关键字是 extends 代表一个类继承另一个类. 继承的含义以及作用: 继承就是基于某个父类的扩展.制定出来 ...
- Java开发知识之Java的数字处理类Math类
Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...
随机推荐
- jquery 操作服务端控件,select 控件
<asp:DropDownList ID="ddl" runat="server"></asp:DropDownList> <se ...
- tensorflow 使用 3 模型学习
模型学习 import tensorflow as tf import numpy as np # 生成 100 个随机的点 x_data = np.random.rand( 100 ) y_data ...
- 数据分析 大数据之路 三 numpy
import numpy as np a = np.arange(9) b = a.reshape(3,3) print(b) print(b.max(axis=0)) # axis=0 示为 Y 轴 ...
- cookie设置域名问题,cookie跨域
今天研究一天发现cookie无法设置除当前域名或者其父域名之外的其他domain. 这个是浏览器出于对cookie的保护造成的,也就是cookie无法跨域设置. 对于子域名也有如下规则,当前域名只能设 ...
- 禁止字符串 [POJ3691缩减版]
题意考虑只由'A','G','C','T'四种字符组成的DNA字符串给定一个长度为k的字符串S,计算长度恰好为n的且不包含S的字符串的个数输入结果对10009取膜1<=k<=100,1&l ...
- Django之csrf防御机制
1.csrf攻击过程 csrf攻击说明: 1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A; 2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站 ...
- shuffle的工作原理
Shuffle的正常意思是洗牌或弄乱,可能大家更熟悉的是Java API里的Collections.shuffle(List)方法,它会随机地打乱参数list里的元素顺序.如果你不知道MapReduc ...
- TCPDF解决保存中文文件名的方法
PHP使用TCPDF生成PDF文件时,如果文件名是中文会被直接过滤掉,以下是TCPDF不能保存中文文件名的解决方法: 打开tcpdf.php文件,找到output函数,大约在8467行 或(7554) ...
- mongodb怎么创建数据库和配置用户
mongodb怎么创建数据库和配置用户,远程连接是不够的,还要上去操作和放数据的. 系统:centos 5.x 环境:mongodb 1.安装mongodb 这步就不说了,大家自己去看Centos安装 ...
- 使用cAdvisor+Influxdb+Grafana监控系统
今天准备开始研究研究当前非常流行的Grafana+Influxdb监控系统,两者都是非常轻量级的应用但是功能却异常强大,可以说Grafana在作图显示方面真的毫不逊色与Cacti. 组件介绍 cA ...