08从零开始学Java之记事本怎么编写Java代码?

作者:孙玉昌,昵称【 一一哥】,另外【 壹壹哥】也是我哦
CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者

配套开源项目资料

GitHub地址: https://github.com/SunLtd/LearnJava
Gitee地址: https://gitee.com/sunyiyi/LearnJava

前言

在上一篇文章中,壹哥给大家介绍了Java中的标识符及其命名规则、规范,Java里的关键字和保留字,以及Java中的编码规范。这些内容你有没有掌握呢?

我们在之前编写案例时,使用的开发工具都是windows自带的txt记事本。虽然用起来很简单,但是用来写复杂的代码真的会很痛苦,没有代码提示,也没有颜色高亮,代码格式不好调整。真正在企业开发时,是没人使用txt记事本写java代码的,除了个别装逼犯。

既然如此,壹哥就给大家介绍几种效率较高的开发工具。接下来我会利用几篇文章,专门介绍Java里的那些开发工具如何安装、配置和使用。

-----------------------------前戏已做完,精彩即开始----------------------------

全文大约3000】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图视频,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......

一. Java编码工具简介

现在能够编写Java代码的工具简直不要太多,各种各样五花八门,但目前效率最高的还是Intellij Idea。但这个工具对于完全零基础的小白来说,第一次用起来是比较复杂的,因为它的功能太多了。这就好比你要学开车,如果上来就给你一辆超跑练车,是不是有点不合适啊?所以咱们还是先从一些基础的工具慢慢搞起,由简入难,一步步来。这样你对各种常用的开发工具都能够熟悉起来,因为谁也不知道你们公司会要求你使用什么样的开发工具。

目前常见的几个Java编码工具如下:

txt记事本;
Editplus记事本;
Notepad++记事本;
Sublime Text3记事本;
Eclipse;
Myeclipse;
Intellij idea

其实这些工具,在最基础的用法上都是大同小异的,会了一种别的稍微一看也就明白怎么用了。就好比你开车,平时经常开的是奥迪A6,现在让你换成奔驰大G,无非就是稍微熟悉一下新车,但这两种车的驾驶方法没有本质的差别。

以上这几种编码工具,txt记事本不需要专门的讲解,那么接下来,壹哥会给大家讲一下Notepad++、Eclipse和Intellij idea的安装配置。

二. Notepad++的安装、配置及使用

1. 简介

Notepad++是Windows中免费的文本编辑器(软件版权许可证: GPL),有完整的中文化接口,并支持多国语言,默认采用UTF-8编码。

Notepad++的功能要比 Windows 中的 txt记事本要强大的多,除了可以编写一般的纯文字说明文件,也可以编写各种计算机代码。Notepad++不仅支持语法高亮度显示,还支持语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。

Notepad++是免费软件,可以免费使用,自带中文,支持众多计算机程序语言,比如:Java、C、C++、pascal、C#、XML、SQL、HTML、PHP、ASP、汇编语言、DOS批处理, CSS、JSP、Normal text、Objective-C、Python、Javascript等各种编程语言。

2. 下载

为了方便大家下载Notepad++,壹哥把它放到了自己的云盘里,地址如下:

Notepad++

提取码: 9e6q

3. 安装

下载完Notepad++,我们就可以进行安装了,接下来壹哥会详细展示Notepad的安装过程。

3.1 双击软件

3.2 选择中文简体

3.3 接受软件协议

3.4 选择安装位置

这里要注意一下,很多软件默认都是安装在C盘,壹哥建议最好不要装在C盘。我这里改到了E盘下,我的各种软件统一安装在E盘,另外安装目录中不要有中文。

3.5 选择要安装的组件

这里可以自定义选择要安装的各种组件,默认全都安装了。

3.6 开始安装

这里勾选”在桌面上创建快捷图标“即可,然后点安装按钮。

这样软件就安装好了,接下来我们要进行必要的配置。

3.7 配套视频

与本节内容配套的视频链接如下:

https://player.bilibili.com/player.html?bvid=BV1iB4y127JK&p=6&page=6

4. 配置

接下来我们就配置关联JDK环境变量,前提是你之前已经把Java的环境变量配置好了。这里其实就是利用一个叫做NppExec的插件,关联配置我们之前的Java环境变量,把Java安装目录里javac和java命令的路径配置到Notepad++中,从而在点击编译的时候,能够正确地执行javac编译命令和java运行命令。

4.1 安装NPPExec插件

这里我们首先要安装一个NPPExec插件,该插件可以用来配置Java的编译环境。左击菜单栏的”插件“-->插件管理Plugin manager->展示插件管理Show Plugin manager,出现如下界面,搜索并勾选NppExec插件进行安装。

4.2 配置java脚本

安装好NppExec插件之后,点击”插件“-->"NppExec"-->Execute NppExec Script选型。

接下来就弹出了如下界面:

大家在这里把下面的脚本复制粘贴到上面的文本框中即可,别忘了保存。

cd "$(CURRENT_DIRECTORY)"
java  $(NAME_PART)

保存时给脚本命名为”java“。

然后点击”OK“按钮即可。

这个脚本就是在关联我们之前配置的JDK环境变量里的java命令。

4.3 配置run运行脚本

只有上面的脚本还不行,我们还需要再配置一个run运行脚本,如下图所示:

过程跟之前一样,把如下脚本粘贴到编辑框中即可:

NPP_SAVE
javac "$(FULL_CURRENT_PATH)"
cd "$(CURRENT_DIRECTORY)"
java $(NAME_PART)

这里给脚本命名为”run“。

4.4 高级配置

配置完上面的选项还没有生效,我们还需要进行高级配置才能生效。

点击NppExec - >点击Advanced Options,依次勾选如下选项,将需要的命令添加菜单栏,添加后重启软件。

按照壹哥下面的这张图片进行高级配置,图上标有1、2、3、4的顺序,请按顺序勾选配置。

点击OK按钮之后,会出现如下界面:

4.5 环境测试

经过上面这么多步骤的安装配置,那现在这些配置有没有生效呢?怎么测试呢?

我们可以在关闭Notepad之后,再重新打开。然后在Notepad++软件的最底部,就有一个NppExec Console控制台,在这里就可以直接输入java相关的命令,比如下图所示。看看会不会和我们在cmd命令行窗口一样的效果,如果一样,就说明配置成功了。

4.6 其他配置

Notepad除了可以关联配置我们的Java环境变量,还可以在”设置“-->”首选项“里配进行字体、字号、编码、文件默认存储目录等的配置,如下图所示:

4.7 配套视频

Notepad++常用配置视频链接:

https://player.bilibili.com/player.html?bvid=BV1iB4y127JK&p=7&page=7

https://player.bilibili.com/player.html?bvid=BV1iB4y127JK&p=8&page=8

5. 使用

在安装配置好Notepad++之后,我们就可以愉快地使用了。有的小伙伴可能会觉得Notepad的安装配置好麻烦啊,但是大家要知道,这个配置只是一次性的,配置好之后就再也不用管了。另外,其实你如果实在不想配置这些,也无所谓。你可以只安装Notepad,不关联Java环境变量,只在Notepad中编写java代码,编写好之后在cmd命令行窗口中进行编译和执行,也是可以的。

5.1 编写java代码

我们配置好之后,就可以在Notepad中新建java文件,并编写java代码了。你会发现,在Notepad中编写java代码会有颜色高亮展示,关键字会用不同的颜色展示出来。

5.2 执行命令

编写完代码并保存之后,我们就可以直接在下面的控制台中执行cmd里的各种命令,比如cd、javac、java等命令。

至此,Notepad++的安装、配置、使用教程,壹哥就给大家介绍完了,请按照我的步骤配置你自己的第一个开发工具吧。

5.3 配套视频

Notepad++基本使用视频链接:

https://player.bilibili.com/player.html?bvid=BV1iB4y127JK&p=9&page=9

三. Sublime Text3简介

其实,类似于Notepad++这样的记事本编程工具,还有很多其他的,比如Editplus、Sublime Text3等,功能都类似。其实壹哥本人比较推崇Sublime Text3,该软件相比Notepad和Editplus等软件,功能更强大,而且配至也简单。但该软件名义上是收费的,需要使用者自愿捐款,当然你可以不捐,仍然可以正常使用。

以下是Sublime Text3的界面,色彩搭配更炫一些。

因为Sublime Text3的安装很简单。就是大家可以直接搜索下载好软件之后,直接点击,傻瓜式安装即可,不需要特别的配置就可以直接使用,壹哥就不在专门讲解Sublime Text3的安装配置过程了!

如果你在使用Sublime Text3的时候有什么问题,可以私信壹哥,我来给你指导。

-----------------------------正片已结束,来根事后烟----------------------------

四. 结语

至此,壹哥就把Notepad++这个记事本开发工具安装配置完毕了,现在你知道该怎么安装使用了吗?”工欲善其事必先利其器“,要想高效地开发代码,咱们得先学会如何使用开发工具。不过Notepad这样的软件,只是我们的过渡软件,真正开发时很少用这样的软件,比较开发效率太低。所以接下来,壹哥会给大家介绍第二个更好用的开发工具--Eclipse!敬请继续关注哦。

另外如果你独自学习觉得有很多困难,可以加入壹哥的学习互助群,大家一起交流学习。

五. 今日作业

1. 第一题

安装配置好自己的Notepad++开发工具。

2. 第二题

在Notepad++中编写一个Java案例,并执行出结果。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
import java.awt.BorderLayout; import java.awt.Container; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import javax.swing.BorderFactory; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPopupMenu; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.KeyStroke; import javax.swing.ScrollPaneConstants; import javax.swing.SwingConstants; public class JNotePadUI extends JFrame { private JMenuItem menuOpen; private JMenuItem menuSave; private JMenuItem menuSaveAs; private JMenuItem menuClose; private JMenu editMenu; private JMenuItem menuCut; private JMenuItem menuCopy; private JMenuItem menuPaste; private JMenuItem menuAbout; private JTextArea textArea; private JLabel stateBar; private JFileChooser fileChooser; private JPopupMenu popUpMenu; public JNotePadUI() { super("新建文本文件"); setUpUIComponent(); setUpEventListener(); setVisible(true); } private void setUpUIComponent() { setSize(640, 480); // 菜单栏 JMenuBar menuBar = new JMenuBar(); // 设置「文件」菜单 JMenu fileMenu = new JMenu("文件"); menuOpen = new JMenuItem("打开"); // 快捷键设置 menuOpen.setAccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_O, InputEvent.CTRL_MASK)); menuSave = new JMenuItem("保存"); menuSave.setAccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_S, InputEvent.CTRL_MASK)); menuSaveAs = new JMenuItem("另存为"); menuClose = new JMenuItem("关闭"); menuClose.setAccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_Q, InputEvent.CTRL_MASK)); fileMenu.add(menuOpen); fileMenu.addSeparator(); // 分隔线 fileMenu.add(menuSave); fileMenu.add(menuSaveAs); fileMenu.addSeparator(); // 分隔线 fileMenu.add(menuClose); // 设置「编辑」菜单 JMenu editMenu = new JMenu("编辑"); menuCut = new JMenuItem("剪切"); menuCut.setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK)); menuCopy = new JMenuItem("复制"); menuCopy.setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK)); menuPaste = new JMenuItem("粘贴"); menuPaste.setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK)); editMenu.add(menuCut); editMenu.add(menuCopy); editMenu.add(menuPaste); // 设置「关于」菜单 JMenu aboutMenu = new JMenu("关于"); menuAbout = new JMenuItem("关于JNotePad"); aboutMenu.add(menuAbout); menuBar.add(fileMenu); menuBar.add(editMenu); menuBar.add(aboutMenu); setJMenuBar(menuBar); // 文字编辑区域 textArea = new JTextArea(); textArea.setFont(new Font("宋体", Font.PLAIN, 16)); textArea.setLineWrap(true); JScrollPane panel = new JScrollPane(textArea, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); Container contentPane = getContentPane(); contentPane.add(panel, BorderLayout.CENTER); // 状态栏 stateBar = new JLabel("未修改"); stateBar.setHorizontalAlignment(SwingConstants.LEFT); stateBar.setBorder( BorderFactory.createEtchedBorder()); contentPane.add(stateBar, BorderLayout.SOUTH); popUpMenu = editMenu.getPopupMenu(); fileChooser = new JFileChooser(); } private void setUpEventListener() { // 按下窗口关闭钮事件处理 addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { closeFile(); } } ); // 菜单 - 打开 menuOpen.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { openFile(); } } ); // 菜单 - 保存 menuSave.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { saveFile(); } } ); // 菜单 - 另存为 menuSaveAs.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { saveFileAs(); } } ); // 菜单 - 关闭文件 menuClose.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { closeFile(); } } ); // 菜单 - 剪切 menuCut.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { cut(); } } ); // 菜单 - 复制 menuCopy.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { copy(); } } ); // 菜单 - 粘贴 menuPaste.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { paste(); } } ); // 菜单 - 关于 menuAbout.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // 显示对话框 JOptionPane.showOptionDialog(null, "程序名称:\n JNotePad \n" + "程序设计:\n \n" + "简介:\n 一个简单的文字编辑器\n" + " 可作为验收Java的实现对象\n" + " 欢迎网友下载研究交流\n\n" + " /", "关于JNotePad", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null, null); } } ); // 编辑区键盘事件 textArea.addKeyListener( new KeyAdapter() { public void keyTyped(KeyEvent e) { processTextArea(); } } ); // 编辑区鼠标事件 textArea.addMouseListener( new MouseAdapter() { public void mouseReleased(MouseEvent e) { if(e.getButton() == MouseEvent.BUTTON3) popUpMenu.show(editMenu, e.getX(), e.getY()); } public void mouseClicked(MouseEvent e) { if(e.getButton() == MouseEvent.BUTTON1) popUpMenu.setVisible(false); } } ); } private void openFile() { if(isCurrentFileSaved()) { // 文件是否为保存状态 open(); // 打开 } else { // 显示对话框 int option = JOptionPane.showConfirmDialog( null, "文件已修改,是否保存?", "保存文件?", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null); switch(option) { // 确认文件保存 case JOptionPane.YES_OPTION: saveFile(); // 保存文件 break; // 放弃文件保存 case JOptionPane.NO_OPTION: open(); break; } } } private boolean isCurrentFileSaved() { if(stateBar.getText().equals("未修改")) { return false; } else { return true; } } private void open() { // fileChooser 是 JFileChooser 的实例 // 显示文件选取的对话框 int option = fileChooser.showDialog(null, null); // 使用者按下确认键 if(option == JFileChooser.APPROVE_OPTION) { try { // 开启选取的文件 BufferedReader buf = new BufferedReader( new FileReader( fileChooser.getSelectedFile())); // 设定文件标题 setTitle(fileChooser.getSelectedFile().toString()); // 清除前一次文件 textArea.setText(""); // 设定状态栏 stateBar.setText("未修改"); // 取得系统相依的换行字符 String lineSeparator = System.getProperty("line.separator"); // 读取文件并附加至文字编辑区 String text; while((text = buf.readLine()) != null) { textArea.append(text); textArea.append(lineSeparator); } buf.close(); } catch(IOException e) { JOptionPane.showMessageDialog(null, e.toString(), "开启文件失败", JOptionPane.ERROR_MESSAGE); } } } private void saveFile() { // 从标题栏取得文件名称 File file = new File(getTitle()); // 若指定的文件不存在 if(!file.exists()) { // 执行另存为 saveFileAs(); } else { try { // 开启指定的文件 BufferedWriter buf = new BufferedWriter( new FileWriter(file)); // 将文字编辑区的文字入文件 buf.write(textArea.getText()); buf.close(); // 设定状态栏为未修改 stateBar.setText("未修改"); } catch(IOException e) { JOptionPane.showMessageDialog(null, e.toString(), "入文件失败", JOptionPane.ERROR_MESSAGE); } } } private void saveFileAs() { // 显示文件对话框 int option = fileChooser.showSaveDialog(null); // 如果确认选取文件 if(option == JFileChooser.APPROVE_OPTION) { // 取得选择的文件 File file = fileChooser.getSelectedFile(); // 在标题栏上设定文件名称 setTitle(file.toString()); try { // 建立文件 file.createNewFile(); // 进行文件保存 saveFile(); } catch(IOException e) { JOptionPane.showMessageDialog(null, e.toString(), "无法建立新文件", JOptionPane.ERROR_MESSAGE); } } } private void closeFile() { // 是否已保存文件 if(isCurrentFileSaved()) { // 释放窗口资源,而后关闭程序 dispose(); } else { int option = JOptionPane.showConfirmDialog( null, "文件已修改,是否保存?", "保存文件?", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null); switch(option) { case JOptionPane.YES_OPTION: saveFile(); break; case JOptionPane.NO_OPTION: dispose(); } } } private void cut() { textArea.cut(); stateBar.setText("已修改"); popUpMenu.setVisible(false); } private void copy() { textArea.copy(); popUpMenu.setVisible(false); } private void paste() { textArea.paste(); stateBar.setText("已修改"); popUpMenu.setVisible(false); } private void processTextArea() { stateBar.setText("已修改"); } public static void main(String[] args) { new JNotePadUI(); } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一一哥Sun

您的鼓励是我继续创作的动力哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值