java学习 javaz-001 Helloworld 第一个demo
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的选择
- txt文本工具(也能用,临时使用)
 - vscode (内存不够时候用,一般我用这个,但是这个不方便生成jar)
 - 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 api https://www.matools.com/api/java8
 - java 菜鸟手册 https://www.runoob.com/java/java-intro.html
 - java 廖雪峰 https://www.liaoxuefeng.com/wiki/1252599548343744
 - java 成神之路 https://hollischuang.gitee.io/tobetopjavaer/#/menu
 - java 全栈 https://www.pdai.tech/
 - java 刷题 https://www.lintcode.com/problem/?typeId=6
 
总结回顾
- java这个最大的好处是开发的依赖包都是本地的
 - node开发,对网络依赖度太高,npm 每次都要在线安装,java就更传统很多
 
为什么要编译成class文件
- java的虚拟机只支持class文件,为了全平台使用
 
vscode java扩展插件
- ExtensionPackforJava 点那个 Run 就运行了

 
class反编译工具 Java Decompiler
- Java Decompiler
 - http://java-decompiler.github.io/
 - https://gitee.com/mirrors/Java-Decompiler
 - https://files.cnblogs.com/files/pengchenggang/jd-gui.zip?initTime=20230119&download=true
 

java学习 javaz-001 Helloworld 第一个demo的更多相关文章
- Java学习之Dubbo+ZooKeeper分布式服务Demo
		
背景:在之前的一个<Java学习之SpringBoot整合SSM Demo>分享中说到搭建ZooKeeper和Dubbo分布式框架中遇到了一些技术问题没能成功,只分享了其中的一个中间产物, ...
 - Java学习笔记二十九:一个Java面向对象的小练习
		
一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...
 - Java学习笔记 11/15:一个简单的JAVA例子
		
首先来看一个简单的 Java 程序. 来看下面这个程序,试试看是否看得出它是在做哪些事情! 范例:TestJava.java // TestJava.java,java 的简单范例 public ...
 - 【原】Java学习笔记001 - JAVA开发环境搭建
		
1.JDK下载并安装,以jdk-7u45-windows-i586.exe为例(注意JDK的安装和JRE的安装是分开的) 2.“我的电脑”右键属性,找到“高级系统设置”,找到“高级”tab下的“环境变 ...
 - 【Java学习笔记】如何写一个简单的Web Service
		
本Guide利用Eclipse以及Ant建立一个简单的Web Service,以演示Web Service的基本开发过程: 1.系统条件: Eclipse Java EE IDE for Web De ...
 - Java实现网页抓取的一个Demo
		
这个小案例的话我是存放在我的github 上. 下面给出链接自己可以去看下,也可以直接下载源码.有具体的说明 <Java网页抓取>
 - 我个人的Java学习经验(一家之言)
		
声明:本文只是我的个人经验之谈,或者连经验之谈都算不上,因为我觉得自己还是个新手,没有什么经验可谈,就算是我分享一下自己从开始学习Java到现在的一些心路历程吧,各位看官暂且看吧,欢迎交流.第一部分算 ...
 - [Java 教程 03] 我的第一个Java程序
		
现在,大家应该都已经安装好jdk环境了吧!是不是已经跃跃欲试,按耐不住心中的小激动了?那我们现在就来写我们java学习生涯中的第一个java程序. 文件相关设置 为了方便后面大家的学习呢?有一点大家还 ...
 - 【Java学习系列】第1课--Java环境搭建和demo运行
		
本文地址 分享提纲: 1. java环境的搭建 2. java demo代码运行 3.参考文档 本人是PHP开发者,一直感觉Java才是程序的王道(应用广,科班出身),所以终于下决心跟一跟. 主要是给 ...
 - Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)
		
在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. ...
 
随机推荐
- “I/O多路复用”和“异步I/O”的前世今生
			
曾经的VIP服务在网络的初期,网民很少,服务器完全无压力,那时的技术也没有现在先进,通常用一个线程来全程跟踪处理一个请求.因为这样最简单.其实代码实现大家都知道,就是服务器上有个ServerSocke ...
 - JS 这一次彻底理解选择排序
			
壹 ❀ 引 我在 JS 这一次彻底理解冒泡排序 一文中介绍了十大经典排序中的冒泡排序,所谓冒泡排序就是不断比较相邻的两个元素,让较小的往前浮,较大的往后沉,直到所有元素找到自己对应的位置.那么现在我们 ...
 - Nand flash基本原理
			
Nand flash基本原理 Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Vol ...
 - 【Lua】xLua逻辑热更新
			
1 前言  Lua基础语法 中系统介绍了 Lua 的语法体系,ToLua逻辑热更新 中介绍了 ToLua 的应用,本文将进一步介绍 Unity3D 中基于 xLua 实现逻辑热更新.  逻辑热更新 ...
 - JavaScript选择器
			
Js选择器 JS选择器常用的有getElementById().getElementsByClassName().getElementsByName().getElementsByTagName(). ...
 - springboot集成腾讯cos实现文件上传
			
腾讯对象存储介绍 对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,具有高扩展性.低成本.可靠安全等优点.通过控制台.API.SDK 和工具等 ...
 - Javascript操作对象数组实现增删改查
			
1.介绍 最近帮朋友弄一个简单的针对json数组的增删改成页面,正好涉及到了js去操作对象数组实现增删改查功能.我估计很多朋友应该也会遇到这类操作,所以记录一下以便分享. 2.数据准备 这里我就以学生 ...
 - win10下开启IIS部署网站
			
今天测试一个有关IIS的安全漏洞用了下win10下的IIS,记录一下,供网友参考. 1.启用IIS 依次点开: 控制面板-----程序----启用或关闭Windows功能 以下图片中打钩的地方全勾上. ...
 - win32- 使用WM_NCPAINT在非客户区域绘制边框
			
#pragma comment(lib, "UxTheme") #include <windows.h> #include <uxtheme.h> LRES ...
 - kubernetes(k8s)大白学习01-kubernetes是什么?有什么用?
			
kubernetes(k8s)大白基础学习-kubernetes是什么? 一.认识 Docker Docker 是什么 先来看看 Docker 的图标: 一条鲸鱼背上驮着四方形块的物品,就像一条海运船 ...