概述

博客中的图片内容全部采用 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 基本介绍:

  1. Java Development Kit Java 开发工具包 JDK = JRE + Java 的开发工具。
  2. JDK 是提供给 Java 的开发人员使用,包含了 Java 的开发工具,包含 JRE,不需要单独安装 JRE 了。

JRE 基本介绍:

  1. Java Runtime Environment Java 运行环境 JRE = JVM + Java 的核心类库(类)
  2. 如果想要运行一个开发好的 Java 程序,计算机中只需要安装 JRE 即可。

此电脑相关:

右键->个性化->主题->桌面图标设置(勾选上就行)

下载和安装 JDK

  1. 网上或者官网下载。

  2. 一路安装 next。

  3. 安装路径不要有中文符号和空格

配置环境变量

  1. 安装完 JDK 后要配置环境变量,先我的电脑/计算机(右键)→ 属性 → 高级系统设置 → 高级 → 环境变量(或通过控制面板-系统和安全-系统高级系统设置-高级-环境变量)
  2. 在系统变量那部分下面,点击新建,新建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 文件叫做字节码文件

  1. 编译就是 java 源文件编译成 JVM 可以识别的字节码文件

  2. javac 是编译工具

  3. 代码没有错误,则会生成一个.class 文件,如果有错误就会报错。

注意:对修改后的源文件要重新进行编译才可以

01Java学习_概述的更多相关文章

  1. C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节

    C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...

  2. python学习_数据处理编程实例(二)

    在上一节python学习_数据处理编程实例(二)的基础上数据发生了变化,文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年 ...

  3. Linux操作系统学习_操作系统是如何工作的

    实验五:Linux操作系统是如何工作的? 学号:SA1****369 操作系统工作的基础:存储程序计算机.堆栈(函数调用堆栈)机制和中断机制 首先要整明白的一个问题是什么是存储程序计算机?其实存储程序 ...

  4. 『TensorFlow』SSD源码学习_其一:论文及开源项目文档介绍

    一.论文介绍 读论文系列:Object Detection ECCV2016 SSD 一句话概括:SSD就是关于类别的多尺度RPN网络 基本思路: 基础网络后接多层feature map 多层feat ...

  5. jQuery源代码学习_工具函数_type

    jquery源代码学习_工具函数_type jquery里面有一个很重要的工具函数,$.type函数用来判断类型,今天写这篇文章,是来回顾type函数的设计思想,深入理解. 首先来看一下最终结果: 上 ...

  6. TypeScript学习_入门向

    TypeScript学习_入门向 1-TypeScript简介 首先官网祭天 ---> https://www.tslang.cn/ TypeScript 是 JavaScript 的一个超集, ...

  7. javascript 学习一(概述+基本语法)

    http://js.do/ 概述 JavaScript :脚本语言 诞生于1995年. javascript 1.0,发布于Netscape Navigator 2  @1996年3月 布兰登·艾奇( ...

  8. 01-Java学习笔记

    本系列笔记由常彦博整理,请知悉 目  录 一. Java技术基础.................................................................... ...

  9. TCP/IP详解学习笔记- 概述

    TCP/IP详解学习笔记(1)-- 概述1.TCP/IP的分层结构      网络协议通常分不同层次进行开发,每一层分别负责不同的同信功能.TCP/IP通常被认为是一个四层协议系统.      如图所 ...

  10. Unity基础学习-Unity概述

    Unity 概述 Unity是一个强大的引擎,里面包括大量的工具用来满足各种各样的需求.Unity的编辑器是直观的可定制的,让您在您的工作流中有较大的自由度. 本小节是开始学习Unity的关键部分.里 ...

随机推荐

  1. Go命令

    build: 编译包和依赖 clean: 移除对象文件 doc: 显示包或者符号的文档 env: 打印go的环境信息 bug: 启动错误报告 fix: 运行go tool fix fmt: 运行gof ...

  2. laravel artisan 常用命令

    命令 说明 php artisan key:generate 生成 App Key php artisan make:controller 生成控制器 php artisan make:model 生 ...

  3. 树莓派烧录系统并在无外接屏幕的情况下连接VNC

    ​ 上个月老板给了块树莓派3B,开心坏了,在咸鱼上掏了很多零件,花了一段时间做出了一个二驱动的智能小车,但是觉得小车太小,就在又在咸鱼上掏了个四区的地盘,但是在拆卸的过程中,发现树莓派WIFI没有了, ...

  4. jdk安装自动化

    写个在linux环境安装Java的脚本(install_java.sh),只需将jdk上传至/opt目录下,执行脚本即可. #!/bin/bash #author:zhangyl #本安装使用jdk版 ...

  5. Docker从入门到部署项目

    Docker概念 Docker是一个开源的应用容器引擎,它是基于Go语言并遵从Apache2.0协议开源.Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流 ...

  6. 文心一言 VS 讯飞星火 VS chatgpt (76)-- 算法导论7.3 1题

    一.如果用go语言,为什么我们分析随机化算法的期望运行时间,而不是其最坏运行时间呢? 文心一言: 在分析算法的性能时,期望运行时间是一个重要的指标,它描述了算法在平均情况下的表现.期望运行时间考虑了所 ...

  7. 混合开发模式是否可以在App备案制度下突围

    网站 ICP 备案已施行了很久,我们也非常清楚必须在进行 ICP 备案后,网站才能在大陆范围合法运营,并且用户可以通过域名正常访问网站. 但是月初出了新规,明年起,国内的 App 也要像网站一样进行备 ...

  8. 如何基于 Kubernetes 实现优质开发者平台体验?

    内部开发者平台(或 IDP)是使开发团队能够更快.更轻松.更一致地交付应用程序的基础设施.Kubernetes 本身是一个功能强大的平台,但它引入了太多复杂性和功能,因此不能简单地将其作为 IDP 交 ...

  9. 每日一题:AJAX进度监控(附可运行源码)

    1.什么是AJAX AJAX(Asynchronous JavaScript and XML)是一种用于在网页上进行异步通信的技术.它允许在不刷新整个页面的情况下,通过在后台与服务器进行数据交换来更新 ...

  10. 2023年Vue开发中的8个最佳工具

    前言 Vue.js,一款当今非常流行的基于JavaScript的开源框架,旨在构建动态的可交互应用. Vue.js以其直观的语法和灵活的架构而广受全球开发者的欢迎和赞誉.随着时间的推移,Vue不断进化 ...