【JavaSE笔记】初识Java

news2024/11/19 6:29:28

一、前言

Java是一种非常优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。

本文将通过一个简单的Java程序,介绍Java的一些基础内容。

二、Java基本结构

1、简单的Java程序

从最简单的一个Java程序开始逐渐了解Java语言。

以下是一段Java最简单的代码,效果是输出:Hello World ! 我们将通过分析这段最简单的代码,慢慢了解Java语言。

public class Test {  // (1)
    public static void main(String[] args) { 	// (2)
        System.out.println("Hello World!");		// (3)
    }
}

(1)这是一个类的开始声明,表示这个类名为Test,其中public是访问修饰符,表示这个类是公共的,可以被其他类访问。

(2)这是Java程序运行的入口点,其中public是访问修饰符,表示这个方法是公共的,可以被其他类访问。static是静态修饰符,表示这个方法属于Test类的,而非Test类的实例,可以通过类名直接调用。void表示这个方法没有返回值,main是这个方法的名称。String[] args是命令行参数部分,即在命令行中输入的参数会以字符串数组的方式传递给main方法。

(3)System:这是 Java 编程语言提供的一个类。这个类包含了对Java应用程序环境的访问,以及标准输入、输出和错误输出流等功能。out表示 System 类中的标准输出流。可以使用 System.out 来访问这个输出流对象。println表示将输出的内容打印到输出流上,并且在结尾处自动添加一个换行符。这是 print 和 ln 两个方法的组合。

2、运行Java程序

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

注意:在运行Java程序前,必须先安装好JDK(Java Development KitJava开发工具包),JDK里面就包含了javacjava工具,Java程序最终是在JVM(Java虚拟机)中运行的。

【面试题】JDKJREJVM之间的关系?

  • JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsolejstack等。

  • JRE(Java Runtime Environment):Java运行时环境,包含了JVMJava基础类库。是使用Java语言编写程序运行的所需环境。

  • JVMJava虚拟机,运行Java代码

三、Java注释标准

注释是为了让代码更容易被读懂而附加的描述信息. 不参与编译运行, 但是却非常重要时刻牢记

代码写出来是为了给人看的, 更是为了给三个月后的你自己看的.

1、注释规则

Java中的注释主要分为以下三种:

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

注意:

  • 多行注释不能嵌套使用。

  • 不论是单行还是多行注释,都不参与编译,即编译之后生成的.class文件中不包含注释信息。

2、注释规范

  • 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新。

  • 篇幅合理: 注释既不应该太精简, 也不应该长篇大论。

  • 使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论。

  • 积极向上: 注释中不要包含负能量。

四、标识符与关键字

1、标识符

在上述程序中,Test称为类名,main称为方法名,也可以将其称为标识符,即:在程序中由用户给类名、方法名或者变量所取的名字

一个大型的工程,是由多名工程师协同开发的,如果每个人都按照自己的方式随意取名。

比如:person、PERSON、Person、_person,将会使程序非常混乱。如果大家在取名时能够遵守一定的约束(即规范),那多人写

出来的代码仿佛一个人写的,能极大的提高程序的可读性。

硬性规则

  • 标识符中可以包含:字母、数字以及 下划线和 $ 符号等等。

  • 注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写

软性建议

  • 类名:每个单词的首字母大写(大驼峰)

  • 方法名:首字母小写,后面每个单词的首字母大写(小驼峰)

  • 变量名:与方法名规则相同

2、关键字

通过观察上述程序可以发现,publicclass以及static等颜色会发生变化,将这些具有特殊含义的标识符称为关键字。即:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字

注意:用户不能使用关键字定义标识符。

以下是Java的关键字:

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

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

相关文章

数学建模——微分方程介绍

一、基础知识 1、一阶微分方程 称为一阶微分方程。y(x0)y0为定解条件。 其常规求解方法: (1)变量分离 再两边积分就可以求出通解。 (2)一阶线性求解公式 通解公式: 有些一阶微分方程需要通过整体代换…

echarts的折线图,在点击图例后,提示出现变化,不报错。tooltip的formatter怎么写

在点击图例的年后,提示框会相应的变化,多选和单选都会响应变化。tooptip的重度在formatter tooltip:{show:true,trigger:"axis",alwaysShowContent:true,triggerOn:"mousemove",textStyle:{color:"#fff"},backgroundColor…

结构体-时间的计算

任务描述 本关任务需要你编写函数计算一个时间之前“xx小时xx分xx秒”的时间是多少。 以24小时制的格式记录当前时间,譬如“09:19:52”,表示上午9点19分52秒,则“1小时20分30秒”前的时间应该是“同一天”的“07:59:22”。 提示:…

Scapy 解析 pcap 文件从HTTP流量中提取图片

Scapy 解析 pcap 文件从HTTP流量中提取图片 前言一、网络环境示例二、嗅探流量示例三、pcap 文件处理最后参考 ​ 作者:高玉涵 ​ 时间:2023.9.17 10:25 ​ 环境:Linux kali 5.15.0-kali3-amd64,Python 3.11.4,scapy…

解决Springboot使用Junit测试时对数据库的修改无效

现象 在使用Junit做单元测试的过程中,比如对mybatis的dao进行单元测试,发现对数据库的select操作正常,可以获取数据,但insert、update、delete操作即使运行不报错,仍然不能不能对数据产生修改和插入。 原因和解决 原…

d3dx9_42.dll丢失修复指南,如何修复丢失的d3dx9_42.dll文件

d3dx9_42.dll是DirectX 9的一个动态链接库文件,它是许多游戏和软件的必需组件。如果缺少这个文件,可能会导致程序无法正常运行。本文将详细讲解d3dx9_42.dll的作用以及丢失的原因,并提供5种修复方法。 一、d3dx9_42.dll的作用 1. d3dx9_42.d…

IDEA创建完Maven工程后,右下角一直显示正在下载Maven插件

原因: 这是由于新建的Maven工程,IDEA会用它内置的默认的Maven版本,使用国外的网站下载Maven所需的插件,速度很慢 。 解决方式: 每次创建 Project 后都需要设置 Maven 家目录位置(就是我们自己下载的Mav…

操作系统学习笔记-精简复习版

文章目录 操作系统概述1、操作系统2、主要功能3、用户态和内核态4、系统调用 进程管理1、进程和线程2、引入线程的好处3、线程间同步4、进程控制块 PCB5、进程的状态6、进程的通信方式7、进程的调度算法8、僵尸进程&孤儿进程9、死锁 内存管理1、内存碎片2、内存管理3、虚拟…

2023面试知识点一

1、新生代和老年代的比例 默认的,新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:2 ( 该值可以通过参数 –XX:NewRatio 来指定 ),即:新生代 ( Young ) 1/3 的堆空间大小。老年代 ( Old ) 2/3 的堆空间大小。其中,新生代 ( …

WebGoat搭建和Yakit学习

环境搭建 jdk版本:openjdk version "17.0.5“ WebGoat版本:webgoat-server-8.1.0.jar 环境不同有很大可能不能搭建成功 运行命令:java -jar webgoat-server-8.1.0.jar --server.port8888 --server.address192.168.142.131 搭建完成后…

SOLIDWORKS Composer位置关键帧的使用

SOLIDWORKS Composer是专业的SOLIDWORKS及3D文件处理的动画制作软件,作为SOLIDWORKS 产品线下的一个明星存在。 SOLIDWORKS Composer几乎可以处理任何SOLIDWORKS的模型文件并将之转化成可以动作的机械动画,可以引用在企业的网站、产品说明书以及工作指导…

卡尔曼滤波(Kalman Filter)原理浅析-数学理论推导-1

目录 前言数学理论推导1. 递归算法2. 数学基础结语参考 前言 最近项目需求涉及到目标跟踪部分,准备从 DeepSORT 多目标跟踪算法入手。DeepSORT 中涉及的内容有点多,以前也就对其进行了简单的了解,但是真正去做发现总是存在这样或者那样的困惑…

springboot和vue:一、cs/bs区别+maven介绍与其仓库配置

cs/bs的区别: ​​ C/S: 1.交互性强,具有安全访问模式,网络流量低,响应速度快, 2.因为客户端负责大多数业务逻辑和UI演示,所以也被称为胖客户端。 3.C/S结构的软件需要针对不同的操作系统开发…

QT之QML开发 锚点布局

QML中经常会用到锚点布局,本篇简单演示一下锚点布局的使用。 目录 1.锚点布局的说明 2.锚点布局三等分窗口 3.锚点布局拆分窗口 4.窗口拖动 5.完整代码 1.锚点布局的说明 2.锚点布局三等分窗口 main.qml import QtQuick 2.15 import QtQuick.Window 2.15 imp…

二叉树的具体原理及实现

文章目录 一.树的专业术语二.二叉树的原理三.常见的二叉树分类1.完全二叉树2.平衡二叉树3.二叉搜索树 四.二叉搜索树算法具体实现五.二叉搜索树具体实现代码 一.树的专业术语 首先先介绍树的专业术语 二.二叉树的原理 二叉搜索树(Binary Search Tree&#xff0c…

Java判断时间间隔来决定任务执行

数据库中的任务记录表的某条记录,状态一直无法变更,导致整个任务进程卡住,看了代码如下, 正常情况是要走到这个else里面,执行dockingGroup.setStatus(JobStatus.FAILED.getCode());将任务状态改为失败的 ,查…

Windows/Linux(命令、安装包和源码安装)平台各个版本QT详细安装教程

前言 本文章主要介绍了Windows/Linux平台下,QT4,QT5,QT6的安装步骤。为什么要把QT版本分开介绍呢,因为这三个版本,安装步骤都不一样。Windows平台,QT4的Qt Creator,QT库和编译器是分开的&#…

【奇思妙想】【节省磁盘空间】我有一些文件,我不想移动它们,但又想节省磁盘空间,该怎么做呢?

2023年9月17日,周日晚上 今天晚上整理电脑的磁盘空间时,无意间想到了这个事情 我有一个文件夹 这个文件夹里面有很多不常用的文件 但我不想把它们移走或删除,那我怎么才能从中节省磁盘空间呢? 很简单,把这些不常用的…

Maven常见面试题总结

Maven简介 Maven 是一个项目管理和整合工具。Maven 包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期管理系统(Project Lifecycle Management System),一个依赖管理系统(Dependency Management System)&#x…

JavaScript中的单线程(single-threaded)和异步编程的关系

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 单线程(Single-Threaded)与异步编程的关系⭐ 单线程的含义⭐ 阻塞与非阻塞⭐ 异步编程⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启…