Java语言程序设计篇一

Java语言概述

  • Java语言起源
  • 编程语言最新排名
  • 名字起源
  • Java语言发展历程
  • Java语言的特点
    • Java虚拟机
    • 垃圾回收
    • Java语言规范
    • Java技术简介
    • Java程序的结构
      • Java程序注意事项:
      • 注释
      • 编程风格
      • 练习

Java语言起源

  • 1990年Sun公司提出一项绿色计划。
  • 1992年语言开发成功最初取名为Oak(橡树)。
  • Java于1995年5月23日正式发布第一个版本。
  • Java随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
  • Java语言在TIOBE世界编程语言排行榜中一直处于前四位。

编程语言最新排名

在这里插入图片描述

名字起源

Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。
在这里插入图片描述

Java语言发展历程

在这里插入图片描述

Java语言的特点

1、简单易学
  Java自身小巧玲珑,对硬件的要求很低。只需要理解一些基本的概念,就可以编写适合于不同情况的应用程序。Java源于C++语言,但在Java中略去了运算符重载、多重继承、指针、联合体和结构体等概念,并实现了垃圾自动收集大大简化了程序设计者的内存管理工作。
2、面向对象(封装、继承、多态)
  Java语言吸取了C++面向对象的概念,将数据封装于类中,是完全面向对象的。除了很少的基本数据类型,所有的数据都作为对象呈现,所有的GUI构建都是对象。与C++不同,Java语言中的所有函数都必须和对象相关(这些函数被称为类方法),即使用于启动应用程序的主函数也不再是孤立的,必须捆绑在类中。
3、平台无关性(跨平台性)
  无论哪种编程语言编写的程序最终都需要操作系统和处理器来完成程序的运行,平台无关性是指软件的运行不因操作系统、处理器的变化导致程序无法运行或出现运行错误。
4、分布式
  Java的分布性包括操作分布和数据分布,其中操作分布是指在多个不同的主机上布置相关操作,而数据分布是将数据分别存放在多个不同的主机上,这些主机是网络中的不同成员。
5、可靠性
Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集进行内存管理,防止了内容丢失等动态内存分配导致的问题。Java不支持指针,从而防止了对内存的非法访问。Java提供了完善的异常处理机制,程序员可以把一组可能产生运行异常的代码放在异常处理结构中,简化了异常处理过程,增加了程序的健壮性。
6、安全性
   Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统,也避免了指针操作中易产生的错误。Java对程序提供了安全管理器,防止程序的非法访问。

7、支持多线程
  多线程技术允许同一个程序中有两个以上的执行线路,即同时做两件以上的事情。Java支持多线程,允许多个线程共存于同一块内存中,且共享资源。
8、支持网络编程
   Java语言通过它所提供的类库可以处理TCP/IP,用户可以通过URL地址在网络上访问其它资源。

9、编译与解释并存
  由编译器将Java源程序编译成字节码文件,然后再由Java运行系统解释执行字节码文件(解释器将字节码再翻译成二进制码运行) 。

Java虚拟机

核心机制——Java虚拟机
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。

  • JVM用于运行Java应用程序
  • 对于不同的平台,有不同的虚拟机
  • Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处执行”
    在这里插入图片描述

垃圾回收

核心机制——垃圾回收

  • 垃圾回收:将不再使用的内存空间进行回收
  • 在C/C++等语言中,由程序员负责回收无用内存
  • Java不需要程序员负责回收无用的内存:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
  • 垃圾回收在Java程序运行过程自动进行,程序员无法精确控制和干预

Java语言规范

  • Java语言规范(Java Language Specification, JLS)Java语言的语法和语义技术性定义。
  • 应用程序接口(Application Program Interface, API)Java预定义类和接口。
  • Java开发工具包(Java Development Kit, JDK)包含软件库、编译器、解释器以及其它工具。
  • 集成开发环境(Integrated Development Environment, IDE)在一个图形界面中,完成编辑、编译、调试和在线帮助等功能。

Java技术简介

在这里插入图片描述

  • Java SE(Java Flatform, Standard Edition)
    以前称为 J2SE。它允许开发和部署在桌面环境中使用的 Java 应用程序。
  • Java EE(Java Flatform, Enterprise Edition)
    以前称为 J2EE。它帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API。
  • Java ME(Java Flatform, Micro Edition)
    以前称为 J2ME。它为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。

    Java程序的结构

一个复杂的程序可以由一个或多个Java源程序文件构成,每个文件中可以有多个类定义。
一般的Java源程序文件由以下三部分组成:
package语句(0句或1句);
import语句(0句或多句);
类定义(1个或多个类定义)。

Java程序注意事项:

  • Java是严格区分大小写的语言。
  • 一个程序中可以有多个类,但只能有一个类是主类。在Java应用程序中,这个主类是指包含main()方法的类。Java应用程序的主类必须有一个定义为 public static void main(String[] args) 的主方法,这个是Java应用程序执行的入口点。
  • 同一个Java程序中定义的若干类之间没有严格的逻辑关系要求,但它们通常是在一起协同工作的,每一个类都可能需要使用其他类中定义的属性或方法。

注释

  • Java程序包含三种注释
    1、多行注释:用于某行的一部分、单行或多行注释
    /* 注释内容
    注释内容
    */
    2、单行注释:用于单行或不到一行的注释
    // 注释内容
    3、文档注释:可以使用javadoc提取注释,形成文档
    /**注释内容
    注释内容
    */

编程风格

  • 良好的编程风格有利于减少错误,产生容易阅读、易于理解的代码。
  • 注释
    ——类和方法前使用文档注释
    ——方法步骤前使用行注释。
  • 命名
    -变量和方法名使用小写,如果有多个单词,第一个单词首字母小写,其它单词首字母大写。
    -类名的每个单词的首字母大写。
    -常量使用大写,单词间以下划线分隔。

练习

package shujia_test1;//This program prints Welcome to Java! 
public class Welcome {public static void main(String[] args) {System.out.println("Welcome to Java!");}
}

运行结果:
在这里插入图片描述
博主用心写,读者点关注;互动传真情,知识不迷路

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

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

相关文章

维护el-table列,循环生成el-table

1、lib/setting.js(维护table列) const columns[{ label: 类型, prop: energyName, width: 150, isText: true },{ label: 消耗量(t或10⁴m), prop: inputNum, isInput: true },{label: CO₂,children: [// { label: 核算因子, prop: co2FactorValue, w…

cs231n作业1——Softmax

参考文章:cs231n assignment1——softmax Softmax softmax其实和SVM差别不大,两者损失函数不同,softmax就是把各个类的得分转化成了概率。 损失函数: def softmax_loss_naive(W, X, y, reg):loss 0.0dW np.zeros_like(W)num_…

【Linux】进程的概念 + 查看进程

前言: 在前面我们学习了Liunx的基本指令和权限相关知识,还有基本工具的使用,有了以上的基础知识我们本章将正式接触Linux操作系统。 目录 1.冯诺依曼体系结构1.1 内存存在的意义1.2 程序加载到内存的含义1.3 程序的预加载: 2 .认识…

安卓备忘录App开发

安卓备忘录APP开发,文章末尾有源码和apk安装包 目标用户: 普通安卓手机用户,需要一个简单易用的备忘录App来记录和管理日常事务。 主要功能: 用户注册: 用户可以创建一个账号,输入用户名和密码。 用户登录: 用户可以通过用户名和密码登录到应用。 用户信息存储: 用户名和…

TCP一定可靠吗

背景 公司某个服务发送TCP报文后,得到的响应是非预期数据 原因竟然是:TCP包的 payload 数据某个bit位被翻转,但是 checksum 的值一样,错误的包被分发给了上层服务 Checksum介绍 IP 头有自己的 Checksum,TCP、UDP 也有自己的 Checksum,分别校验不同部分的数据 IP 头的 …

聚星文社一键生成工具绘唐3科技AI工具

聚星文社一键生成工具绘唐3科技AI工具 绘唐3.0——用户文档 - 飞书云文档 聚星文社一键生成工具绘唐3科技AI工具是一个基于人工智能技术的辅助创作工具,可以帮助用户快速生成有关唐朝科技的文本内容。该工具利用自然语言处理和机器学习等技术,通过输入一…

帕金森病患者在选择运动疗法时应该注意哪些事项?

帕金森病患者在选择运动疗法时,应该遵循以下几点注意事项: 个性化运动处方:根据患者的病情、年龄、健康状况、以往运动能力等因素,制定个体化的运动处方。 避免运动负荷过大:运动时间不宜过长,注意控制心率…

JavaWeb-【1】HTML

笔记系列持续更新,真正做到详细!!本次系列重点讲解后端,那么第一阶段先讲解前端 目录 1、Javaweb技术体系 2、BS架构说明 3、官方文档 4、网页组成 5、HTML 6、HTML快速入门 7、HTML基本结构 8、HTML标签 ​9、HTML标签使用细节 ①、font标签 ②、字符实体 ③、标…

SSM养老院管理系统-计算机毕业设计源码02221

摘要 本篇论文旨在设计和实现一个基于SSM的养老院管理系统,旨在提供高效、便捷的养老院管理服务。该系统将包括老人档案信息管理、护工人员管理、房间信息管理、费用管理等功能模块,以满足养老院管理者和居民的不同需求。 通过引入SSM框架&#x…

通过消息传递同步操作

通信顺序进程(CSP) 是一种形式语言,用来描述并发性系统间进行交互的模式 每个线程或进程独立运行,它们之间仅通过消息传递进行通信,而不是直接共享状态 每个线程实际上都是一个状态机:当它接收到一条消息时…

【数据结构】05.双向链表

一、双向链表的结构 注意:这里的“带头”跟前面我们说的“头节点”是两个概念,带头链表里的头节点,实际为“哨兵位”,哨兵位节点不存储任何有效元素,只是站在这里“放哨的”。 “哨兵位”存在的意义:遍历循…

人工智能系列-Pandas基础

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” Pandas简介 Pandas是Python语言的拓展程序库,用于数据分析。 Pandas是一个开放源码,BSD许可的库,提供高性能,易于使用的数据结…

YOLO V7网络实现细节(2)—网络整体架构总结

YOLO V7网络整体架构总结 YOLO v7网络架构的整体介绍 不同GPU和对应模型: ​​​​​​​边缘GPU:YOLOv7-tiny普通GPU:YOLOv7​​​​​​​云GPU的基本模型: YOLOv7-W6 激活函数: YOLOv7 tiny: leaky R…

vue项目实现堆叠卡片拖动切换效果

实际效果 实现流程 1. 实现卡片位置堆叠 将父元素的 position 设置成relative ,卡片的position 设置成 absolute 即可。 2. 消除图片的移动 如果卡片上有图片,默认拖动的时候就会导致像上图一样变成了选中图片移动,从而没法触发拖动事件。消…

苹果电脑能玩赛博朋克2077吗 如何在mac上运行赛博朋克2077 crossover能玩什么游戏

各位喜欢赛博朋克风的一定不能错过《赛博朋克2077》。那么《赛博朋克2077》是一款什么样的游戏?《赛博朋克2077》在苹果电脑上可以运行吗?一起来看看介绍吧。 一、《赛博朋克2077》是一款什么样的游戏? 《赛博朋克2077》是一款由CD Projekt …

MIT6.s081 2021 Lab Traps

使用gdb调试xv6内核 从最近两个 Lab 开始,代码逻辑的复杂度明显上升,对内核进行调试可能是帮助理解操作系统机制的绝佳方法。因此在开始本 Lab 之前,我们先来配置一下针对 xv6 内核的 gdb 调试器。 安装 gdb-multiarch. 利用包管理工具进行…

基于Maximin的异常检测方法(MATLAB)

异常存在于各个应用领域之中,往往比正常所携带的信息更多也更为重要。例如医疗系统中疾病模式,信用卡消费中的欺诈行为,数据库中数据泄露,大型机器故障,网络入侵行为等。大数据技术体系的快速兴起与发展,加…

【React Native优质开源项目】

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

字符串——string类的常用接口

一、string类对象的常见构造 二、string类对象的容量操作 三、string类对象的访问及遍历操作 四、string类对象的修改操作 一、string类对象的常见构造 1.string() ——构造空的string类对象,也就是空字符串 2.string(const char* s) ——用字符串来初始化stri…

【Linux】压缩命令——gzip,bzip2,xz

1.压缩文件的用途与技术 你是否有过文件太大,导致无法以正常的E-mail方式发送?又或学校、厂商要求使用CD或DVD来做数据归档之用,但是你的单一文件却都比这些传统的一次性存储媒介还要大,那怎么分成多块来刻录?还有&am…