用cmd命令窗口运行第一个java程序同时分享idea写的代码用cmd编译运行【建议收藏】

news2025/1/18 6:52:40

在上一篇文章https://blog.csdn.net/qq_52545155/article/details/128651296?spm=1001.2014.3001.5502教大家安装了jdk版本,那么我们来编写一个java程序,通过cmd命令运行起来看看效果叭!!!

一、基本代码准备

1、打开记事本输入以下代码,然后保存

public class HelloWorld {
    public static void main(String[] args) {
       System.out.print("这是我的第一个java程序!");
    }
}

2、在路径栏里面输入cmd,然后按enter

3、在打开的命令窗口里面先输入javac HelloWorld.java对java文件进行编译  

注意:此时会报字符编码的错误,这是因为我们的系统编码和我们java使用的编码不一样,系统默认是GBK,而这里的代码里面是utf-8,所以我们需要使用另外一个命令;  

4、重新输入javac -encoding utf-8 HelloWorld.java进行编译

编译好了后,你可以在自己的HelloWorld.java文件的同级目录看到多了一个HelloWorld.class文件,这个才是给java虚拟机执行的文件

 5、在命令窗口输入java HelloWorld执行输出结果

到这里你的第一个java程序就完成了!!!  

二、在main主函数里面的代码依赖其他类该怎么执行呢?

刚刚前面是在一个类的主函数里面输入了一句话,这个类和其他类并没有产生任何依赖关系,运行是非常的简单;那么如果我要在这个HelloWorld.java里面输入其他类的信息该怎么操作呢?博主这就带大家揭秘;

1、准备一个Student实体类文件  

public class Student {
    private String name;
    private String intro;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIntro() {
        return intro;
    }

    public void setIntro(String intro) {
        this.intro = intro;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", intro='" + intro + '\'' +
                '}';
    }
}

 2、准备HelloWorld文件的代码

public class HelloWorld {
    public static void main(String[] args) {
        Student student = new Student();
        student.setName("蔡*坤");
        student.setIntro("我会打篮球");
        System.out.println(student);
    }
}

 3、从路径进入到cmd命令窗口里面

 4、输入javac -encoding utf-8 HelloWorld.java查看效果

5、输入java HelloWorld查看效果  

 

6、这个时候我们看一下文件目录结构

注意:多出来了2个class文件,明明我只编译了HelloWorld.java文件,Student被编译了是因为在HelloWorld里面被依赖了,虚拟机里面只人class字节码文件,所以会被编译出来;

小白的话,钻研如何用cmd窗口命令的铁子到这儿基本就理解。接下来给大家分享一个新的问题

三、在idea或者Eclipse代码编辑器中写的代码想用cmd命令运行,运行不了如何解决?

有时候大家心血来潮,想研究一下最原始的方式去运行自己的代码,结果发现有各种问题出现,很懵逼,博主在这里就以上面的依赖的例子去给大家进行分享

1、大家在编写的时候,都会养成不同类型的类放到不同的包下面,博主在这里就先把结构搭建好

 

2、在entity里面放上Student实体类,在pack里面放HelloWorld主函数类

Student实习类:  

package xjx.csdn.entity;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: 你的名字
 * @Date: 2023/01/12/10:37
 * @Description:
 */
public class Student {
    private String name;
    private String intro;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIntro() {
        return intro;
    }

    public void setIntro(String intro) {
        this.intro = intro;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", intro='" + intro + '\'' +
                '}';
    }
}

HelloWorld业务类:

package xjx.csdn.pack;

import xjx.csdn.entity.Student;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: 你的名字
 * @Date: 2023/01/12/10:38
 * @Description:
 */
public class HelloWorld {
    public static void main(String[] args) {
        Student student = new Student();
        student.setName("鸡哥");
        student.setIntro("我会打篮球");
        System.out.println(student);
    }
}

 在idea里面执行效果如下【这个是能出来的,idea真方便】:

3、此时我想要去cmd命令窗口运行,先进入到文件目录下  

4、通过cmd命令进去到命令窗口  

5、输入javac -encoding utf-8 HelloWorld.java得到如下的效果  

在这里,出现了报错,提示new Student()找不到这个类;

问题原因:整个包的位置需要在javac编译位置下,编译时不会往父文件夹找,只会往子文件夹找,所以两个类所在的包一定要在javac当前文件夹之下;

 6、所以我们要来到最顶级的包src下面

 7、通过cmd命令进入到命令窗口,输入javac -encoding utf-8 xjx\csdn\pack\HelloWorld.java编译主函数HelloWorld文件

 8、然后输入java xjx.csdn.pack.HelloWorld运行得到结果

注意:这里不是用\,而是用".",因为这个是那个包下面的那个类

和这个有关系,是通过这个去找到类的位置然后执行的;  

9、到这里就ok!!!

四、总结:

本文讲解了最简单的cmd运行,也分享了idea写的代码要用cmd去编译运行的方式,更新不易,本文对你有帮助的话请不吝三连噢!!!

 

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

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

相关文章

超全的SQL注入姿势总结

目录 常见姿势 环境搭建 信息收集 报错注入 延时注入 布尔注入 堆叠注入 绕过方法 绕过引号 or and xor not绕过 绕过注释符 内联注释绕过 类型转换绕过 绕过 WAF绕过-应用层 常见姿势 环境搭建 use mysql; create table if not exists my_table( id int PRIMA…

HC小区管理系统安装记录一次群里小伙伴梓豪方式安装问题

记录一次群里小伙伴安装,供大家参考 问题排查 打开梓豪地址查看 Redis MySQL Nginx 是否启动成功,查看日志启动成功 MySQL正常 redis 没有报错 Nginx也正常 查看hc 是否启动成功,点击控制台 查看docker 发现8008 端口被占用了&#xff0c…

【异常】原来提示SocketTimeoutException:connect timed out还可能是外部因素导致

一、现象截图 一大早收到ELK的邮件提醒,让我来看看,又是哪个妖怪在作孽? 二、问题定位 2.1 SocketTimeoutException:connect timed out 经验告诉我,这个问题一般是第三方平台的问题,大部分原因是发起Http请求&…

惠普M329打印机更换副厂硒鼓后提示墨粉不足并无法打印

买了一个惠普M329打印机,打印效果不错,速度快,大量复印比较方便。因为最近打印和复印比较多,很快原装墨粉用完了。又买了一个副厂(带芯片)的硒鼓换上。不到一个月,又用光了,这次买了同一个副厂的硒鼓(不带芯片)。将原来的芯片(副厂的)拆下来,装在新硒鼓上。装到M3…

喜讯!华秋电子荣获千峰奖“2022年度产业互联网百强”,持续为电子产业增效降本!

12月28日,2022全球数字贸易大会专题活动“跨境产业互联网峰会暨2022年度千峰之夜”在武汉隆重举行,大会聚集了全国产业互联网、跨境电商平台、数字经济、资本市场等嘉宾,共同探讨产业互联网公司出海的机会和路径。 亿邦动力董事长郑敏介绍&am…

数字IC设计、验证、FPGA笔试必会 - Verilog经典习题 (三)奇偶校验

数字IC设计、验证、FPGA笔试必会 - Verilog经典习题 (三)奇偶校验 🔈声明: 😃博主主页:王_嘻嘻的CSDN博客 🧨未经作者允许,禁止转载 🔑系列专栏:牛客Verilog习…

房产管理系统平台架构安全需求分析

数图互通高校房产管理系统是基于公司自主研发的FMCenterV5.0平台,是针对中国高校房产的管理特点和管理要求,研发的一套标准产品;通过在中国100多所高校的成功实施和迭代,形成了一套成熟、完善、全生命周期的房屋资源管理解决方案。…

JavaAccessBridge(Java访问桥)详细介绍

Java Access Bridge 通过 Java 访问桥 API,您可以给使用Java应用程序编写的在windows系统上运行的图形化系统开发辅助技术应用程序。它包含本机方法,使您能够查看和操作有关 Java 应用程序中 GUI 元素的信息,这些信息将通过 Java 访问桥转发…

二维数组中各个三角形的关系,三角形的打印同理

给你一个n*n矩阵,按照顺序填入1到n*n的数,例如n5,该矩阵如下 (这是一个题目,但是我这个写法在牛客刷题中是不能正确的得分的,但是我找到了各个关系,然后分享给大家) 然后再对其进行求和处理,是…

在IntelliJ IDEA中使用.ignore插件忽略Git不必要提交的文件

第一步: 点击File->Settings,在左侧菜单找到Plugins,点击搜索栏搜索.ignore,点击Install 第二步: 重启idea -->在项目上右键->New ->.ignore file ->.gitignore file(Git) 第三部: 在项目中…

http协议的简单总结

目录 1.http协议的特性 2.http协议的请求 3.get请求和post请求的区别 4.http协议的响应 1.http协议的特性 http协议是建立在TCP/IP协议之上应用层协议,默认端口为80,8080 http协议的的特点是无状态,无连接(短连接) 2.http协…

【面试题】京东面试查漏补缺

目录一:笔试题1.如何获取URL中的参数方法一方法二2.怎么平铺多维数组方法一方法二:递归方法三: flat() 和 flatMap()二:面试题1.promise相关问题2.vue nextTick的作用和原理3.http状态码304缓存相关问题4.其他常规问题省略wh零售事…

在线学习(online learning)——Chapter 2 Problem Formulations and Related Theory

在线学习(online learning)——Chapter 2 Problem Formulations and Related Theory 本章中,我们将首先给出一个经典的在线学习问题的形式化描述,即在线二分类(online binary classification),然后介绍统计学习理论、在线凸优化和博弈论的基…

Zabbix“专家坐诊”第179期问答汇总

欢迎大家加入乐维社区zabbix问答专栏,除了在论坛发帖求问外,还可以在QQ群里交流进步,并且每周三我们会进行免费的技术答疑活动。 问题一: Q:Zabbix alert syncer processes more than 75% busy,这个告警&…

Live800:优秀的在线客服系统配置哪些功能模块?

在线客服系统是企业客服解决客户疑惑的软件系统,是企业统一对外联系的窗口。为了提升客户服务质量,提高客服人员工作效率,越来越多的企业配置了在线客服系统。那一款优秀的在线客服系统需要配置哪些功能模块呢?一、在线沟通模块在…

简明精要Android IPC通信

目录 一、Android应用层IPC通信方式 二、IPC通信数据拷贝次数 这里指的从应用层角度,IPC通信方式。简单记录一下。 一、Android应用层IPC通信方式 Bundle:四大组件中的三大组件(Activity、Service、Receiver)都是支持在Intent中…

MySQL学习之一条SQL更新语句的执行

文章目录前言一、MySQL更新操作大致流程二、redo log介绍三、binlog介绍四、MySQL更新操作的具体流程前言 今天我们通过一条SQL更新语句,了解MySQL的日志系统 一、MySQL更新操作大致流程 更新数据库表上的操作,跟这个表有关的查询缓存会失效。这条语句…

MyBatisPlus(MP)学习记录(分页查询的开启+日志打印配置+乐观锁+映射匹配+字段匹配和表名匹配+null值判定+代码生成器等等)

MP介绍(官网链接) MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 前言 本篇文章展示的MP教学中涉及到的版本如下: IDE…

Unity 之 Addressable可寻址系统 -- 可寻址系统概念介绍 -- 入门(一)

可寻址系统面板概念 -- 入门(一)一,可寻址系统概念介绍1.1 官方话术1.2 几个概念二,可寻址系统目录介绍2.1 导入工程2.2 目录介绍概述:本片文章带大家了解可寻址系统的相关概念,为大家介绍可寻址系统导入方…

Elasticsearch:如何在 Docker 上运行 Elasticsearch 8.x 进行本地开发

对于 Elasticsearch 的新主要版本 (8.x.x),有关于在 Docker 上运行 Elasticsearch 和 Kibana 的重大更新。 过去适用于以前版本的 Docker 和 Docker Compose 的命令和语法需要更新才能适用于最新版本。 在这篇文章中,我们将介绍如何使用 Docker 和 Docke…