JAVA-编程基础-01初始Java

news2025/1/26 15:34:15

Lison <dreamlison@163.com>, v1.0.0, 2023.03.05

JAVA-编程基础-01-初始Java

文章目录

  • JAVA-编程基础-01-初始Java
    • Java语言概述
      • Java是什么
      • Java语言的特
    • 初始Java的main方法
      • Main 方法示例
      • 了解HelloWorld代码的编写
    • 运行Java程序
      • **JDK、JRE、JVM之间的关系?**
    • 注释
      • ** 注释的作用**
      • 注释的分类
      • 注释规范
      • 补充:javadoc命令
    • 变量
      • 局部变量
      • 成员变量
      • 静态变量

Java语言概述

Java是什么

Java是一种优秀的程序设计语言,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。

Java语言的特

简单性、面向对象、分布式(微服务)、健壮性、安全性、系统结构中立、可移植性、解释性、高性能、多线程、动态性

这里将Java的特性全部列举出来,不进行说明,通过后面的学习来进行体会。

初始Java的main方法

Main 方法示例

在学习Java之处,我们使用记事本来编写 
public class HelloWord {
    public static void main(String[] args) {
        System.out.println("Hello Work");
    }
}

了解HelloWorld代码的编写

d

![\]](https://img-blog.csdnimg.cn/63344f9d32ff4794b56604d5a73d91a5.png)

在编写Java程序时必须是最外面是类,类里面是方法,方法里面才定义变量、执行语句等等。

类

通过上述代码,我们可以看到一个完整的Java程序的结构,Java程序的结构由如下三个部分组成:

1、源文件(扩展名*.java)如(HelloWorld.java):源文件带有类的定义。类用来表示程序的          一个组件,小程序或许只会有一个类,类的内容必须包含在花括号里面。

2、类:类中带有一个或者多个方法。方法必须在类的内部声明。类名必须是大驼峰。如                      MaxNum

3、方法:在方法的花括号中编写方法应该执行的语句

注意:在一个源文件中只能有一个public修饰的类,而且源文件名字必须与public修饰的类名字相同。

运行Java程序

Java是一门半编译型、版解释型语言、先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关,面向JVM的文件。最后启动Java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。

在这里插入图片描述

使用记事本或者IDEA(集成开发环境)编写Java源程序
使用javac.exe编译器编译Java源程序,生成xxx.class的字节码文件  语法格式:              javac xxx.java
使用Java运行xxx.class字节码文件 语法格式:java xxx

新建一个文本文档,命名为HelloWorld,将后缀改为.java

1、打开控制台,找到xxx.java文件

在这里插入图片描述

2、生成字节码文件

使用 javac HelloWord.java 命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ozd1DIqO-1688094147812)(typora-user-images/image-20230328115954327.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KyS5fJmP-1688094147813)(typora-user-images/image-20230328120031956.png)]

3、运行程序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wFEk1y65-1688094147813)(typora-user-images/image-20230328143729104.png)]

注意:

在运行Java程序前,必须先安装好JDK(java Development Kit即Java开发工具包),JDK里面就包含了javac和java工具,*java程序最终是在JVM*(Java虚拟机)中运行的。

在这里插入图片描述

JDK、JRE、JVM之间的关系?

JDK(java Development Kit): Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器Javac与自带的调试工具Jconsole、jstack等。
JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库,是使用Java语言编写的所需环境。
JVM:Java虚拟机,运行Java代码

在这里插入图片描述

注释

** 注释的作用**

  • 解释说明
  • 在程序中不运行,增加代码的可读性

注释的分类

1、单行注释://注释内容(用的最多)                                                              

2、多行注释:/*注释内容*/(不推荐)                                                                 

3、 文档注释:/**文档注释*/(常见于方法和类之上描述方法和类的作用),可以被javadoc        工具解析,生成一套以网页文件形式体现的程序说明文档

注意:

1、多行注释不能嵌套使用
2、不论是单行还是多行注释,都不参与编译,即编译之后生成的.class文件中不包含注释信息。
package com.lison.architecture.foundation.java01;


/**
 文档注释:
 @version v1.0.0
 @author will
 作用HelloWorld类,入门第一个程序练习
*/
public class HelloWord {
    /*
多行注释:
1. main方法是Java程序的入口方法
2. main函数的格式是固定的,必须为public static void main(String[] args)
*/


    /**
     * main方法是程序的入口函数
     * @param args
     */
    public static void main(String[] args) {
        // 单行注释:System.out.println是Java中标准输出,会将内容输出到控制台
        System.out.println("Hello Word");
    }
}

//------------------------------------------------------------------------------------
// 在cmd中,使用javadoc工具从Java源码中抽离出注释
// -d 创建目录 myHello为目录名
// -author 显示作者
// -version 显示版本号
// -encoding UTF-8 -charset UTF-8 字符集修改为UTF-8
// javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java

使用UTF-8的格式去编码

javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java

注释规范

  1. 内容准确:注释内容和代码一致,匹配,并在代码修改时及时更新。
  2. 篇幅合理:注释既不应该太精简,也不应该长篇大论
  3. 使用中文:根据工作单位要求
  4. 积极向上:注释中不要包含负能量

补充:javadoc命令

在这里补充一个在以后的Java编程中常会用到的东西:

当我们使用文档注释时使用 **javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java **命令时会生成html文件,会生成我们所注释的文档

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YzYFxR77-1688094147814)(typora-user-images/image-20230328143635185.png)]

在这里插入图片描述

点开Java文件中的index.html ,这个操作就生成了这个代码的使用手册

在这里插入图片描述

在这里插入图片描述

/**
 文档注释:
 @version v1.0.0
 @author lison
 作用HelloWorld类,入门第一个程序练习
*/
public class HelloWorld {
    /*
多行注释:
1. main方法是Java程序的入口方法
2. main函数的格式是固定的,必须为public static void main(String[] args)
*/


    /**
     * main方法是程序的入口函数
     * @param args
     */
    public static void main(String[] args) {
        // 单行注释:System.out.println是Java中标准输出,会将内容输出到控制台
        System.out.println("Hello World");
    }
}

变量

局部变量

在方法体内声明的变量被称为局部变量,该变量只能在该方法内使用,类中的其他方法并不知道该变量。来看下面这个示例。

public class LocalVariable {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        int c = a + b;
        System.out.println(c);
    }
}	

其中 a、b、c 就是局部变量,它们只能在当前这个 main 方法中使用

成员变量

在类内部但在方法体外声明的变量称为成员变量,或者实例变量。之所以称为实例变量,是因为该变量只能通过类的实例来访问。来看下面这个示例。

public class InstanceVariable {
    int data = 88;
    public static void main(String[] args) {
        InstanceVariable iv = new InstanceVariable();
        System.out.println(iv.data); // 88
    }
}

其中 iv 也是一个变量,它是一个引用类型的变量。new 关键字可以创建一个类的实例(也称为对象),通过“=”操作符赋值给 iv 这个变量,iv 就成了这个对象的引用,通过 iv.data 就可以访问成员变量了。

静态变量

通过 static 关键字声明的变量被称为静态变量,它可以直接被类访问,来看下面这个示例。

public class StaticVariable {
    static int data = 99;
    public static void main(String[] args) {
        System.out.println(StaticVariable.data); // 99
    }
}

其中 data 就是静态变量,通过类名.静态变量就可以访问了,不需要创建类的示例。

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

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

相关文章

人工成本上涨推动服务行业转向智能化

近年来&#xff0c;随着人工成本的不断上涨&#xff0c;越来越多的企业开始转向智能客服系统&#xff0c;以提供更高效、更经济的客户服务。智能客服的崛起成为了服务行业的新趋势&#xff0c;为企业节省成本、提升服务质量带来了巨大的机遇。 ** 智能接口测试地址&#xff1a;…

【CentOS】VirtualBox yum 无法使用

【CentOS】VirtualBox yum 无法使用 yum install net-tools -y出现如下错误&#xff1a; cannot find a valid baseurl for repo: base/7/x86_64或无法ping 解决如下&#xff1a; 进入系统&#xff0c;修改网卡信息。 执行修改命令&#xff0c;ifcfg-xxx 后面的xxx就是上面…

Linux系统下查看动态库依赖关系指令(ldd)

下面介绍一下在Linux系统下利用ldd指令查看动态库依赖关系&#xff1b; 文章目录 1、ldd命令全称2 ldd参数说明3 简单示例4 查看缺少的依赖库5、ldd指令详细介绍 LDD用来打印或者查看程序运行所需的共享库,常用来解决程序因缺少某个库文件而不能运行的一些问题。ldd不是一个可…

iPad平板用的触控笔什么牌子好?主动式电容笔推荐

现在&#xff0c;电容笔已经成为在线办公、在线教育等产业中的热门产品&#xff0c;那么&#xff0c;平替电容笔是否会代替苹果原有的电容笔呢&#xff1f;实际上&#xff0c;你根本不需要花那么多钱去买一个原装的苹果电容笔。一支普通的平替式电容笔只需要一两百元&#xff0…

在Uniapp中实现在线使用iconfont的图标

icanfont官网 iconfont官网&#xff1a;iconfont-阿里巴巴矢量图标库 在自己建的项目下&#xff1a;点击 Font Class 可以看到下面的在线 css文件 在 <style> 标签中&#xff0c;使用 import 指令来引入在线的 CSS 文件。例如&#xff1a; <style>import url…

西安石油大学期末考试C++真题解析

1、一、类型、返回值类型 二、参数表、函数重载 2、一、实例化 二、实例化的类型或类类是对象的蓝图&#xff0c;对象是类的实例化 3、const 4、一个 两个 5、一、公有继承 二、私有继承、保护继承 6、抽象类、实例化对象 7、函数模板、类模板 8、try、catch、throw 9、…

springboot 统一日志 链路跟踪 dubbo3链路 springboot log-starter 设计和实现- 统一日志和链路跟踪 管理、设计和实现

文章目录 1、目标2、源代码3、实现逻辑操作参数定义日志拦截器本地服务日志拦截调用微服务模块的日志保存接口继承日志工具类链路跟踪自实现 4、 logback.xml配置5、测试类测试http请求文件测试接口层 外传 springboot 统一日志 链路跟踪 dubbo3链路 springboot log-starter 设…

Springboot 定时任务,分布式下幂等性如何解决

一、概述&#xff1a; 在分布式环境下&#xff0c;定时任务的幂等性问题需要考虑多个节点之间的数据一致性和事务处理。 一种解决方法是使用分布式锁来保证同一时间只有一个节点能够执行该任务。具体实现可以使用Redis或Zookeeper等分布式协调工具提供的分布式锁功能。 另一…

CC2530 定时器配置步骤

第一章 CC2530时钟源 (1)时钟源 1、内部RC震荡器(32KHz、16MHz) 2、外部石英晶振(32.768KHz、32MHz) 注意:外部石英晶振比较稳定,在无线收发中采用外部石英晶振 (2)时钟源的切换 用于判断时钟源是否切换成功 第二章 定时/技术器的基本原理 定时/计数器,是一种…

(小程序)uniapp调接口完整流程

(小程序)uniapp调接口完整流程 代码&#xff1a; <script lang"ts" setup>import { ref } from "vue"; const form ref({searchVal: "", });//搜索const searchClick () > {console.log(form.value.searchVal)let data {text: form…

【C#】并行编程实战:实现数据并行(2)

本章继续学习实现数据并行&#xff0c;本文主要介绍任务并行度和自定义分区策略相关内容。 本教程对应学习工程&#xff1a;魔术师Dix / HandsOnParallelProgramming GitCode 2、任务并行度 数据并行设计在系统的多个内核上以并行方式运行循环所带来的的优势&#xff…

嵌入式系统:连接物理世界与数字世界的桥梁

目录 导语&#xff1a; 一. 什么是嵌入式系统&#xff1f; 二. 嵌入式系统的应用领域 三. 嵌入式系统的未来发展趋势 导语&#xff1a; 在当今数字时代&#xff0c;我们离不开各类智能设备的便利&#xff0c;它们在我们的生活中起着至关重要的作用。而这些设备中的关键技术…

基于Java+Swing+Mysql项目信息管理系统

基于JavaSwingMysql项目信息管理系统 一、系统介绍二、功能展示1.主页2.新增项目信息3.删除项目信息 三、数据库四、其他系统实现五、获取源码 一、系统介绍 该系统实现了查看项目列表、新增项目信息、删除项目信息 运行环境&#xff1a;eclipse、idea、jdk1.8 二、功能展示…

2023-最新-发布java工具包到 maven 中央仓库,不踩坑

说明 要想将自己的java工具提交到maven中央仓库并公开&#xff0c;但是maven中央仓库是不允许我们直接上传jar包到它上面的&#xff0c;因此我们只能将jar包发布到它指定的第三方maven仓库&#xff0c;然后这个仓库再将jar包同步到中央仓库。而sonatype的OSSRH仓库就是被认可的…

C++ day42

1、思维导图 2、 #include <iostream> using namespace std;class Person { private:int age;int *p; public://无参构造Person():p(new int(89)){age 18;}//有参构造Person(int age,int num){this->age age;this->pnew int(num);}//拷贝构造函数Person(Person …

MKS SERVO4257D 闭环步进电机_系列11 STM32_脉冲和串口例程

第1部分 产品介绍 MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口&#xff0c;支持MODBUS-RTU通讯协议&#xff0c;内置高效FOC矢量算法&#xff0c;采用高精度编码器&#xff0c;通过位置反馈&a…

【java】线程池简介

线程池简介 一、什么是线程池 线程池是一种利用池化技术思想来实现的线程管理技术&#xff0c;主要是为了复用线程、便利地管理线程和任务、并将线程的创建和任务的执行解耦开来。我们可以创建线程池来复用已经创建的线程来降低频繁创建和销毁线程所带来的资源消耗。 二、线…

通过zOffice SDK实现灵活的数据统计

我们通过zOffice收集的业务数据&#xff0c;如何进行分析统计呢&#xff1f;或许我们会想到数据透视表或者筛选的方式&#xff0c;这当然可以&#xff0c;但是在某些场景下&#xff0c;通过透视表统计有一定的难度&#xff0c;不够灵活&#xff0c;而zOffice SDK给我们提供了丰…

使用autossh实现内网穿刺

前言 需要在客户公司部署一套系统&#xff0c;要求是能公网访问&#xff0c;但是客户那边没有公网IP。所以打算打算使用autossh实现内网穿刺。 准备 硬件&#xff1a; 我需要一台有独立ip的公网服务器82.82.82.82&#xff08;充当穿刺服务器&#xff09;&#xff0c;一台能…

EasyExcel时间处理时的bug,希望阿里不要不识好歹,尽快修复这个bug。

一、情况描述 我使用阿里的EasyExcel进行数据导入&#xff0c;但是我发现它录入的时间和表格上的数据不一样。Excel中录入的时间是7:30:00和21:20:00&#xff0c;但是实际读取的数据是7:30:00 上午&#xff0c;9&#xff1a;20&#xff1a;00 下午&#xff0c;导致我数据录入失…