当前位置: 首页 > news >正文

蓝桥杯JAVA--启蒙之路(一)JAVA环境配置

一前言

从今天开始我们就开启了我的蓝桥杯的启蒙之路,由于我的大胆,我报的是Java赛道,这是一个全新的赛道,但其实按照我接触过的c++赛道来讲,什么编程语并不重要,重要的是数据结构,算法,思路本身,所以即使报的不是Java赛道的同学也可以关注,因为Java的学习只占这个系列的很少一部分,主要的Java学习未来会有一个专门的系列。

注:本文有关Java基础知识的学习来自廖雪峰https://liaoxuefeng.com/index.html?src=redirect

二主要内容--配置vscode+Java环境

一JDK的安装与配置

我选用的是大家很熟悉的软件vscode,他的插件足够便利,足够丰富,占用的内存足够小。

1大家可以直接看一位博主的教程VSCode教程之配置Java环境_vscode配置java开发环境-CSDN博客

足够清楚,但是要注意两点

1安装JDK.exe的地址不要与后面的下载地址一致,否则会造成安装失败

2在测试环境时代码中的public classtest1 ,必须要与上面的文件名一致。

eg:test1,java对应这里的test1

二vscode调试

还有就是我习惯用终端所以我补充一下用终端运行代码

打开文本编辑器,输入以下代码:

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

在一个Java程序中,你总能找到一个类似:

public class Hello { ... }

的定义,这个定义被称为class(类),这里的类名是Hello,大小写敏感,class用来定义一个类,public表示这个类是公开的,publicclass都是Java的关键字,必须小写,Hello是类的名字,按照习惯,首字母H要大写。而花括号{}中间则是类的定义。

注意到类的定义中,我们定义了一个名为main的方法:

public static void main(String[] args) { ... }

方法是可执行的代码块,一个方法除了方法名main,还有用()括起来的方法参数,这里的main方法有一个参数,参数类型是String[],参数名是argspublicstatic用来修饰方法,这里表示它是一个公开的静态方法,void是方法的返回类型,而花括号{}中间的就是方法的代码。

方法的代码每一行用;结束,这里只有一行代码,就是:

System.out.println("Hello, world!");

它用来打印一个字符串到屏幕上。

第一步,在保存Hello.java的目录下执行命令javac Hello.java

$ javac Hello.java

如果源代码无误,上述命令不会有任何输出,而当前目录下会产生一个Hello.class文件:

$ ls Hello.class Hello.java

第二步,执行Hello.class,使用命令java Hello(注意不是java Hello.class):

$ java Hello Hello, world!

注意:给虚拟机传递的参数Hello是我们定义的类名,虚拟机自动查找对应的class文件并执行。

如果执行java Hello报错:

$ java Hello Error: Could not find or load main class Hello Caused by: java.lang.ClassNotFoundException: Hello

出现ClassNotFoundException信息,说明在当前目录下并没有Hello.class这个文件,请切换到Hello.class的目录,然后执行java Hello

有一些童鞋可能知道,直接运行java Hello.java也是可以的:

$ java Hello.java Hello, world!

这是从Java 11开始新增的一个功能,它可以直接运行一个单文件源码!

需要注意的是,在实际项目中,单个不依赖第三方库的Java源码是非常罕见的,所以,绝大多数情况下,我们无法直接运行一个Java源码文件,原因是它需要依赖其他的库。

java规定,某个类定义的public static void main(String[] args)是Java程序的固定入口方法,因此,Java程序总是从main方法开始执行。

注意到Java源码的缩进不是必须的,但是用缩进后,格式好看,很容易看出代码块的开始和结束,缩进一般是4个空格或者一个tab。(和python不一样,python的缩进真的头疼)

最后,当我们把代码保存为文件时,文件名必须是Hello.java,而且文件名也要注意大小写,因为要和我们定义的类名Hello完全保持一致。

如何运行Java程序

Java源码本质上是一个文本文件,我们需要先用javacHello.java编译成字节码文件Hello.class,然后,用java命令执行这个字节码文件:

┌──────────────────┐ │ Hello.java │◀── source code └──────────────────┘ │ compile ▼ ┌──────────────────┐ │ Hello.class │◀── byte code └──────────────────┘ │ execute ▼ ┌──────────────────┐ │ Run on JVM │ └──────────────────┘

因此,可执行文件javac是编译器,而可执行文件java就是虚拟机。

三使用IDE(目前只是学习基础知识,所以不用IDE了解即可)

E是集成开发环境:Integrated Development Environment的缩写。

使用IDE的好处在于,可以把编写代码、组织项目、编译、运行、调试等放到一个环境中运行,能极大地提高开发效率。

IDE提升开发效率主要靠以下几点:

  • 编辑器的自动提示,可以大大提高敲代码的速度;
  • 代码修改后可以自动重新编译,并直接运行;
  • 可以方便地进行断点调试。

目前,流行的用于Java开发的IDE有:

Eclipse

Eclipse是由IBM开发并捐赠给开源社区的一个IDE,也是目前应用最广泛的IDE。Eclipse的特点是它本身是Java开发的,并且基于插件结构,即使是对Java开发的支持也是通过插件JDT实现的。

除了用于Java开发,Eclipse配合插件也可以作为C/C++开发环境、PHP开发环境、Rust开发环境等。

IntelliJ Idea

IntelliJ Idea是由JetBrains公司开发的一个功能强大的IDE,分为免费版和商用付费版。JetBrains公司的IDE平台也是基于IDE平台+语言插件的模式,支持Python开发环境、Ruby开发环境、PHP开发环境等,这些开发环境也分为免费版和付费版。

NetBeans

NetBeans是最早由SUN开发的开源IDE,由于使用人数较少,目前已不再流行。

三最后一语

今天就先配置环境,明天我们将正式学习java

我一切的努力,无论在哪方面,无论面对什么样的不幸和幻灭,都是为了能够再和世界有所接触。
——加缪《加缪手记》

感谢观看,共勉!!

http://www.cnnetsun.cn/news/93131.html

相关文章:

  • 我发现糖尿病预测跑出-15%后来才知道漏处理缺失值补多重插补才稳住
  • 跨境电商物流选择指南:从痛点分析到智能决策
  • 百度网盘解析工具:3分钟告别下载限速烦恼
  • FreeMove终极指南:Windows文件迁移的革命性解决方案
  • FeHelper全能工具箱:前端开发效率提升终极指南
  • QQ空间历史说说完整备份指南:永久珍藏你的数字记忆
  • 十大MCP Server方案,让DevOps步入智能新时代
  • VUE3:深入浅出探究pinia、provide\inject在多层组件页面是怎么使用的
  • Molecular Operating Environment (MOE) 完整安装与配置指南
  • LobeChat能否用于生成直播话术?电商主播提词器
  • 终极C++网络编程:构建高性能HTTP服务的完整指南
  • 显卡驱动终极清理指南:一键彻底解决兼容性问题
  • Zotero GPT:用AI重新定义文献管理效率
  • LobeChat与LangChain结合应用:打造复杂AI工作流
  • 突破60帧束缚:原神性能优化工具深度解析
  • 云计算作业—-V L AN实验
  • 当连锁巡检“听懂人话”:VLM技术下的智能运营新场景
  • 责任链模式(Chain of Responsibility):实现事件或请求的逐级处理与传递
  • SMUDebugTool深度探索:解锁AMD Ryzen系统的隐藏性能
  • JavaScript 中的单例模式:利用闭包、IIFE 或 ES Modules 实现线程安全的单例
  • CORS 机制中的预检请求(Preflight Request):为什么 OPTIONS 请求总是先于复杂请求发送?
  • Google Drive文件下载终极指南:简单快速解决下载难题
  • 面对一个新领域,如何快速摸清门道?试试“一键生成”研究地图
  • 终极指南:5步实现全球付费内容免费阅读
  • GBase 8s数据库SYSTIMESTAMP表达式介绍(上)
  • 从“秒级”到“毫秒级”:金仓如何让InfluxDB的“时序神话”黯然失色?
  • zotero-style插件深度解析:从零打造高效文献管理生态
  • 5倍推理加速:Axolotl缓存策略如何终结重复计算瓶颈
  • LobeChat能否部署在华为云弹性云服务器?国产化替代实践
  • LobeChat备份与恢复策略:防止重要对话丢失