【JAVA SE】初识JAVA

✨✨欢迎大家来到Celia的博客✨✨

🎉🎉创作不易,请点赞关注,多多支持哦🎉🎉

所属专栏:JAVA

个人主页:Celia's blog~

目录

​编辑

一、关于JAVA

1.1 JAVA语言简介

1.2 语言优势

1.2.1 简单性

1.2.2 面向对象

1.2.3 分布式

1.2.4 健壮性

1.2.5 安全性

1.2.6 体系结构的独立

1.2.7 可移植性

1.2.8 解释性

1.2.9 高性能

1.2.10 动态性

二、main方法

 2.1 运行JAVA程序

 2.2 关于JDK

 三、注释

 四、标识符

五、关键字


 

一、关于JAVA

1.1 JAVA语言简介

Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

 Java 语言源于 1991 年 4 月,Sun 公司 James Gosling博士 领导的绿色计划(Green Project) 开始启动,此计划最初的目标是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个就是Java的前身: Oak (得名与Java创始人James Gosling办公室外的一棵橡树),但由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1995年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布,并提出“Write once, Run anywhere" 的口号。

 JAVA 发展历程上一些重要的里程碑:

  1. 1995年,Java正式发布。
  2. 1996年1月,Sun公司发布JDK1.0,Java语言有了第一个正式版本的运行环境。
  3. 1998年12月,Sun公司发布JDK1.2(代号Playground竞技场),Java技术体系拆分为3个方向,分别是面向桌面应用开发的J2SE(Java 2 Platform, Standard Edition)、面向企业级开发的J2EE(Java 2 Platform, Enterprise Edition)和面向手机等移动终端开发的J2ME(Java 2 Platform, Micro Edition)。
  4. 2004年9月,Sun公司发布JDK1.5(代号Tiger老虎),J2SE 1.5更名为Java SE 5.0(内部版本号1.5.0),成为Java语言发展史上的又一里程碑。
  5. 2006年11月,Sun公司宣布最终会将Java开源,并在随后的一年多时间内,陆续将JDK的各个部分在GPL v2(GNU General Public License v2)协议下公开了源码,并建立了OpenJDK组织对这些源码进行独立管理。

1.2 语言优势

1.2.1 简单性

  在某种程度上,我们可以把JAVA看作是C/C++的一个”纯净版本“,在JAVA中,不存在头文件、指针、结构、联合、操作符重载等。

1.2.2 面向对象

  在JAVA中,一切皆对象。比如人、房子,这些都算作一个对象,JAVA会将这些对象的多种特性一一描述出来,包括关于这些对象的信息操作方式,也会定义出来,统一封装在一个类中,统一管理。

1.2.3 分布式

  Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。

1.2.4 健壮性

  JAVA采用的指针模型可以消除在访问内存时,重写和消除数据的可能性。JAVA对于数据类型的检查极其严格,避免了许多越界问题,以及数据类型不匹配而造成的不可控因素。在此之外,JAVA还可以检查出很多其他语言只能在运行中才能检测出的问题(比如死循环、逻辑语句常为真/假逻辑错误)。

1.2.5 安全性

  JAVA适用于网络/分布式环境。在研发的时候,为了达到这个目的,研发团队投入了大量精力,以至于让JAVA构建的系统具有防病毒、防篡改的特性。

1.2.6 体系结构的独立

  JAVA不同于其他语言依赖系统运行,JAVA的体系结构是独立出来的。编译器会根据JAVA代码生成一个特定的字节码文件,再按照指定规范生成一系列的机器指令,也就是说,只要有JAVA系统,JAVA文件就可以在任何系统上运行。

1.2.7 可移植性

  与C/C++不同,在JAVA中,没有“依赖具体实现的地方”,JAVA对于所有的数据类型的大小做了明确的规定。比如在JAVA中,int类型永远是32位的整数,但是在C/C++中,int类型可能是16位,也有可能是32位。JAVA的这种规范大大提高了代码的可移植性。

1.2.8 解释性

  Java为了实现与平台无关,自己维护了一套基于栈架构的指令集,Java源代码经过编译之后,字节码文件中的指令就是按照自己的指令集来组织的,但是在具体硬件环境中运行时,系统并不能识别,因为Java程序在执行时,Java解释器会逐条的将字节码文件中的指令翻译成CPU的指令集

1.2.9 高性能

  JAVA可以实现边解释便执行,随着在近些年来JVM的不断优化,比如:JIT、热点代码探测,可以让JAVA程序运行的效率大大提高,在某些场合甚至不亚于C/C++。

1.2.10 动态性

  JAVA比C/C++更见具有动态性,能够适应不同的时代发展环境,库中可以自由添加方法、实例变量,而对客户端没有任何影响。

二、main方法

public class Text{
//修饰        类名
    public static void main(String[] args) {  //main方法
        System.out.println("Hello,Celia!");   //输出Hello,Celia!
    }
}

以上是一个简单JAVA程序的示例。

 一般来讲,JAVA代码由以下三个部分组成:

  • 源文件(扩展名为.java),源文件中有类的定义。类用来表示程序的一个组件,类中的内容必须在花括号中。
  • 类,在类中会有一个或多个方法。方法必须在类的内部声明。
  • 方法,在方法的花括号中编写方法所需要执行的语句。

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

 2.1 运行JAVA程序

  JAVA是一门半编译型,半解释型语言。javac编译器会先把程序的源文件进行编译,生成一个字节码文件(.class为后缀),此文件与平台无关,仅仅是面向JVM(JAVA虚拟机)的。在这之后,JVM会将字节码文件转换成平台能够理解的形式,这样不论在什么平台上,JAVA代码都能够运行起来。

  • 可以使用记事本或者IDEA(集成开发环境)来编写JAVA程序。(安装了JDK)
  • 在cmd上使用命令来生成以.class为后缀的字节码文件。
     
    javac xxx.java
    //   文件名

  • 在cmd上使用命令来执行字节码文件。
     
    java xxx
    //   只有文件名,没有后缀

 2.2 关于JDK

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

 三、注释

  在JAVA中,注释主要分为以下三种:

  • //单行注释
  • /*多行注释*/
  • /**文档注释*/
    
    //可以被Javadoc工具解析,生成一个以网页形式的程序说明文档

 四、标识符

  在整个程序中,为类名、方法名、变量所取的名字就是标识符。

  • 可以包含字母、数字、下划线、$符号
  • 标识符不能以数字开头,也不能是关键字

一些规范建议:

  • 类名:每个单词的首字母大写
  • 方法名:首字母小写,后面的每个单词首字母大写
  • 变量名:同方法名

五、关键字

关键字是JAVA事先定义好的,有明确特殊意义的标识符。以下是一些常见的关键字:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Patch-Wise Graph Contrastive Learning for Image Translation

Patch-Wise Graph Contrastive Learning for Image Translation 图像翻译中的逐块图对比学习 Chanyong Jung1, Gihyun Kwon1, Jong Chul Ye1, 2 Chanyong Jung,Gihyun Kwon,Jong Chul Ye 1, 2 Abstract 摘要 Patch-Wise Graph Cont…

Windows快捷命令

Windows 操作系统提供了大量的快捷命令,用于快速访问系统设置和管理工具。这些命令在各个版本的 Windows 中基本都适用,可以帮助用户快速进入各类管理工具,方便系统的配置和管理。如果你需要使用这些工具,只需按 Win R 键&#x…

win11快速安装mysql数据库系统

win11快速安装mysql数据库系统 1、下载 1.1 打开官网 1.2 向下滚动页面 1.3 进入下载选项 1.4 下载8.0.4 LTS 1.5 开始下载 1.6 下载中 2、解压 大家注意,此时解压后目录是没有data目录的。 3、数据库初始化 3.1 管理员身份打开CMD 开始菜单上,输入…

【漏洞复现】Secnet-智能路由系统弱口令

0x01 产品简介 Secnet安网智能AC管理系统是广州安网通信技术有限公司(简称“安网通信”)的无线AP管理系统 0x02 漏洞描述 攻击者可直接利用弱口令登录系统 0x03 搜索语法 fofa: title"安网-智能路由系统" || title"智能路由系统" || title"安网科…

代码随想录算法训练营第三十一天|455.分发饼干,376. 摆动序列,53. 最大子序和

455.分发饼干 优先把小饼干分给胃口值小的&#xff0c;或者是把大饼干分给胃口大的。 376. 摆动序列 class Solution { public:int wiggleMaxLength(vector<int>& nums) {if (nums.size() < 1) return nums.size();int curDiff 0; // 当前一对差值int preDiff …

PostgreSQL扩展之PGroonga:多语言全文搜索

简介 PGroonga 是一个 PostgreSQL 扩展&#xff0c;它增加了基于 Groonga 的全文搜索索引方法。虽然原生的 PostgreSQL 支持全文索引&#xff0c;但它仅限于基于字母和数字的语言。PGroonga 提供了更广泛的字符支持&#xff0c;使其成为 PostgreSQL 支持的语言的超集&#xff…

Ubuntu20.04调试功能包的一些报错解决办法【更新中2024.05.14】

一、Could not find a package configuration file provided by “catkin_virtualenv” 解决办法&#xff1a; sudo apt install ros-noetic-catkin-virtualenv二、 ERROR: Could not find a version that satisfies the requirement pip-tools5.1.2 (from versions: none) …

将PDF转换成电子杂志,轻松打造畅销内容!

在数字化时代&#xff0c;将PDF转换成电子杂志是一种非常受欢迎的内容创作方式。这种方式不仅可以提高内容的传播效果&#xff0c;还可以为创作者带来更多的收益。那么&#xff0c;如何轻松地将PDF转换成电子杂志&#xff0c;打造畅销内容呢&#xff1f; 市面上有许多可以将PDF…

战网国际服加速器用哪个好 暴雪战网好用加速器介绍

战网国际版&#xff0c;又称Battle.net环球版&#xff0c;是暴雪娱乐操盘的全球性游戏互动平台&#xff0c;它跨越地理界限&#xff0c;服务于全球游戏爱好者。与地区限定版本相异&#xff0c;国际版赋予玩家自由进入暴雪旗下众多经典游戏的权利&#xff0c;无论身处何方&#…

【Linux 网络】网络基础(二)(应用层协议:HTTP、HTTPS)-- 详解

我们程序员写的一个个解决我们实际问题&#xff0c;满足我们日常需求的网络程序&#xff0c;都是在应用层。 前面写的套接字接口都是传输层经过对 UDP 和 TCP 数据发送能力的包装&#xff0c;以文件的形式呈现给我们&#xff0c;让我们可以进行应用层编程。换而言之&#xff0c…

Go微服务: 接入Prometheus性能监控平台与Grafana平台

接入Prometheus 在 go-micro 生成的模板中, 我们一如既往的完成基础工作之后 进入main.go工作的代码编写&#xff0c;main.go package mainimport ("fmt""log""strconv""github.com/go-micro/plugins/v4/registry/consul"opentracing…

【nfs服务部署服务端和客户端搭建】

原理 NFS&#xff08;Network File System&#xff09;是文件服务器之一。它的功能是可以通过网络&#xff0c;让不同的机器、不同的操作系统可以彼此共享数据文件。 NFS服务器可以让服务端的共享目录挂载到本地端的文件系统中&#xff0c;其他服务器如果想访问共享目录&#…

OFDM 802.11a的FPGA实现(十六)长训练序列:LTS(含Matlab和verilog代码)

目录 1.前言2.原理3.Matlab生成长训练序列4.硬件实现5.ModelSim仿真6.和Matlab仿真结果对比 原文链接&#xff08;相关文章合集&#xff09;&#xff1a; OFDM 802.11a的xilinx FPGA实现 1.前言 在之前已经完成了data域数据的处理&#xff0c;在构建整个802.11a OFDM数据帧的时…

基于死区补偿的永磁同步电动机矢量控制系统simulink仿真模型

整理了基于死区补偿的永磁同步电动机矢量控制系统simulink仿真&#xff0c;该模型使用线性死区补偿的PMSM矢量控制算法进行仿真&#xff0c;使用Foc电流双闭环 。 1.模块划分清晰&#xff0c;补偿前后仿真有对比&#xff0c;易于学习; 2.死区补偿算法的线性区区域可调; 3.自…

fyne更新GUI内容

fyne更新GUI内容 实现一个时钟界面&#xff0c;每秒钟更新一次。 package mainimport ("fyne.io/fyne/v2/app""fyne.io/fyne/v2/widget""time" )func updateTime(label *widget.Label) {formatted : time.Now().Format("2006-01-02 15:04…

Softing工业推出的edgeConnector将Allen-Bradley控制器集成到工业边缘应用中

2024年4月17日&#xff08;哈尔&#xff09;&#xff0c;Softing宣布扩展其基于Docker的edgeConnector产品系列&#xff0c;推出了新软件模块edgeConnector Allen Bradley PLC&#xff0c;可方便用户访问来自ControlLogix和CompactLogix控制器数据。 &#xff08;edgeConnector…

LSTM与GAN创新结合!模型性能起飞,准确率超98%

今天来聊一个深度学习领域非常具有创新性的研究方向&#xff1a;LSTM结合GAN。 LSTM擅长处理和记忆长期的时间依赖关系&#xff0c;而GAN可以学习复杂的数据分布并生成逼真的数据样本。通过充分结合两者的优势&#xff0c;我们可以增强模型对复杂数据的处理能力&#xff0c;提…

二叉树的常见操作

建立树 复制二叉树 计算深度 计算总结点数 计算叶子结点数

GPT-4o、GPT-4国内可用!新UI界面率先体验方法!

测试情况&#xff1a; 现根据测试结果&#xff0c;先对比一下普号4o和付费的区别&#xff1a; 注&#xff1a; plus限制情况&#xff1a;4的次数用完后可以用4o&#xff0c;但4o的80条用完后不能用4&#xff1b; team账户限制是100条/3h&#xff0c;4o和4共享额度 目前发现的…