[Java]快速入门

java是什么

Java是美国的sun 公司(Stanford University Network)在1995年推出的一门计算机高级编程语言

sun公司于2009年被Oracle(甲骨文)公司收购。

普遍认同lava的联合创始人之一: 詹姆斯·高斯林(James Gosling)为Java之父。

Java是世界上最流行的编程语言之一,在国内是使用最为广泛的编程语言

  • Java的开发社区完善,功能丰富。
  • Java具有很好的可移植、安全可靠、性能较好。

Java在企业级服务器领域占据超高份额

java的三大技术平台

HelloWord

1.安装JDK

java的产品叫JDK(Java Development Kit:Java开发者工具包),必须安装JDK才能使用Java。

JDK的下载: 技术人员的专业软件建议从官方网站下载。

  1. 官网下载: https://www.oracle.com/
  2. 安装前先卸载存在的版本, 避免冲突
  • 控制面板 -> 卸载程序 -> 右键卸载

  1. 傻瓜式安装: 下一步下一步
  2. 开发软件建议安装在D盘统一管理, 方便查找
  3. 安装目录不要出现空格和中文, 避免意外问题

核心工具: JDK下载完成后认识其中的核心工具

  1. 我们写好的Java程序都是高级语言,计算机底层是硬件不能识别这些语言,
  2. 必须先通过javac编译工具进行翻译,然后再通过java执行工具执行才可以驱动机器干活。

验证程序是否可用, 并查看程序版本

进入程序安装目录, 进入CDM窗口, 执行下面的命令进行验证

  • 命令行输入 -> java -> 有反应即可

  • 命令行输入 -> javac-> 有反应即可

  • 命令行输入 -> java -version -> 出现版本号

  • 命令行输入 -> javac -version -> 出现版本号

JDK的组成

  1. JVM: JVM是java的虚拟机,是真正执行java程序的地方
  2. 核心类库: 存放Java官方提供的程序, 供我们使用
  3. JRE: 是java的运行环境, 包括JVM+核心类库
  4. JDK: 是java的开发环境, 包括开发工具+运行环境

2.Path环境变量

使用命令行打开程序, 命令行工具会在当前目录查找程序的可行性文件, 如果找不到, 就会到系统的Path变量中查找程序所在目录

使用命令行打开程序, 要么在程序所在目录执行命令,要么配置环境变量, 环境变量的作用就是记住程序所在目录

配置环境变量后, 就可以在任意目录, 使用命令行工具启动程序

配置Path环境变量

  1. 打开JDK程序所在目录, 复制路径
  2. 我的电脑->属性->高级系统设置->高级->环境变量->双击Path->新建->粘贴->确定

  1. 验证: 使用命令行, 在任意目录打开程序

  1. 注意: 较新版本的JDK在安装时会自动配置环境变量
  2. 补充: 电脑中的环境变量分为 用户环境变量 和 系统环境变量

为了方便其他程序找到Java程序, 需要配置JAVA_HOME环境变量

配置JAVA_HOME环境变量

  1. 复制程序所在文件的路径
  2. 环境变量->新建->JAVA_HOME->粘贴->确定

  1. 配置完成后, 可以把Path环境变量改造一下, 目的是JDK变动后只修改JAVA_HOME即可, 更方便

3.入门程序

新建文本文档, 修改文件后缀为.java,

双击文件, 编写入门代码

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

编译代码, 得到字节码文件

运行代码, 查看程序执行效果

注意: 不要带后缀名

小结和补充

  1. 入门程序开发步骤

  1. JDK11开始, 支持直接运行源代码文件, 命令执行后会临时生成字节码文件, 而不会产生字节码文件

  1. 打开文件扩展名

  1. 其他常见错误
  • 文件名称必须与代码中的类名称一致
  • 建议代码文件名全英文,首字母大写,满足驼峰模式
  • 代码编写必须使用英文字符

跨平台原理

跨平台的概念: 一次编译, 处处可用

跨平台的原理: java提供了不同平台的JVM虚拟机, 同一套代码, 可以运行在不同操作系统中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/961141.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据分析系列--②RapidMiner导入数据和存储过程

一、下载数据 点击下载AssociationAnalysisData.xlsx数据集 二、导入数据 1. 在本地计算机中创建3个文件夹 2. 从本地选择.csv或.xlsx 三、界面说明 四、存储过程 将刚刚新建的过程存储到本地 Congratulations, you are done.

【源码+文档+调试讲解】基于springboot的高校实验室预约系统

摘 要 高校实验室预约系统是一款专为高等教育机构设计的在线管理工具,旨在简化实验室资源的分配和使用。通过该系统,学生和教师可以轻松查看实验室的空闲时间,并进行实时预约。系统支持不同用户权限设置,确保资源合理分配&#x…

MIMIC-IV数据部署(博主较忙,缓慢更新)

1. 用到的数据准备 在下面的网站,注册、申请、推荐人从邮箱里帮忙确认。 通过后,拉到页面的最下面。把那个将近10个G的文件给下载下来。 可以在晚上睡觉的时候下载,第二天早上起来“收数据”。 MIMIC-IV v3.1 2. 用到的软件准备 7-zip …

6. 使用springboot做一个音乐播放器软件项目【1.0版项目完结】附带源码~

#万物OOP 注意: 本项目只实现播放音乐和后台管理系统。 不分享任何音乐歌曲资源。 上一篇文章我们 做了音乐播放器后台的功能。参考地址: https://jsonll.blog.csdn.net/article/details/145214363 这个项目已经好几天也没更新了,因为临近放…

macbook安装go语言

通过brew来安装go语言 使用brew命令时,一般都会通过brew search看看有哪些版本 brew search go执行后,返回了一堆内容,最下方展示 If you meant "go" specifically: It was migrated from homebrew/cask to homebrew/core. Cas…

装机爱好者的纯净工具箱

对于每一位电脑用户来说,新电脑到手后的第一件事通常是检测硬件性能。今天为大家介绍一款开源且无广告的硬件检测工具——入梦工具箱。 主要功能 硬件信息一目了然 打开入梦工具箱,首先看到的是硬件信息概览。这里不仅包含了内存、主板、显卡、硬盘等常…

数据分析系列--③RapidMiner算子说明及数据预处理

一、算子说明 1 新建过程 2 算子状态灯 状态灯说明: (1)状态指示灯: 红色:指示灯说明有参数未被设置或输入端口未被连接等问题; 黄色:指示灯说明还未执行算子,不管配置是否基本齐全; 绿色:指示灯说明一切正常,已成功执行算子。 (2)三角…

PVE 虚拟机安装 Debian 无图形化界面服务器

Debian 安装 Debian 镜像下载 找一个Debian镜像服务器,根据需要的版本和自己硬件选择。 iso-cd/:较小,仅包含安装所需的基础组件,可能需要网络访问来完成安装。有镜像 debian-12.9.0-amd64-netinst.isoiso-dvd/:较…

操作系统指定用户密码永不过期

背景 实际生产环境中,数据中心操作系统通常会有基线要求(比如等保之类),要求设置操作系统密码有效期,但是infra团队或者操作系统管理员或者某些业务配置使用的操作系统用户又需要密码不能不停修改(或者说一…

npm:升级自身时报错:EBADENGINE

具体报错信息如下: 1.原因分析 npm和当前的node版本不兼容。 // 当前实际版本: Actual: {"npm":"10.2.4","node":"v20.11.0"}可以通过官网文档查看与自己 node 版本 兼容的是哪一版本的npm,相对应进行更新即可…

解决报错“The layer xxx has never been called and thus has no defined input shape”

解决报错“The layer xxx has never been called and thus has no defined input shape”(这里写自定义目录标题) 报错显示 最近在跑yolo的代码时遇到这样一个错误,显示“the layer {self.name} has never been called”.这个程序闲置了很久,每次一遇到…

【图文详解】lnmp架构搭建Discuz论坛

安装部署LNMP 系统及软件版本信息 软件名称版本nginx1.24.0mysql5.7.41php5.6.27安装nginx 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 关闭防火墙 systemctl stop firewalld &&a…

基于物联网的火灾报警器设计与实现(论文+源码)

1 总体方案设计 本次基于物联网的火灾报警器,其系统总体架构如图2.1所示,采用STM32f103单片机作为控制器,通过DS18B20传感器实现温度检测;通过MQ-2烟雾传感器实现烟雾检测;.通过火焰传感器实现火焰检测,当…

记录 | MaxKB创建本地AI智能问答系统

目录 前言一、重建MaxKBStep1 复制路径Step2 删除MaxKBStep3 创建数据存储文件夹Step4 重建 二、创建知识库Step1 新建知识库Step2 下载测试所用的txtStep3 上传本地文档Step4 选择模型补充智谱的API Key如何获取 Step5 查看是否成功 三、创建应用Step1 新建应用Step2 配置AI助…

机器学习 - 初学者需要弄懂的一些线性代数的概念

一、单位矩阵 在数学中,单位矩阵是一个方阵,其主对角线上的元素全为1,其余元素全为0。单位矩阵在矩阵乘法中起到类似于数字1在数值乘法中的作用,即任何矩阵与单位矩阵相乘,结果仍为原矩阵本身。 单位矩阵的定义&…

FPGA 使用 CLOCK_LOW_FANOUT 约束

使用 CLOCK_LOW_FANOUT 约束 您可以使用 CLOCK_LOW_FANOUT 约束在单个时钟区域中包含时钟缓存负载。在由全局时钟缓存直接驱动的时钟网段 上对 CLOCK_LOW_FANOUT 进行设置,而且全局时钟缓存扇出必须低于 2000 个负载。 注释: 当与其他时钟约束配合…

React第二十六章(createPortal)

createPortal 注意这是一个API&#xff0c;不是组件&#xff0c;他的作用是&#xff1a;将一个组件渲染到DOM的任意位置&#xff0c;跟Vue的Teleport组件类似。 用法 import { createPortal } from react-dom;const App () > {return createPortal(<div>小满zs<…

文献阅读 250128-Tropical forests are approaching critical temperature thresholds

Tropical forests are approaching critical temperature thresholds 来自 <Tropical forests are approaching critical temperature thresholds | Nature> 热带森林正在接近临界温度阈值 ## Abstract: The critical temperature beyond which photosynthetic machinery…

RubyFPV开源代码之系统简介

RubyFPV开源代码之系统简介 1. 源由2. 工程架构3. 特性介绍&#xff08;软件&#xff09;3.1 特性亮点3.2 数字优势3.3 使用功能 4. DEMO推荐&#xff08;硬件&#xff09;4.1 天空端4.2 地面端4.3 按键硬件Raspberry PiRadxa 3W/E/C 5. 软件设计6. 参考资料 1. 源由 RubyFPV以…

单片机-STM32 WIFI模块--ESP8266 (十二)

1.WIFI模块--ESP8266 名字由来&#xff1a; Wi-Fi这个术语被人们普遍误以为是指无线保真&#xff08;Wireless Fidelity&#xff09;&#xff0c;并且即便是Wi-Fi联盟本身也经常在新闻稿和文件中使用“Wireless Fidelity”这个词&#xff0c;Wi-Fi还出现在ITAA的一个论文中。…