【跟小嘉学习JavaWeb开发】第一章 开发环境搭建

news2024/12/23 19:14:19

系列文章目录

【跟小嘉学习JavaWeb开发】第一章 开发环境搭建

文章目录

  • 系列文章目录
    • @[TOC](文章目录)
  • 前言
  • 一、JDK的下载与安装
    • 1.1、关于JDK的版本问题
  • 二、环境变量配置
    • 2.1、配置 JAVA_HOME、CLASSPATH
    • 2.2、配置path
    • 2.3、启动 cmd
  • 三、编写代码、编译并执行
    • 3.1、编写代码,创建一个 HelloWorld.java 文件
    • 3.2、编译执行
      • 3.2.1、编译:
      • 3.2.2、执行:
      • 3.2.3、编译并执行
  • 四、开发工具使用
    • 4.1、VSCODE(部分公司推荐使用)
      • 4.1.1、VSCODE介绍
      • 4.1.2、VSCODE 插件推荐
    • 4.2、Eclipse
    • 4.3、Idea (公司上推荐使用)

前言

本章节讲解Java开发环境的搭建与使用


一、JDK的下载与安装

1.1、关于JDK的版本问题

目前国内生产环境之中大部分使用的是JDK1.8的版本,但是我们会在后续的课程会重点讲解JDK1.8的内容,同时会讲解其他版本的JDK,例如JDK1.9、JDK11 等特性。

OpenJDK使用的开源的免费的FreeType,可以按照GPLV2许可证使用,Oracle JDK采用了商业实现,JROckit是Oracle的JVM,从Java SE7开始,HotSpot和JRockit合并为一个JVM。

Oracle JDK的下载地址
OpenJDK的下载地址

二、环境变量配置

2.1、配置 JAVA_HOME、CLASSPATH

在JDK1.8以后可以不配置Classpath属性可以由JVM默认设置,该环境变量不会对IDE的环境变量造成影响;

2.2、配置path

Path的配置影响到CMD 或者其他终端的命令行使用,对IDE的使用不够成影响;

2.3、启动 cmd

三、编写代码、编译并执行

3.1、编写代码,创建一个 HelloWorld.java 文件

public class HelloWorld {
   public static void main(String[] args) {
       // 编译处理中文乱码: javac -encoding utf-8 HelloWorld.java
       // 执行 :java HelloWorld
       System.out.println("你好");
   }
}

● 需要注意的是 一个java文件中只能有一个 public class 声明的类,如果声明了两个会编译报错,错误信息如下
HelloWorld.java:9: 错误: 类HelloWorld2是公共的, 应在名为 HelloWorld2.java 的文件中声明

public class HelloWorld2{
       ^
1 个错误

● 一个java文件中可以有多个class 声明,可以没有public class 声明,每个class 对象生成对应一个 *.class 文件
● public class 类名称必须与文件名字一致,否则会编译报错,报错信息如下
HelloWorld.java:1: 错误: 类HelloWorld2是公共的, 应在名为 HelloWorld2.java 的文件中声明

public class HelloWorld2 {
       ^
1 个错误

● 中文输出,控制台乱码的问题,编译时候可以选择字符编码,字符编码要与文件编码一致

javac HelloWorld.java  -encoding utf-8

文件编码可以使用记事本查看,如果编码不一致,编译会报错

HelloWorld.java:3: 错误: 编码utf-8的不可映射字符
       // ??????????????: javac -encoding utf-8 HelloWorld.java
          ^
HelloWorld.java:3: 错误: 编码utf-8的不可映射字符
       // ??????????????: javac -encoding utf-8 HelloWorld.java

上述错误是说明,文件编码 不是utf-8,而你使用了 utf-8 去编译

3.2、编译执行

3.2.1、编译:

javac -encoding utf-8 HelloWorld.java 

3.2.2、执行:

java HelloWorld

3.2.3、编译并执行

javac -encoding utf-8 HelloWorld.java  && java HelloWorld

四、开发工具使用

4.1、VSCODE(部分公司推荐使用)

4.1.1、VSCODE介绍

VSCODE 是微软开发的开源项目,基于Javascript实现,启动快,轻量,所以为了让大家能够了解编程的本质,后续几乎都会在VSCODE编辑器中讲解代码的编写;
vscode 下载地址:

我本人比较喜欢使用命令行工具,基本上都会讲解各种命令行的操作,同时熟悉命令行能够让大家的工作更加高效,并且对学习Linux的使用是非常有帮助的。

4.1.2、VSCODE 插件推荐

● Code Runner 初学者学编程语言推荐使用的插件,但是该插件对中文编码不是很友好;
● Extension Pack for Java ,Java开发者推荐使用的插件;
● ssh 插件:后续为了保证开发者自己电脑上不会太多冲突的编程语言,我们决定采用Docker的形式来完成,这样大家避免出现环境不一致的现象;

4.2、Eclipse

1、创建项目 file 菜单 - 》 new -》 Project
创建项目
2、创建 Java 项目
java项目
3、创建项目界面
创建项目界面
4、file-》new-》class
在这里插入图片描述
5、new class 界面
创建class界面

6、执行

右键-》run as -》java application 或者 ctrl + f11

快捷键功能
alt + /代码提示与自动补全,单个导包
ctrl + 1打开警告或者错误的解决方案
ctrl + 鼠标左键查看源代码
ctrl +/注释或取消注释代码(单行注释 //)
ctrl + shift + /取消多行注释
ctrl + f11执行 程序
f11进入debug
ctrl+shift+o批量导入包、优化导包
ctrl+f查找或替换
ctrl+c复制
ctrl+v粘贴
ctrl+x剪切
ctrl+z撤销
ctrl+a全选
ctrl+s保存
ctrl+o代码大纲
ctrl+shift+r打开资源文件,包括配置文件、代码文件
alt + ↑ 或 alt+↓移动光标所在的或者选中的代码行
ctrl + t查看某个类继承树
ctrl + + 或 ctrl + -放大或者缩小字体
ctrl+shift+f格式化代码

4.3、Idea (公司上推荐使用)

目前我们在公司里面推荐使用 社区版IDEA,也有的公司有商业版IDEA可以申请。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring面试题:(四)Spring Bean生命周期

Bean生命周期的阶段 实例化初始化完成销毁 IoC容器实例化Bean的流程 Bean定义 Bean工厂处理 反射实例化Bean 初始化 完成存储到单例池 Bean生命周期 Bean初始化话过程 属性填充aware接口BeanPostProcessor前置处理InitialzingBean接口初始化方法自定义init方法BeanPost…

2012年计网408

第33题 在 TCP/IP 体系结构中, 直接为 ICMP 提供服务的协议是()A. PPPB. IPC. UDPD. TCP 本题考察TCP/IP体系结构中直接为ICMP协议提供服务的协议。如图所示。这是TCP/IP的四层体系结构。网际层的IP协议是整个体系结构中的核心协议,用于网络互联。网际控制报文协议…

MATLAB中Stem3函数用法

目录 语法 说明 向量和矩阵数据 表数据 其他选项 示例 行向量输入 列向量输入 矩阵输入 使用向量输入指定针状线条位置 使用矩阵输入指定针状线条位置 填充标记 线型、标记符号和颜色选项 线型、标记符号和颜色选项 其他样式选项 绘制表中的数据 特定坐标区上…

【Linux】进程终止

进程退出场景 代码运行完毕,结果正确代码运行完毕,结果不正确代码异常终止 可以用return 的不同的返回值数字,表征不同的出错原因退出码,所以进程运行正不正常我们可以查看退出码来判断; 如果进程异常,退…

Leetcode 第 368 场周赛题解

Leetcode 第 368 场周赛题解 Leetcode 第 368 场周赛题解题目1:2908. 元素和最小的山形三元组 I思路代码复杂度分析 题目2:2909. 元素和最小的山形三元组 II思路代码复杂度分析 题目3:2910. 合法分组的最少组数思路代码复杂度分析 题目4&…

Leetcode124. 二叉树中的最大路径和

Every day a Leetcode 题目来源:124. 二叉树中的最大路径和 解法1:深度优先搜索 思路类似于:Leetcode543. 二叉树的直径,只是考虑对象从边变成了点。 首先,考虑实现一个简化的函数 dfs(node),该函数计算…

解决 github.com 或者 raw.githubusercontent.com 打开慢、打不开问题

系列文章目录 文章目录 系列文章目录前言一、Windows 系统1.1 以管理员身份运行记事本1.2 打开 hosts 文件1.3 写入 IP 地址 二、Linux2.1 hosts 文件位置 三、Android 系统总结 前言 连接手机热点,将流量关闭马上打开,进入的成功率更高 一、Windows 系…

Linux基础【Linux知识贩卖机】

偶尔的停顿和修整,对于人生是非常必要的。 --随记 文章目录 Linux目录目录结构磁盘分区相关命令 相对路径和绝对路径 文件权限用户分类umask创建文件权限计算方法粘滞位 总结 Linux目录 目录结构 Linux 操作系统采用了一种层次化的目录结构,常被称为标…

11-Docker-Redis集群部署

00-前言 在工作环境中,我们常常被要求配置多种集群,Redis 集群是最常见的入门需要掌握的集群配置方法,在之前的学习中,我们学习掌握了分布式存储的算法,本质上集群的部署就是通过分布式存储算法将数据分发部署好的不同…

2009-2018年全国各省财政透明度数据

2009-2018年全国各省财政透明度数据 1、时间:2009-2018年 2、指标:财政透明度 3、范围:31省 4、来源:财政透明度报告 5、指标解释: 财政透明度是公开透明的重要方面,体现了现代预算制度和法治政府的特…

09-MySQL主从复制

01-主从复制原理 MySQL主从复制是一种用于实现数据备份、读写分离和扩展性的技术。它基于二进制日志(Binary Log)来将主数据库上的更改操作同步到一个或多个从数据库。 MySQL主从复制的基本原理如下: 主服务器(Master&#xff0…

HTTP协议详解-下(Tomcat)

如何构造 HTTP 请求 对于 GET 请求 地址栏直接输入点击收藏夹html 里的 link script img a…form 标签 通过 form 标签构造GET请求 <body><!-- 表单标签, 允许用户和服务器之间交互数据 --><!-- 提交的数据报以键值对的结果来组织 --><form action&quo…

JAVA开源项目 于道前端项目 启动步骤参考

1. 安装 启动过程有9个步骤&#xff1a; 1.1 安装 Node JS , V18版本的 &#xff08;安装步骤省略&#xff09; 1.2 安装 npm install -g yarn &#xff0c;node JS里边好像自带npm &#xff0c;通过npm的命令安装 yarn 1.3 切换到项目中去安装&#xff0c;npm install &a…

5G网络切片,到底是什么?

网络切片&#xff0c;是5G引入的一个全新概念。 一看到切片&#xff0c;首先想到的&#xff0c;必然是把一个完整的东西切成薄片。于是&#xff0c;切面包或者切西瓜这样的画面&#xff0c;映入脑海。 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 然而…

如何做游戏软件开发?怎么和软件开发公司合作?

随着科技的发展和普及&#xff0c;游戏软件已经成为人们日常生活和工作中不可或缺的一部分&#xff0c;许多企业也开始涉足游戏软件开发领域&#xff0c;希望能够打造出一款受欢迎的游戏&#xff0c;那么&#xff0c;如何做游戏软件开发?怎么和软件开发公司合作呢?下面我们来…

【Data Grip】打开控制台编写sql语句

这里我从表打开&#xff08;也可以从其他地方打开都行&#xff0c;右键new,出现Query Console 点击即可)控制台&#xff0c;右键表 new 点击query console 在上面编写sql语句 编写完之后 点击绿色三角形运行

某平台简单尝试一次密码逆向

1、查看表单数据 发现密码加密 2、控制台搜索password 发现他在欺负我看不懂拼音 3、第一次断点调试失败 断点后随便填写账号密码登录&#xff0c;发现失败 4、控制台搜索 jiami 又找到了一个函数 5、断点成功 重新登录后断点成功 jiami function(password) {var e passw…

代码随想录训练营Day1:二分查找与移除元素

本专栏内容为&#xff1a;代码随想录训练营学习专栏&#xff0c;用于记录训练营的学习经验分享与总结。 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;二分查找与移除元素 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a…

Django之三板斧的使用,全局配置文件介绍,request对象方法,pycharm链接数据库,Django链接数据库,ORM的增删改查

【1】三板斧(3个方法)的使用 Httpresponse() 括号内写什么字符串&#xff0c;返回的就是什么字符串返回的是字符串 render(request&#xff0c; 静态文件 ) request是固定的静态文件是写在templates文件夹里面的&#xff0c;如&#xff0c;HTML文件 redirect( 重定向的地址 ) 重…