首页 > 编程语言 >高级程序设计语言

高级程序设计语言

时间:2023-12-22 17:55:55浏览次数:35  
标签:Java 语言 对象 高级 C++ 表达式 程序设计 变量 定义

1. Java语言概述

1.1 Java 与 c++ 的区别

  1. Java中对内存的分配是动态的,C语言通过 malloc() 和 free() 这两个库函数来分别实现分配内存和释放内存空间的,C++语言中则通过运算符new和delete来分配和释放内存。

  2. Java不在所有类之外定义全局变量,而是在某个类中定义一种公用静态的变量来完成全局变量的功能。

  3. Java不用if-else语句,而是用try-catch-finally异常处理语句来代替if-else语句处理出错的功能。

  4. Java不支持头文件,而C和C++语言中都用头文件来定义类的原型,全局变量,库函数等。

  5. Java不支持宏定义,而是使用关键字final来定义常量,在C++中则采用宏定义来实现常量定义。

  6. Java对每种数据类型都分配固定长度,而在C和C++中,对于不同的平台,同一个数据类型分配不同的字节数。

  7. 类型转换不同,在C和C++中,可通过指针进行任意的类型转换,这在Java中是不允许的。

  8. 在C和C++中,结构体和联合体的所有成员均为公有,而在Java中根本就不包含结构和联合,所有的内容都封装在类里面。

  9. Java不再使用指针

  10. Java语言编写的类库可以在其它平台的Java应用程序中使用,而不像C++语言必须依赖于Windows平台。

  11. 在B/S开发方面,Java要远远优于C++。

1.2 Java 平台包括哪些内容

  1. JRE:类库,JAVA虚拟机

  2. JDK:开发工具,类库,JAVA虚拟机

1.2 名字和标识符

程序必须有一个名字,文件名必须与类名一致包括大小写

命名规范:单词首字母大写。

标识符:必须是字母\、_或$开头,随后的字符可以是字母、_、$或数字

1.3 Write Once, Run Anywhere

Java 源代码 \(\rightarrow\) Java 编译器将 Java 代码翻译为二进制代码 \(\rightarrow\) Java 虚拟机将二进制代码翻译为机器语言 \(\rightarrow\) 机器

2. Java 语言基础

2.1 变量的定义

数据类型 变量1, 变量2, …, 变量n;

2.2 表达式

表达式:有“值”的式子,通常由一些变量、常量、函数调用和运算符组合。

算术表达式:用算术运算符和括号将运算对象(也称操作数)连接起来的式子。

赋值表达式:用赋值运算符 “=”把一个数据赋给一个变量。如 a = 3。

2.3 一维数组的定义方式

声明:[] 数组名;

创建:数组名 = new [常量表达式];

char[] RollerCoaster = new char[5];

2.4 二维数组的定义方式

[][] 数组名;

数组名 = new [常量表达式][常量表达式];

int[][] scores = new int[150][16];

3. 面向对象编程

3.1 面向对象方法

面向对象分析:对问题建立对象模型

面向对象设计:解决方案建模

面向对象编程:使用面向对象程序设计语言进行编码实现

3.2 对象模型

对象模型:面向对象方法的概念框架
对象模型主要包括:1. 抽象 2.封装 3.模块化

抽象:抽象是从一个对象的外部视角来观察它,从而将对象的本质行为和它的具体实现分开

封装:封装通常采用信息隐藏来实现,即接口对外公开,而数据结构、算法等实现细节则被隐藏

3.3 对象

对象是一个具有状态、行为和标识的实体。

对象的属性:对象所具有的一些特征称为属性。

对象的状态:一个对象的状态包括该对象的所有属性及每个属性的值。

对象的行为:对象不是孤立存在的,一个对象可以作用于其他对象,也可被其他对象所作用,从而导致状态的变化。

对象的操作:一个对象(类)对外提供的服务。

3.4 类

类:类是一组具有类似属性和行为的对象,抽象地定义了该类对象的本质特征(属性和操作)。

对象:类的实例,具有各自的属性值,占用存储空间

3.5 成员变量初始化

在定义类时即可确定:直接赋值

在创建对象时即可确定:用构造函数

在创建对象后才能确定:用成员函数

3.6 构造函数

构造函数名字 = 类的名字

没有返回值类型:不返回任何数据

创建对象时自动调用,初始化成员变量

每个类需要至少一个构造函数,若不写,则默认为:CLASSNAME() { }

3.7

标签:Java,语言,对象,高级,C++,表达式,程序设计,变量,定义
From: https://www.cnblogs.com/NachoNeko/p/17922097.html

相关文章

  • 计算机 JAVA 语言的基础小总结
    计算机JAVA语言的基础小总结一维数组和二维数组的定义及初始化在Java中,数组是一种数据结构,用于存储多个数据。数组中的元素是相同类型的数据。数组是一个引用数据类型,数组的变量只是一个引用,数组元素和数组变量在内存里是分开存放的。一维数组的定义和初始化一维数组在Jav......
  • android添加c语言的可执行程序
    在android源码的external目录下添加test目录。在test目录下新建test.c文件和Android.mk文件。test.c文件例如:#include<stdio.h>intmain(){printf("helloworld\n");return0;}Android.mk文件:LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)LO......
  • 自然语言处理:通过API调用各大公司的机器翻译开放平台
    国内大公司做机器翻译做的比较好的有讯飞和百度,这里给出这两个公司机器翻译的开放平台API的介绍:讯飞开放平台:链接:https://www.xfyun.cn/doc/nlp/xftrans_new/API.html#%E6%8E%A5%E5%8F%A3%E8%AF%B4%E6%98%8E百度翻译平台:链接:https://api.fanyi.baidu.com/doc/21......
  • 梭梭带你彻底搞懂YAML序列化语言
    目录前言简介yaml基本语法规则yaml支持的数据结构有三种基本语法大小写敏感用缩进表示层级关系用#表示注释一个文件中可以包含多个文件的内容数据结构与类型对象(Mapping)数组(Sequence)标量(Scalars)字符串(String)布尔值(Boolean)整数(Integer)浮点数(FloatingPoint)空(Null)时间戳(Timestamp)......
  • Go 语言实现高性能分布式锁
    Go语言实现高性能分布式锁原创 源自开发者 源自开发者 2023-12-2207:31 发表于广东 听全文源自开发者专注于提供关于Go语言的实用教程、案例分析、最新趋势,以及云原生技术的深度解析和实践经验分享。49篇原创内容公众号在分布式系统中,实现跨不同......
  • c语言回溯法实现01背包问题
    w[N],p[N]中直接装的是样例,可以修改数据,别忘记修改N。#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#defineN5//0-1背包,用三种算法实现//动态规划,贪心,回溯,分支限界voidOutput(intbestx[]);intConstraint(intt);floatBound(inti);voidB......
  • (C语言)我的第一个项目:命令行窗口下的学生成绩管理系统
    #include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>//行和列常量#defineROW20#defineCOL83typedefstructstudent{ charid[14]; charname[21]; doublechinese; doublemath; doubleenglish; doublesum;......
  • day18 -基于Consul的自动发现 -告警平台部署管理-告警平台高级配置 (7.6-7.8.2)
    一、基于Consul的自动发现1、背景Prometheus配置文件prometheus-config.yaml配置了大量的采集规则,基本上都是运维小伙伴手动处理,如果后面增加了节点或者组件信息,就得手动修改此配置,并热加载promethues;那么能否动态的监听微服务呢?Prometheus提供了多种动态服务发现的功能,这里......
  • 数字化医学影像系统源码,采用C语言开发,支持MPR、CPR、MIP、SSD、VR、VE三维图像处理
    PACS系统是医院影像科室中应用的一种系统,主要用于获取、传输、存档和处理医学影像。它通过各种接口,如模拟、DICOM和网络,以数字化的方式将各种医学影像,如核磁共振、CT扫描、超声波等保存起来,并在需要时能够快速调取和使用。PACS系统还提供了辅助诊断和管理功能,可以在不同的影像设备......
  • 大语言模型说明书
    在浩瀚的信息宇宙中,大语言模型如同一颗璀璨的星星正在熠熠生辉。21世纪以来,人工智能可谓是飞速发展,从简单的神经网络到大语言模型、生成式AI,这并非仅仅是一种技术的进步,更是人类智慧的飞跃。大语言模型不仅仅是语言的演化,更是一段充满创新和探索的史诗。就和我一起踏上这场穿越知识......