讲师中心 微信公众号
AI工具推荐 视频效率加速

IntelliJ IDEA控制台运行与交互实战

小丽吖_7643

小丽吖_7643

发布时间:2026-08-14 16:00:29

|

606人浏览过

|

来源于php中文网

原创

IntelliJ IDEA提供JShell Console和Scratch文件两种零配置交互式执行方式:JShell支持变量跨行复用与实时反馈,基于Java 9+ REPL;Scratch文件支持完整Java语法与项目类路径绑定,但变量不跨运行复用。

intellij idea控制台运行与交互实战

在IntelliJ IDEA中快速运行Java代码并复用变量

你需要验证一段Java逻辑、临时测试API返回值,或边写边看变量变化——不是每次都要新建类、写public static void main、编译再运行。IntelliJ IDEA原生支持两种零配置交互式执行路径:一种是启动即用的JShell Console,另一种是无需保存文件的Scratch文件,两者都能声明变量、跨行调用、实时反馈,且变量作用域持续存在直到控制台关闭。

启动JShell Console执行Java代码

这是最接近Python Console体验的方式,基于Java 9+内置的JShell REPL引擎,所有输入直接解析执行,不经过编译,变量自动保留。

打开IntelliJ IDEA → 顶部菜单栏选择 Tools → JShell Console。

控制台窗口弹出后,光标停在jshell>提示符后,此时可直接输入任意合法Java语句。例如输入int a = 42;并回车,不会报错也不会静默——它已成功声明变量a。

紧接着输入a * 2并回车,控制台立即输出$1 == 84;再输入String msg = "Hello"; → msg.toUpperCase(),第二行会直接返回$3 == "HELLO"。注意:每行表达式结果都会被自动赋给一个resN或$N临时变量,你可以在后续行中直接引用$1或res0。

【JShell不支持package声明和import语句的简写形式】,如需使用外部类,必须写完整类名(如java.time.LocalDate.now())或先执行import java.time.*;。漏掉import会导致“cannot find symbol”错误,且该错误不会高亮提示,仅在控制台输出红色文字。

用Scratch文件做轻量级Java原型验证

当你需要多方法定义、类结构预演,或想把某段交互逻辑暂存下来反复运行,Scratch文件比JShell更合适——它本质是内存中的临时.java文件,支持完整语法,还能随时保存为真实源码。

方法一:快捷键创建
按 Ctrl+Alt+Shift+Insert(Windows/Linux)或 Cmd+Option+Shift+N(macOS)→ 在弹出菜单中选择 Kotlin 或 Java → 点击OK。

Personal Ideas
Personal Ideas

在创意主题中,作为用户的想法捕捉与头脑风暴伙伴,捕捉灵感、发展思路、连接过去的想法。适用于面对面时。

下载

方法二:菜单创建
顶部菜单栏 → File → New → Scratch File → 在弹窗中选择语言为Java → 点击OK。

新标签页打开后,编辑器内默认为空白。直接输入:

public class Temp {<br>  public static void main(String[] args) {<br>    var list = List.of("a", "b", "c");<br>    System.out.println(list.size());<br>  }<br>}

点击编辑器左上角绿色三角形 ▶ 按钮(或按 Ctrl+Alt+0 W),IDEA会自动编译并运行该临时类,输出结果直接显示在下方Run工具窗口中。这一步不生成.class文件,也不影响项目结构。

修改代码后再次点击运行按钮,旧输出会被清空,新结果追加显示——无需手动清理控制台。但注意:【Scratch文件中定义的变量无法跨多次运行复用】,每次点击运行都相当于重启JVM,变量生命周期仅限本次执行。若要跨运行复用,必须改用JShell Console。

让Scratch文件访问项目内自定义类

默认Scratch文件运行时类路径只包含JDK和基础库,无法直接new你项目里的Service或Entity类。要启用项目上下文,必须显式绑定模块。

第一步:确保你的Java Scratch文件已保存(即使内容为空,也需Ctrl+S触发保存动作);
第二步:点击编辑器左上角绿色三角形旁的小箭头 ▼ → 选择 Run 'xxx.java' with Module Classpath;
第三步:在弹出的模块选择框中,勾选你当前项目的主模块(通常名为your-project-name.main)→ 点击OK。

此时Scratch文件就能识别并调用com.example.service.UserService等项目内类了。如果忘记勾选模块,运行时会抛出ClassNotFoundException,错误堆栈里看不到具体缺失类名,只显示“class not found”,排查时需回头检查这一步是否遗漏。

绑定后,下次运行自动沿用该配置,无需重复操作。

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

相关专题

更多
PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

20

2026.10.10

Kratos框架HTTP与gRPC服务开发教程
Kratos框架HTTP与gRPC服务开发教程

本专题围绕Kratos框架双协议服务开发,涵盖HTTP路由与处理器编写、参数获取、gRPC服务实现与客户端调用、metadata上下文传递、encoding编解码注册、统一响应封装、超时控制与流式响应实现方法。

20

2026.10.10

Kratos框架Protobuf接口定义与代码生成合集
Kratos框架Protobuf接口定义与代码生成合集

本专题讲解Kratos框架接口定义体系,涵盖proto编写规范、proto add/client/server生成命令、http注解路由、validate校验、OpenAPI文档生成、跨服务proto复用与兼容性设计。

0

2026.10.10

C++虚函数怎么定义和调用
C++虚函数怎么定义和调用

C++虚函数是实现运行时多态的重要机制。本专题从virtual关键字的基本用法入手,介绍基类与派生类之间的函数重写、基类指针调用派生类方法,以及动态绑定的执行过程,帮助初学者掌握虚函数的核心语法。

20

2026.10.10

C++类与对象的封装方法教程
C++类与对象的封装方法教程

C++封装是面向对象编程的核心特性之一,通过类将数据与操作数据的函数组织在一起,并利用访问权限控制外部访问。本专题介绍类的定义、成员变量、成员函数以及public、private和protected的使用方法,帮助初学者掌握封装的基本原理。

20

2026.10.10

C++构造函数定义与调用方法
C++构造函数定义与调用方法

C++构造函数用于初始化类对象,是面向对象编程的重要基础。本专题从构造函数的定义、声明和调用入手,介绍默认构造函数、带参数构造函数、拷贝构造函数及成员初始化列表,帮助初学者掌握对象创建与初始化的基本方法。

20

2026.10.10

Kratos框架零基础入门教程
Kratos框架零基础入门教程

本专题整理Kratos框架入门内容,涵盖Go环境准备、kratos CLI安装升级、new命令创建项目、目录结构分层说明、服务启动与双协议端口、依赖下载报错排查,帮助开发者快速跑通第一个Kratos框架微服务应用。

20

2026.10.10

C++条件判断语句怎么写
C++条件判断语句怎么写

C++条件判断是控制程序执行流程的重要基础。本专题介绍if、if-else、else if和switch等常见分支语句,结合条件表达式、比较运算符与代码示例,帮助初学者掌握不同场景下的判断逻辑。

0

2026.10.10

C++变量怎么声明和赋值
C++变量怎么声明和赋值

C++变量是编写程序和存储数据的基础。本专题围绕变量声明、定义、初始化、赋值和类型选择等内容展开,帮助初学者理解不同变量的用法,并掌握在实际代码中定义和使用变量的方法。

20

2026.10.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn