Java语言程序设计篇一

news2024/11/25 2:34:45

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.coloradmin.cn/o/1904220.html

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

相关文章

vue3使用方式汇总

1、引入iconfont阿里图库图标: 1.1 进入阿里图标网站: iconfont阿里:https://www.iconfont.cn/ 1.2 添加图标: 1.3 下载代码: 1.4 在vue3中配置代码: 将其代码复制到src/assets/fonts/目录下&#xff1…

大众点评2024年全球必吃榜清单

大众点评2024年全球必吃榜清单共2797家,奇怪的是官方并没有发布详细清单,只发布了新闻通稿介绍大概情况。这里做一些整理。 按城市分布情况,数量如下 上海 144 北京 137 成都 96 重庆 93 广州 81 深圳 79 武汉 69 苏州 67 杭州 61 …

应急响应--网站(web)入侵篡改指南

免责声明:本文... 目录 被入侵常见现象: 首要任务: 分析思路: 演示案例: IIS&.NET-注入-基于时间配合日志分析 Apache&PHP-漏洞-基于漏洞配合日志分析 Tomcat&JSP-弱口令-基于后门配合日志分析 (推荐) Webshell 查杀-常规后门&…

17_VGG深度学习图像分类算法

1.1 简介 VGG网络,全称为Visual Geometry Group网络,是由牛津大学的Visual Geometry Group和谷歌DeepMind的研究人员共同提出的深度卷积神经网络模型。这一模型因在2014年ILSVRC(ImageNet大规模视觉识别挑战赛)中取得图像分类任务…

昇思25天学习打卡营第4天|MindSpore数据集和数据变换

# 打卡 目录 # 打卡 Dateset:Pipeline 的起始 具体步骤 数据处理 Pipeline 代码例子 内置数据集的情况 自定义数据集的情况 可迭代的数据集 生成器 Transforms:数据预处理 代码例子 通用变换Compose 文本变换 Text Lambda变换 Dateset&…

STM32芯片系列与产品后缀解读

一. 产品系列 STM32单片机是一系列基于ARM Cortex-M内核的32位微控制器,广泛应用于嵌入式系统中。 STM32系列由STMicroelectronics(意法半导体)开发和生产,并凭借其灵活的设计、丰富的外设和强大的生态系统,成为嵌入式…

JVM专题之G1垃圾收集器下

索引(记录)的源码的工作流程图如下: CSet(Collection Set 回收集合) 收集集合(CSet)代表每次GC暂停时回收的一系列目标分区。在任意一次收集暂停中,CSet所有分区都会被释放,内部存活的对象都会被转移到分配的空闲分区中。因此无论是年轻代收集,还是混合收集,工作的机…

catia数控加工仿真铣平面粗加工

1,零件建模,毛坯建模 2 在毛坯上建立坐标系 3 添加资料刀具 4,双击对相关加工信息做设置 5 Roughing 加工设置 高亮红色区域是必选的,其他可以默认 6 完成加工仿真 7 加工余量

IntelliJ IDEA 同时多行同时编辑操作快捷键

首先 点击要编辑的地方,长按鼠标左键不放,同时按住 Ctrl Shift Alt,然后就可以进行多行编辑了

亲密数对C++函数

自定义函数 #include<bits/stdc.h> using namespace std; //求n的因子和自定义函数 int yinzihe(int n){//使用2~sqrt(n)成对求解因子和int r0,i;//变量 r 初始值为0&#xff0c;因为要存放因子和for(i2;i<sqrt(n);i) {//回顾sqrt()课程//如果 i 是 n 的因子&#xf…

用win的控制台去远程连接虚拟机linux的终端

以Ubuntu为例&#xff0c;首先确保Ubuntu已经安装了ssh服务 sudo apt-get install openssh-server输入密码 安装完毕后查看ssh状态是否开启 sudo systemctl status ssh 显示绿色激活状态&#xff0c;可以关闭或开启 对应start和stop winr打开win端控制台 输入 ssh -p 22 …

【Linux详解】进程等待 | 非阻塞轮询

引入&#xff1a; 为什么&#xff1f;是什么&#xff1f;怎么办 是什么&#xff1f; 进程等待是指父进程暂停自己的执行&#xff0c;直到某个特定的子进程结束或发生某些特定的事件。 为什么&#xff1f; 僵尸进程刀枪不入&#xff0c;不可被杀死&#xff0c;存在内存泄露…

Codeforces Round 918 (Div. 4)(A~F)

目录 A. Odd One Out B. Not Quite Latin Square C. Can I Square? D. Unnatural Language Processing E. Romantic Glasses F. Greetings A. Odd One Out Problem - A - Codeforces 输出一个不同于其他两个数的数&#xff0c;用异或操作可以轻松解决。 void solve{int…

ompl.app的demo_OpenDEPlanning例子

编译了下OMPL和OMPL.app, 其中有个example 是用刚体动力学库ODE搭建的小车运动场景&#xff0c;找出小车到目标的路径&#xff0c;牵引小车跑到目标位置。 ompl小车路径运动模拟

https 自签证书相关生成csr文件、p12文件、crt文件、jks文件、key文件、pem文件

文章目录 前言https 自签证书相关生成csr文件、p12文件、crt文件、jks文件、key文件、pem文件1, 检查openssl的版本2. 生成私钥和证书签署请求 (CSR)3. 生成自签名证书4. 将证书和私钥转换为 PKCS12 格式的密钥库5. 创建信任库 (Truststore)6. 将 PKCS12 文件转换为 JKS 文件7.…

详解Python递归解决汉诺塔问题

Python递归解决汉诺塔问题 递归解决汉诺塔问题是经典的计算机科学问题&#xff0c;它涉及到如何将一堆盘子从一个柱子上移动到另一个柱子上&#xff0c;每次只能移动一个盘子&#xff0c;并且大盘子不能放在小盘子上面。 例如我们需要将a柱盘子全部移动到b柱&#xff0c;接下来…

程序员熬夜看欧洲杯被“冻住”,呼吸困难……

2024欧洲杯接近尾声&#xff0c;更是激发球迷兴趣。由于时差关系&#xff0c;很多球迷熬夜看球&#xff0c;啤酒、宵夜成了标配。然而&#xff0c;在这份欢乐背后&#xff0c;也隐藏着健康风险。 日前&#xff0c;浙江杭州29岁的程序员单先生熬夜与朋友看完球赛后开车回家&…

室内定位可视化:精准导航与实时位置展示

通过图扑室内定位可视化技术&#xff0c;提供精准的导航服务和实时位置展示&#xff0c;帮助用户高效找到目标地点&#xff0c;提升空间管理和资源配置的效率与体验。

Spring学习05-[AOP学习-AOP原理和事务]

AOP原理和事务 AOPAOP底层原理比如下面的代码案例手动模拟AOP 动态代理详解JDK动态代理 AOP AOP底层原理 当实现了AOP,Spring会根据当前的bean创建动态代理(运行时生成一个代理类) 面试题&#xff1a;为什么执行方法的时候&#xff0c;会执行切面里的通知方法&#xff1f; 比…

51单片机嵌入式开发:1、STC89C52环境配置到点亮LED

STC89C52环境配置到点亮LED 1 环境配置1.1 硬件环境1.2 编译环境1.3 烧录环境 2 工程配置2.1 工程框架2.2 工程创建2.3 参数配置 3 点亮一个LED3.1 原理图解读3.2 代码配置3.3 演示 4 总结 1 环境配置 1.1 硬件环境 硬件环境采用“华晴电子”的MINIEL-89C开发板&#xff0c;这…