01Java学习_概述
概述
博客中的图片内容全部采用 github 云存储,访问可能比较慢,可以想办法 github 加速。
三个阶段
- 第一阶段:建立编程思想
- 第二阶段:提升编程能力
- 第三阶段:分析需求,代码实现能力
Java 基础=JavaSE
概述
程序:计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。
历史(了解)
- 1990 sun 公司启动绿色计划
- 1992 创建 oak(橡树)语言 -> Java
- 1994 gosling 参加硅谷大会 演示 Java 功能震惊世界
- 1995 sun 正式发布 Java 的第一个版本
- 2009 甲骨文公司宣布收购 Sun。2011,发布 Java7
- ————————————
Java 之父是詹姆斯·高斯林
java 技术体系平台
Java SE(标准版)
Java EE(企业版)
Java ME(小型版)--- 因为 Android 系统出现,用的很少了。
Java 重要特点
面向对象
健壮的。
跨平台性的。(JVM)一个编译好的.class 文件可以在多个系统下运行。
解释型的语言。例如:JS,PHP,Python。编译型:C,C++.
开发工具
- notpad++,记事本,sublime(初学时候使用)
- IDEA(有一定了解后用)
- Eclipse
- Sublime Text
Java 运行机制及运行过程
- JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在 JDK 中。
- 对于不同的平台有不同的虚拟机。
- Java 虚拟机屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
text.java ->编译 Javac(需要开发工具) -> text.class -> 运行 Java(在不同的系统的 JVM)
JDK 基本介绍:
- Java Development Kit Java 开发工具包 JDK = JRE + Java 的开发工具。
- JDK 是提供给 Java 的开发人员使用,包含了 Java 的开发工具,包含 JRE,不需要单独安装 JRE 了。
JRE 基本介绍:
- Java Runtime Environment Java 运行环境 JRE = JVM + Java 的核心类库(类)
- 如果想要运行一个开发好的 Java 程序,计算机中只需要安装 JRE 即可。
此电脑相关:
右键->个性化->主题->桌面图标设置(勾选上就行)
下载和安装 JDK
网上或者官网下载。
一路安装 next。
安装路径不要有中文符号和空格
配置环境变量
- 安装完 JDK 后要配置环境变量,先我的电脑/计算机(右键)→ 属性 → 高级系统设置 → 高级 → 环境变量(或通过控制面板-系统和安全-系统高级系统设置-高级-环境变量)
- 在系统变量那部分下面,点击新建,新建
JAVA_HOME变量。
变量值填写电脑安装 jdk 的根目录(本人是D:\Java8)
变量名:
JAVA_HOME变量值:
D:\Java8 // 要根据自己的实际路径配置变量名:
CLASSPATH变量值:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //记得前面有个"."变量名:
Path变量值:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
注意: 如果使用 1.5 以上版本的 JDK,不用设置 CLASSPATH 环境变量,也可以正常编译和运行 Java 程序.
java 快速入门
需求说明
要求开发一个Hello.java程序,可以输出"hello,world!"
开发步骤
1)将Java代码编写到扩展名为Hello,java的文件中。[代码说明]
2)通过javac命令对该java文件进行编译,生成.class文件。
3)通过java命令对生成的class文件进行运行。
使用 Sublime 来写。
代码如下:
//对代码块的说明
//1.public class Hello表示Hello是一个类,public共有的类
//2.Hello{ }类的开始和结束
//3.public static void main(String[] args) 主方法程序的入口
//4.main() { } 方法的开始和结束
//5. System.out.println("Hello,world~");输出到屏幕
//6.;表示语句结束
public class text{
//编写一个主方法
public static void main(String[] args){
System.out.println("Hello,world~");
}
}
编译:在 cmd 中运行javac text.java
发现报错如下图:

原因是文件的编码问题。将文件编码切换为 GBK。在重新执行以上操作。结果如下:

然后尴尬了

查看得知是 javac 和 java 的版本不同导致,装了 2 个 Java 环境的。。。。。。继续排查吧!

真相大白了。问题找到了,那怎么解决呢?
当然是更改环境变量了。然后。如下:

我的系统变量 Path 怎么变成这样了?查阅解决方案可以知道;
如果 Path 变量中的第一行为%开头,那么当你再次点击 Path 选项卡的时候会是类似于上图这种格式的显示。能咋办,继续改呗。改完后如下图:


版本相同以后在重新编译运行一下试一试。

成功
.java 文件叫做源文件
.class 文件叫做字节码文件
编译就是 java 源文件编译成 JVM 可以识别的字节码文件
javac 是编译工具
代码没有错误,则会生成一个.class 文件,如果有错误就会报错。
注意:对修改后的源文件要重新进行编译才可以
01Java学习_概述的更多相关文章
- C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节
C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...
- python学习_数据处理编程实例(二)
在上一节python学习_数据处理编程实例(二)的基础上数据发生了变化,文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年 ...
- Linux操作系统学习_操作系统是如何工作的
实验五:Linux操作系统是如何工作的? 学号:SA1****369 操作系统工作的基础:存储程序计算机.堆栈(函数调用堆栈)机制和中断机制 首先要整明白的一个问题是什么是存储程序计算机?其实存储程序 ...
- 『TensorFlow』SSD源码学习_其一:论文及开源项目文档介绍
一.论文介绍 读论文系列:Object Detection ECCV2016 SSD 一句话概括:SSD就是关于类别的多尺度RPN网络 基本思路: 基础网络后接多层feature map 多层feat ...
- jQuery源代码学习_工具函数_type
jquery源代码学习_工具函数_type jquery里面有一个很重要的工具函数,$.type函数用来判断类型,今天写这篇文章,是来回顾type函数的设计思想,深入理解. 首先来看一下最终结果: 上 ...
- TypeScript学习_入门向
TypeScript学习_入门向 1-TypeScript简介 首先官网祭天 ---> https://www.tslang.cn/ TypeScript 是 JavaScript 的一个超集, ...
- javascript 学习一(概述+基本语法)
http://js.do/ 概述 JavaScript :脚本语言 诞生于1995年. javascript 1.0,发布于Netscape Navigator 2 @1996年3月 布兰登·艾奇( ...
- 01-Java学习笔记
本系列笔记由常彦博整理,请知悉 目 录 一. Java技术基础.................................................................... ...
- TCP/IP详解学习笔记- 概述
TCP/IP详解学习笔记(1)-- 概述1.TCP/IP的分层结构 网络协议通常分不同层次进行开发,每一层分别负责不同的同信功能.TCP/IP通常被认为是一个四层协议系统. 如图所 ...
- Unity基础学习-Unity概述
Unity 概述 Unity是一个强大的引擎,里面包括大量的工具用来满足各种各样的需求.Unity的编辑器是直观的可定制的,让您在您的工作流中有较大的自由度. 本小节是开始学习Unity的关键部分.里 ...
随机推荐
- [数据分析与可视化] Python绘制数据地图4-MovingPandas入门指北
MovingPandas是一个基于Python和GeoPandas的开源地理时空数据处理库,用于处理移动物体的轨迹数据.它提供了一组强大的工具,可以轻松地加载.分析和可视化移动物体的轨迹.通过使用Mo ...
- 基于C#的应用程序单例唯一运行的完美解决方案 - 开源研究系列文章
今次介绍一个应用程序单例唯一运行方案的代码. 我们知道,有些应用程序在操作系统中需要单例唯一运行,因为程序多开的话会对程序运行效果有影响,最基本的例子就是打印机,只能运行一个实例.这里将笔者单例运行的 ...
- Linux:通过ssh访问虚拟机
好记性抵不过烂笔头.(过段时间用的时候,总要百度一下,别费这个时间了) 语法: ssh -p port username@IP #默认22端口,可省略"-p port",即:ssh ...
- AT_agc064_a题解
题面 题目大意 给定一个正整数 \(N\),要求构造一个序列.对于每一个在 \(1\) 到 \(N\) 之间的整数 \(i\),序列中包含了 \(i\) 个,并且将该序列首尾相接拼成环后,相邻两项之差 ...
- 知识图谱(Knowledge Graph)- Neo4j 5.10.0 使用 - CQL - 太极拳传承谱系表
删除数据库中以往的图 MATCH (n) DETACH DELETE n 创建节点 CREATE命令语法 Neo4j CQL"CREATE"命令用于创建没有属性的节点. 它只是创建 ...
- module.exports和exports,应该用哪个
在 Node.js 编程中,模块是独立的功能单元,可以在项目间共享和重用.作为开发人员,模块让我们的生活更轻松,因为我们可以使用模块来增强应用程序的功能,而无需亲自编写.它们还允许我们组织和解耦代码, ...
- P3378 【模板】二叉堆
[洛谷]P3378 [模板]堆 方法一 手写堆 最小堆插入 从新增的最后一个结点的父结点开始,用要插入元素向下过滤上层结点(相当于要插入的元素向上渗透) void siftdown(int i) // ...
- Python从0到1丨详解图像锐化的Sobel、Laplacian算子
本文分享自华为云社区<[Python从零到壹] 五十八.图像增强及运算篇之图像锐化Sobel.Laplacian算子实现边缘检测>,作者: eastmount . 一.Sobel算子 So ...
- 修改经过Spring Gateway的Json数据
背景 使用Spring Cloud Gateway作为网关时经常会需要对报文内的json数据进行修改,但是目前看到的实现方法看起来都很复杂,这里提供一种使用Spring官方提供的ModifyReque ...
- Dubbo3应用开发—Dubbo直连开发相关概念:通信、协议、序列化
Dubbo RPC直连应用的概念 所谓的Dubbo RPC直连应用,指的就是Consumer直接访问Provider,而无需注册中心的接入. Dubbo完成的仅仅是RPC最基本的功能. 从这个角度Du ...