【JavaSE】/*初识Java*/

news2024/9/28 21:27:55

目录

一、了解 Java 语言

二、Java 语言的重要性 

2.1 使用程度

2.2 工作领域

三、Java 语言的特性

四、Java 的基础语法

五、可能遇到的错误

六、第一个 java 程序代码解析

七、Java 注释

八、Java 标识符

九、Java 关键字


一、了解 Java 语言

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。它由 James Gosling (詹姆斯-高斯林) 和同事们共同研发,并提出了 “Write once, Run anywhere" (一次编译,到处运行) 的口号。(编译得到字节码文件,任意电脑中只要有JRE就能被执行,即Java具有很强的跨平台性)

后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Oracle 公司的产品。

Java分为三个体系:

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版
  • JavaEE  (J2EE)     (Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME (J2ME)     (Java 2 Platform Micro Edition,java平台微型版)。

2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本已经更名,以取消其中的数字 "2":J2EE 更名为 Java EE,J2SE 更名为Java SE,J2ME 更名为 Java ME。

补充:互联网的发展:PC时代、移动互联网时代。

二、Java 语言的重要性 

2.1 使用程度

TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经 验的程序员、 课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如 Google、MSN、Yahoo!、 Wikipedia、YouTube 以及 Baidu 等)进行计算。TIOBE Index - TIOBE

根据下图可知 Java 语言的使用一直位居行业的前列。

不过我们需要注意,排名并不能说明哪个语言好,哪个语言不好,因为每门编程语言都有适合自己的应用场景。

2.2 工作领域

1. 企业级系统

比如大型复杂的企业级软件系统,Java的安全机制以及跨平台性的优势,其在分布式系统领域开发中有 广泛应用,涉及到金融、电信、交通、电子商务、ERP系统等。

2. Web开发领域

Java语言在设计初期,赶上了互联网发展的风口,当时就瞄准了互联网开发,凭借稳定的性能表现和较 好的扩展性,Java语言一直是大型互联网平台的重要解决方案。

3. android平台应用

Android是一种智能手机操作系统,Java是一门非常流行的编程语言。Android上的应用程序就是大多是 用Java编写的,Android的SDK大部分就是直接将Java SDK翻译过来的,所以具有Java基础,也可以快速 上手Android开发。

4. 大数据平台开发

大数据相关的各类框架,比如:Hadoop、spark、storm、flink等,以及各种中间件flume、kafka、 sqoop等,这些框架以及工具等大多数是用Java语言开发的,随着大数据技术的落地应用,Java在大数据领域的应用前景也是比较广阔的。

除上述开发领域,Java在游戏领域、人工智能领域、科学计算领域、嵌入式领域也有一定的应用。

三、Java 语言的特性

  • Java 语言是简单的:

    Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。

  • Java 语言是面向对象的:

    Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。Java 语言全面支持动态绑定,而 C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

  • Java语言是分布式的:

    Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。

  • Java 语言是健壮的:

    Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。

  • Java语言是安全的:

    Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。

  • Java 语言是体系结构中立的:

    Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

  • Java 语言是可移植的:

    这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。

  • Java 语言是解释型的:

    如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

  • Java 是高性能的:

    与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。

  • Java 语言是多线程的:

    在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。

  • Java 语言是动态的:

    Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

四、Java 的基础语法

一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。

  • 对象:对象是类的一个实例,有状态和行为。
  • 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
  • :类是一个模板,它描述一类对象的行为和状态。
  • 方法:方法就是行为,一个类可以有很多方法;逻辑运算、数据修改以及所有动作都是在方法中完成的。(相当于C语言中的函数),main方法是程序的入口
  • 语句:我们应该在方法的花括号中编写方法应该执行的语句。

注意:一个Java源文件中只能有一个public修饰的主类,并且类名要和Java文件名保持一致。字节码文件的个数与类的个数直接相关,一个类对应一个字节码文件所有的 Java 程序由 public static void main(String[] args) 方法开始执行

总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。 

五、可能遇到的错误

① 源文件后缀不是.java
② 主类名与文件名不一致
③ main方法名写成mian
④ 主类名没有加public修饰
⑤ 方法中语句没有以分号结尾
⑥ 中文格式的分号
⑦ JDK环境未配置成功
⑧ String[ ]中的S写成了小写
⑨ 输出语句中System的S写成了小写

六、第一个 java 程序代码解析

七、Java 注释

Java 注释是一种在 Java 程序中用于提供代码功能说明的文本。

注释不会被编译器包含在最终的可执行程序中 (字节码文件中也不存在注释) ,因此不会影响程序的运行。

注释是良好的编程习惯,它们帮助程序员更容易地理解代码的用途和功能,并且在团队协作中非常有用。

Java 注释主要有三种类型:

  • 单行注释:快捷键添加和删除都是:ctrl+/
  • 多行注释:快捷键添加和删除都是:ctrl+shift+/,注意:多行注释不能嵌套使用
  • 文档注释:文档注释以 /** 开始,以 */ 结束,通常出现在类、方法、字段等的声明前面,用于生成代码文档,这种注释可以被工具提取并生成 API 文档,如JavaDoc 。文档注释的格式通常包含一些特定的标签,如 @param 用于描述方法参数,@return 用于描述返回值,@throws 用于描述可能抛出的异常等等,这些标签有助于生成清晰的API文档,以便其他开发者能够更好地理解和使用你的代码。(一般用得很少)

 

八、Java 标识符

Java 的类名、方法名以及变量名都被称为标识符。

关于 Java 标识符,有以下几点需要注意:

  • 首字符之后可以是字母、数字、下划线(_)或美元符($)的任何字符组合
  • 首字符只能是以字母、美元符($)或者下划线(_)开始
  • 关键字不能用作标识符
  • 标识符严格区分大小写
  • 合法标识符举例:age、$salary、_value、__1_value
  • 非法标识符举例:123abc、-salary
  • 类名:每个单词的首字母大写(大驼峰)
  • 方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
  • 变量名:同上(小驼峰)

九、Java 关键字

Java 关键字不能用于常量、变量、和任何标识符的名称。

注意:Java 的 null 不是关键字,类似于 true 和 false,它是一个字面常量,不允许作为标识符使用。

本篇文章已完结,谢谢支持哟 ^^ !!!

 

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

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

相关文章

2023年建筑特种作业人员安全生产知识试题

100分题库提供安全员考试试题、建筑安全员考试预测题、建筑安全员ABC考试真题、安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 判断题(1-20) 1.《建筑工程安全生产管理条例》是我国第一部关于…

mac苹果电脑卡顿反应慢如何解决?2024最新免费方法教程

苹果电脑以其稳定的性能、出色的设计和高效的操作系统,赢得了广大用户的喜爱。然而,随着时间的推移,一些用户会发现自己的苹果电脑开始出现卡顿、反应慢等问题。这不仅影响使用体验,还会影响工作效率。那么,面对这些问…

2024年旅游行业薪酬报告

来源:薪智 近期历史回顾: 2024年中国健康家电消费洞察及趋势研究报告.pdf 2024巴菲特股东大会5万字完整版.pdf 2024年全国大学生新媒体直播大赛.pdf 2024北京市高级别自动驾驶示范区数据安全治理白皮书.pdf 2024年第一季度开发者健康调查报告.pdf 2024年…

计算机毕业设计 | vue+springboot线上考试 在线测试系统(附源码)

1,项目介绍 项目背景 在线考试借助于网络来进行,传统考试所必备的考场和监考对于在线考试来说并不是必要项目,因此可以有效减少组织考试做需要的成本以及设施。同时,由于在线考试系统本身具有智能阅卷的功能,也大大减…

记录文件上传exists方法遇到的坑

1、问题 判断文件是否存在使用exist方法,官方的注释是这样的 百度翻译结果:true,当且仅当由该抽象路径名表示的文件或目录存在时;否则为false 2、实际返回 注意:实际上exsits方法的返回值与其官方注释的返回结果是相…

NSSCTF中的web学习(md5())

目录 MD5的学习 [BJDCTF 2020]easy_md5 [LitCTF 2023]Follow me and hack me [LitCTF 2023]Ping [SWPUCTF 2021 新生赛]easyupload3.0 [NSSCTF 2022 Spring Recruit]babyphp MD5的学习 md5()函数: md5($a):返回a字符串的散列值 md5($a,TRUE)&…

一套全新的PACS医学存档影像系统源码 RIS和PACS系统分别在哪些方面发挥作用

RIS和PACS系统分别在哪些方面发挥作用 RIS系统的作用 放射信息系统(RIS)主要用于管理和调度患者的放射检查流程。它的主要功能包括患者管理、检查预约、报告生成等。RIS系统通常作为独立系统运行,侧重于临床流程管理,并优化放射…

关于docker network网络

首先,我们来看看Docker默认的网络模式,即docker0网桥。 每当你安装Docker时,它会创建一个名为docker0的虚拟网桥,并设置一个IP地址范围供它进行端口映射等工作。所有Docker容器在创建时,都会自动连接到这个docker0网桥,并分配一个虚拟IP地址。这样,容器与主机之间,以及容器与容…

3d里如何做螺旋状模型?---模大狮模型网

螺旋状模型在3D设计中常常被运用,不仅可以用于创造独特的装饰品和艺术品,还可以用于建筑设计、工程模拟等领域。然而,对于初学者而言,如何在3D软件中创建螺旋状模型可能是一个挑战。在本文中,我们将分享几种简单而有效…

Qt——信号 和 槽

目录 概述 信号和槽的使用 自定义信号和槽 带参数的信号和槽 概述 在Linux系统中,我们也介绍了信号的产生、信号的检测以及信号的处理机制,它就是系统内部的通知机制,也可以是一种进程间通信的方式。在系统中有很多信号,我们可…

镜舟科技亮相2024中国移动算力网络大会、Qcon、DTC等多项活动

在刚刚过去的 4 月份,镜舟科技受邀参与一系列技术交流活动,与移动云、金科创新社、infoQ、墨天轮、开科唯识等媒体及合作伙伴展开积极交流,并分享其在数据技术、金融等垂直行业领域的创新实践,从产业侧、业务侧、技术侧洞察需求、…

React:Router-3.路由懒加载

在 React:Router-1.BrowserRouter组件式 和 React:Router-2. createBrowserRouter函数式 两篇文章中我们已经完成了路由的创建。但是这种方式,会全量加载路由资源,如果项目较复杂,会产生性能问题。 为了优化项目性能&…

螺栓扭矩设计多大?原来如此简单!——SunTorque智能扭矩系统

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 螺栓扭矩设计,看似复杂,实则遵循一定的科学原理和实践经验。本文将深入浅出地探讨螺栓扭矩设计的原理和方法,帮助读者轻松掌握这一技能。 首先,我们需要了解螺栓扭矩的基…

Simulink从0搭建模型04-练习_一阶低通滤波器的实现

Simulink从0搭建模型04-练习_一阶低通滤波器的实现 1. 前言1.1. 参考1.2. 好习惯(初始设置) 2. 一阶低通滤波的实现2.1. 根据公式在Simulink中搭模型2.1.1. 一阶低通滤波公式2.1.2. 搭建一阶低通滤波 2.2. 把模型装进子系统的2种方式2.2.1. 方式12.2.2. …

【联通支付注册/登录安全分析报告】

联通支付注册/登录安全分析报告 前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨…

26、Qt使用QFontDatabase类加载ttf文件更改图标颜色

一、图标下载 iconfont-阿里巴巴矢量图标库 点击上面的链接,在打开的网页中搜索自己要使用的图标,如:最大化 找到一个自己想用图标,选择“添加入库” 点击“购物车”图标 能看到刚才添加的图标,点击“下载代码”(需要…

安全工程师基础模拟试题

安全工程师基础模拟试题作为一名安全工程师,掌握基本的安全知识和技能是必不可少的。下面是一些基础模拟试题,帮助您检验自己的安全工程师能力。1.在网络安全中,什么是… 1安全工程师基础模拟试题 作为一名安全工程师,掌握基本的…

【机器学习300问】85、Adam梯度下降优化算法的原理是什么?

Adam优化算法取了两个算法名称的首字母——Adaptive Moment Estimation的缩写,结合了Momentum算法和RMSprop算法的优点。在Momentum中,会计算前一时刻的梯度,并将其用于当前时刻的梯度更新;而RMSprop会对梯度的大小进行自适应调整…

PyCharm2024安装教程

PyCharm是一款功能强大的Python集成开发环境(IDE),它提供了许多工具和功能来帮助开发者编写、调试和测试Python代码。以下是使用PyCharm的基本步骤: 安装PyCharm:首先,你需要从JetBrains官方网站下载并安装…

服务器直连电脑(盒子直连电脑)电脑需要设置为固定ip才能访问盒子

文章目录 现象盒子设置为固定ip,pc设置成固定ip(以太网网卡,realtak那个,不是tap-windows那个,tap-windows不用管),在pc上用ip搜索工具搜索,可以搜到盒子ip。盒子设置为固定ip&#…