java学习 javaz-001 Helloworld 第一个demo

学习目标

搞一个java的小demo,最后开发完成,双击bat文件可以执行,发给别人也可以执行。

前期准备

我的当前环境是win11 所以我下的是win64的 java1.8的环境

1.8环境是免费的,所以用这个环境。

java sdk 1.8环境

Java SE 8 Archive Downloads (JDK 8u211 and later)

下载列表地址 https://www.oracle.com/cn/java/technologies/javase/javase8u211-later-archive-downloads.html



1.8 u211 win64的下载地址

https://www.oracle.com/cn/java/technologies/javase/javase8u211-later-archive-downloads.html#license-lightbox

编辑器IDE的选择

  1. txt文本工具(也能用,临时使用)
  2. vscode (内存不够时候用,一般我用这个,但是这个不方便生成jar)
  3. idea (方便生成jar,但是需要大内存)

    由于我一般开着7-8个项目,所以内存确实紧张,所以就不用idea了,class也能跑,自己学习用也够了

    这里我用的vscode开发

代码开发

即将进入实战环节... 桌面创建目录 111

目录结构

这里我的根目录是桌面的111目录,名字很随意

  • 这里注意java源文件必须放在至少两级目录下
  • 我这里java的目录是 com/helloworld 正式项目一般是3级目录

创建第一个java文件

文件地址 com/helloworld/Hello.java

  • 注意 java的类名要大写,所以文件名和类名一样 也大写
package com.helloworld;
import com.helloworld.Flag; public class Hello {
public static void main(String[] args) {
Flag flag1 = new Flag();
Boolean flag = flag1.doit();
System.out.println("flag: " + flag);
System.out.println("hello");
}
}

创建第2个java文件

文件地址 com/helloworld/Flag.java

  • 主要学习的是 主文件调用模块文件
package com.helloworld;
import java.io.*; public class Flag {
// public Flag flag();
public Boolean doit () {
File file = new File("C:\\Users\\Reciter\\Desktop\\111\\1.txt");
Boolean flag = file.exists();
return flag;
}
}

编译java文件

  • 在vscode终端下,目录为111,这里快捷键是 ctrl + `
  • 编译命令为 javac com/helloworld/*.java
  • 然后会生成相应的 class文件,class文件是java编译后的文件,可执行

关于jar

  • jar 就是 将很多class打包,通过 java -jar 文件名.jar 执行
  • 比较方便是用idea进行jar的打包,网上有很多教程
  • 但是我就到class,自己能用就哦了

创建bat文件

  • 目的是双击可以使用

    文件地址是根目录 创建 Start.bat
java com/helloworld/Hello
pause

执行效果

双击bat文件

java 资料库

总结回顾

  • java这个最大的好处是开发的依赖包都是本地的
  • node开发,对网络依赖度太高,npm 每次都要在线安装,java就更传统很多

为什么要编译成class文件

  • java的虚拟机只支持class文件,为了全平台使用

vscode java扩展插件

  • ExtensionPackforJava 点那个 Run 就运行了

class反编译工具 Java Decompiler

java学习 javaz-001 Helloworld 第一个demo的更多相关文章

  1. Java学习之Dubbo+ZooKeeper分布式服务Demo

    背景:在之前的一个<Java学习之SpringBoot整合SSM Demo>分享中说到搭建ZooKeeper和Dubbo分布式框架中遇到了一些技术问题没能成功,只分享了其中的一个中间产物, ...

  2. Java学习笔记二十九:一个Java面向对象的小练习

    一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...

  3. Java学习笔记 11/15:一个简单的JAVA例子

    首先来看一个简单的 Java 程序. 来看下面这个程序,试试看是否看得出它是在做哪些事情! 范例:TestJava.java   // TestJava.java,java 的简单范例  public ...

  4. 【原】Java学习笔记001 - JAVA开发环境搭建

    1.JDK下载并安装,以jdk-7u45-windows-i586.exe为例(注意JDK的安装和JRE的安装是分开的) 2.“我的电脑”右键属性,找到“高级系统设置”,找到“高级”tab下的“环境变 ...

  5. 【Java学习笔记】如何写一个简单的Web Service

    本Guide利用Eclipse以及Ant建立一个简单的Web Service,以演示Web Service的基本开发过程: 1.系统条件: Eclipse Java EE IDE for Web De ...

  6. Java实现网页抓取的一个Demo

    这个小案例的话我是存放在我的github 上. 下面给出链接自己可以去看下,也可以直接下载源码.有具体的说明 <Java网页抓取>

  7. 我个人的Java学习经验(一家之言)

    声明:本文只是我的个人经验之谈,或者连经验之谈都算不上,因为我觉得自己还是个新手,没有什么经验可谈,就算是我分享一下自己从开始学习Java到现在的一些心路历程吧,各位看官暂且看吧,欢迎交流.第一部分算 ...

  8. [Java 教程 03] 我的第一个Java程序

    现在,大家应该都已经安装好jdk环境了吧!是不是已经跃跃欲试,按耐不住心中的小激动了?那我们现在就来写我们java学习生涯中的第一个java程序. 文件相关设置 为了方便后面大家的学习呢?有一点大家还 ...

  9. 【Java学习系列】第1课--Java环境搭建和demo运行

    本文地址 分享提纲: 1. java环境的搭建 2. java demo代码运行 3.参考文档 本人是PHP开发者,一直感觉Java才是程序的王道(应用广,科班出身),所以终于下决心跟一跟. 主要是给 ...

  10. Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)

    在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. ...

随机推荐

  1. centos7多网口配置同网段IP解决方案

    环境 CentOS Linux release 7.9.2009 (Core) 需求 服务器eth0和eth1配置同网段IP地址.掩码不配网关,同时连接两根网线,对端是两台物理隔离的交换机. 现象 给 ...

  2. ElasticSearch7.3学习(十六)----RestHighLevelClient Java api实现索引的创建、删除、是否存在、关闭、开启

    1.写在前面 注意:导入的包区别,不同的包创建索引的方式不同.博主亲身实践,具体体现在createIndexRequest.mapping()里面.读者可自行试验. import org.elasti ...

  3. 单片机 IAP 功能基础开发篇之APP升级(三)

    1 前言 上一篇单片机 IAP 功能基础开发篇之APP升级(二)讲到了单片机给 APP 程序升级具体的设计方案,这篇介绍的是升级进阶功能,如何在编译后在程序结束地址自动加上校验标志(可以通过脚本工具, ...

  4. 从零开始的react入门教程(一),让我们从hello world开始

    壹 ❀ 引 按照之前的计划,从这个月开始,我将由浅至深更新一些react相关的技术博文.由于我目前也是react新手一名,所以文章本质上也算自己学习历程的记录,倘若这些文章能帮助到一些人那就再好不过了 ...

  5. JS leetcode 旋转数组 题解分析

    壹 ❀ 引 今天来做一道同样简单,但是挺有趣的题,题目来自leetcode189. 旋转数组,题目描述如下: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: ...

  6. python绘图总结

    1 二维图像 1.1 二维曲线 plot(x, y, ls="-", lw=1.5, label=None) x, y:横坐标和纵坐标 ls:颜色.点标记.线型列表,如 ls='r ...

  7. Js中的逻辑运算符

    Js中的逻辑运算符 JavaScript中有三个逻辑运算符,&&与.||或.!非,虽然他们被称为逻辑运算符,但这些运算符却可以被应用于任意类型的值而不仅仅是布尔值,他们的结果也同样可以 ...

  8. 阿里数据库SRE(转)

    SRE的职责划分却不尽相同,那么SRE究竟在做什么? SRE的职责 SRE主要负责Google所有核心业务系统的可用性.性能.容量相关的事情,根据<Site Reliability Engine ...

  9. 微信小程序云开发项目-个人待办事项-01介绍

    项目简介 这个小程序项目做的是个人待办事项管理小程序,也就是大家常见的todo类程序.做这个程序主要是为了演示如何快速得学习到微信小程序一些基本得组件.路由.云函数开发技巧.有需要的朋友可以拿去自己改 ...

  10. 使用 Visual Studio 断点调试 DLL

    继上文说到使用 IDA 和 WinDbg 调试无 dmp 文件  那么在有源码的情况下可以直接断点调试 DLL,目的是查看 DLL 内部的函数调用 场景: 程序执行到某个 DLL 时突然崩溃,先确定 ...