【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事先定义好的,有明确特殊意义的标识符。以下是一些常见的关键字:

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

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

相关文章

链表常见OJ题

目录 题目一:移除链表元素 (1)题目链接 (2)题目要求 (3)题解 题目二:反转链表 (1)题目链接 (2)题目要求​编辑 (3…

项目9-网页聊天室1(注册+Bycrpt加密)

1.准备工作 1.1.前端页面展示 1.2 数据库的建立 我们通过注册页面,考虑如何设计用户表数据库。 用户id,userId用户名,唯一,username用户密码,password(包括密码和确认密码ensurePssword【数据库没有该字段…

【简单介绍下Milvus】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

网络3--网络通信的深度理解(端口号)

网络通信的进一步理解 两个主机间进行通信,其实是两个主机间的软件进行通信,软件也就是可执行程序,运行时就是进程,所以也为进程间通信。 进程间通信需要共享资源,这里两个主机间的共享资源是网络,利用的是…

Visual Studio生成C++的DLL文件(最简单版)

前言 当你在使用C编写一些可重用的代码时,将其打包成一个动态链接库(DLL)可以使其更容易地被其他项目或者程序调用和使用。Visual Studio提供了一种简单的方式来生成C的DLL文件。下面是一个关于如何在Visual Studio中生成C的DLL文件的简单教…

【 第一性原理计算方法及应用】

第一性原理计算方法及应用述

对接极速行情丨DolphinDB MDL 行情插件使用指南

通联数据依托于金融大数据,结合人工智能技术为投资者提供个性化、智能化、专业化投资服务, MDL 则是通联数据提供的高频行情数据服务。DolphinDB 提供了能够从 MDL 服务器获取高频行情数据的 DolphinDB MDL 插件,帮助用户方便地通过 DolphinD…

算法day06

第一题 1658. 将 x 减到 0 的最小操作数 如题上述: 本题原来的意思给定一个数字x,从数组的左边或者右边 使用x减去数组中的数字,直到减去最后一个数字为0时,返回最小的操作次数;如果最终减去的数组中的数字之后不能得…

HR系统组合漏洞挖掘过程

前言 某天在项目中遇到了一个奇怪的人才管理系统,通过FOFA(会员可在社区获取)进行了一番搜索,发现了该系统在互联网上的使用情况相当广泛。于是,我开始了后续的审计过程。 在搜索过程中,我偶然间找到了一份…

Nginx静态压缩和代码压缩,提高访问速度!

一、概述 基于目前大部分的应用,都使用了前后端分离的框架,vue的前端应用,也是十分的流行。不知道大家有没有遇到这样的问题: 随着前端框架的页面,功能开发不断的迭代;安装的依赖,不断的增多&a…

无人机的用途

无人机,即无人驾驶飞机,其用途广泛且多样,涉及到多个领域。 在农业领域,无人机通过搭载各种传感器和相机,可以对农田进行空中巡视,收集农田数据,如土壤含水量、气温、湿度等,以及植…

Ubuntu系统如何使用宝塔面板搭建HYBBS论坛并发布公网远程访问

文章目录 前言1. HYBBS网站搭建1.1 HYBBS网站安装1.2 HYBBS网站测试1.3. cpolar的安装和注册 2. 本地网页发布2.1.Cpolar临时数据隧道2.2.Cpolar稳定隧道(云端设置)2.3.Cpolar稳定隧道(本地设置) 3.公网访问测试总结 前言 在国内…

【智能算法】河马优化算法(HO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年,MH Amiri受到自然界河马社会行为启发,提出了河马优化算法(Hippopotamus Optimization Algorithm, HO)。 2.算法原理 2.1算法思想 …

【C++】AVL

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、AVL 树 1.1、AVL树的概念 1.2、AVL树节点的定义 1.3、AVL树的插入 1.4、AVL树的旋转 1.4.1、新节点插入较高左子树的左侧---左左:右单旋 1…

Spring整体流程源码分析

DisableEncodeUrlFilter 防止sessionId被泄露 包装器模式 WebAsyncManagerIntegrationFilter WebAsyncManagerIntegrationFilter通常与Spring MVC的异步请求处理机制一起使用,确保在使用Callable或DeferredResult等异步处理方式时,安全上下文能够正…

CSP备考---位运算

前言 本期我们将学习位运算,与本期类型的考点(二进制转换)反码、补码、原码。 1、位运算是什么 首先我们需要先了解位运算是什么。 我们知道,计算机中的数在内存中都是以二进制形式进行存储的 ,而位运算就是直接对整…

打造本地GPT专业领域知识库AnythingLLM+Ollama

如果你觉得openai的gpt没有隐私,或者需要离线使用gpt,还是打造专业领域知识,可以借用AnythingLLMOllama轻松实现本地GPT. AnythingLLMOllama 实现本地GPT步聚: 1 下载 AnythingLLM软件 AnythingLLM官网地址: Anythi…

功能卓越,未来可期!实在Agent智能体公测圆满收官

“被需要的智能才是实实在在的智能。”一直以来,实在智能始终坚持从行业本质出发思考如何围绕客户需求打造更智能、更普惠的智能体数字员工,切实关注用户真实的使用体验与感受。 自2020年7月起,实在智能率先推出第一代实在RPA数字员工&#…

SpringBoot设置默认文件大小

1、问题发现 有个需求,上传文件的时候,发现提示了这个错误,看了一下意思是说,文件超过了1M。 看我们文件的大小: 发现确实是,文件超出了1M,查了一下资料,tomcat默认上传文件大小为1M…

简单粗暴的翻译英文pdf

背景:看书的时候经常遇到英文pdf,没有合适的翻译软件可以快速翻译全书。这里提供一个解决方案。 Step 1 打开英文pdfCTRLA全选文字CTRLC复制打开记事本CTRLV复制保存为data.txt Step 2 写一个C脚本 // ToolPdf2Html.cpp : 此文件包含 "main&quo…