Java和C语言中基础概念中的区别有哪些?

Java和C语言中基础概念中的区别有哪些?

  • 标识符
  • 数据类型
  • 运算符
    • 加号
    • %号
    • & 和 |
  • 关系表达式
  • 函数声明
  • 代码规范
  • 数组

以下是Java和C语言在一些基础概念中的区别(不包含面向对象等的高级知识)

标识符

在Java中,标识符可以由数字、字母和下划线及美元符号组成,C语言中没有美元符号。

数据类型

Java的数据类型有四类八种,分别是
整型家族:byte, short, int, long
字符型:char
布尔类型: boolean
浮点型:float, double.
在这里插入图片描述
其中,在C语言中,没有byte 和 boolean类型,且C语言中 char类型的字节数为1。

在Java中,没有C语言中的 long long 或 long double 这种类型。

在Java中,整数类型和小数类型的取值范围大小关系: double > float > long > int > short > byte。
Java比C语言对数据的存储要求更严格, 只允许范围大的存范围小的 或者 一样类型的,而C语言会自动进行强制类型转换,Java更加严谨

在Java中,float类型的数据必须后边加上F或f,long类型的数据需要在后面加上L或l,一般都写的是大写的F和L,防止与数字1混淆。
在这里插入图片描述
这里会报错的原因就是 3.14默认是double类型的,而变量f时float类型的。

所以得在3.14后加上F,代表他是 f 类型的。
在这里插入图片描述

运算符

加号

在Java中,加号还可以用于字符串的拼接,而C语言不可以。

当加号左右的两边有一个字符串时,就会拼接起来形成一个新的字符串,下面来举几个例子。
在这里插入图片描述结果打印 a = 10
在这里插入图片描述
结果打印 11AAA。


%号

C语言中 %运算符只能是 整数与整数之间进行取余,而在Java中,可以是小数。
在这里插入图片描述
不过一般都是对整数取余数。


& 和 |

在C语言中,&是按位与,|是按位或,只能对整型使用,其中的位指的是二进制位。
在这里插入图片描述
在这里插入图片描述
而在Java中,除了是按位与和按位或的功能外,它们还有一种功能,就是可以当做不会发生短路的&& 和 ||。

无论是Java中还是C语言,&& 和||都会发生短路现象。

而 java中的 & 和 | 如果当作逻辑与和逻辑或使用时 是不会发生短路现象的。

在Java中,没有C语言当中的&(取地址)符号,更不会有 与之对应的 * (解引用)符号。

因为在Java中,没有指针变量,但是会有隐藏的地址。


关系表达式

在Java中,所有关系表达式的返回值均为 布尔类型的值,不是true就是false,而在C语言中,为真返回1,为假返回0。

在这里插入图片描述
在Java中,所有需要判断的地方,比如if for循环 while循环当中的判断部分 均只能接受布尔类型的值。
在这里插入图片描述
1为整型,不是布尔类型的,所以idea会直接报错。
在这里插入图片描述
而在C语言中,完完全全可以。

for循环和while就不举例子了。

函数声明

Java当中不存在方法的声明,函数写上边下边都是一样的。
在这里插入图片描述
C语言写在下边时,就必须函数声明
在这里插入图片描述
Java则没有函数声明这一说法。

代码规范

C语言习惯左大括号在下面,而Java的左大括号习惯在上一行。
在这里插入图片描述
在这里插入图片描述

数组

在Java当中,习惯将 [] 中括号跟数组当中的元素类型放在一起,而C语言不同
在这里插入图片描述
在这里插入图片描述


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

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

相关文章

【Java】字节数组 pcm 与 wav 格式互转(附原理概述)

前言 最近实现了一个文字转语音的功能,语音引擎返回的是pcm格式的数据。需要转化成wav格式前端才能播放。本文首先会给出解决方案,后续会讲背后的原理。 场景 1. pcm wav 转化工具类 入参和出参都为byte[],理论上有了 byte[] 就可以输出…

基于单片机的智能窗户控制系统的设计

摘 要: 根据单片机技术和现代传感器技术 , 本文主要针对基于单片机的智能窗户控制系统的设计进行探讨 , 仅供参考 。 关键词: 单片机 ; 智能窗户 ; 控制系统 ; 设计 在现代科学技术持续发展的带…

Python爬虫基础以及示例讲解

爬虫简介 网络爬虫 爬虫指在使用程序模拟浏览器向服务端发出网络请求,以便获取服务端返回的内容。 但这些内容可能涉及到一些机密信息,所以爬虫领域目前来讲是属于灰色领域,切勿违法犯罪。 爬虫本身作为一门技术没有任何问题,关…

Docker之overlay2的迁移

原因 docker默认将文件及其容器放置在了系统盘的挂载区内,如果长期使用会发现系统挂载区被overlay2挤爆了,因此在一开始我们将其迁移在大容量外挂磁盘上,就可以避免系统盘被挤爆,放心使用. 具体操作 # 停止容器 systemctl stop docker# 修改容器配置&#xff0c…

等差数列和等比数列的介绍及在Java编程中的实现

等差数列 (Arithmetic Sequence) 定义:等差数列是指相邻两项的差相等的数列,这个差值叫做“公差”(d)。 公式: 第 ( n ) 项的公式: 前 ( n ) 项和的公式: 示例: 假设第一项 (…

AI+前端技术的结合(实现图片识别功能)

随着人工智能技术的不断发展,AI在前端设计页面中的应用变得越来越普遍。比如:在电商平台上,可以利用对象检测技术实现商品的自动识别和分类;人脸识别;车辆检测;图片识别等等......其中一个显著的应用是在图…

数据结构_优先级队列(堆)

目录 一、优先级队列 1.1 堆 1.2 PriorityQueue接口 二、模拟实现优先级队列 2.1 初始化 2.2 创建大根堆 (向下调整) 2.3 堆的插入 2.4 堆的删除 2.5 堆排序 总结 一、优先级队列 优先级队列是一种特殊的队列,其出队顺序与入队顺序无关,而与优…

易支付宝塔一键部署项目 懒人专用包 制作

宝塔一键部署说明 https://www.bt.cn/bbs/thread-33063-1-1.html 1. auto_install.json {"php_ext":"fileinfo","chmod":[],"success_url":"install/?step3&jump1","php_versions":"80","db…

架构师指南:现代 Datalake 参考架构

这篇文章的缩写版本于 2024 年 3 月 26 日出现在 The New Stack 上。 旨在最大化其数据资产的企业正在采用可扩展、灵活和统一的数据存储和分析方法。这一趋势是由企业架构师推动的,他们的任务是制定符合不断变化的业务需求的基础设施。现代数据湖体系结构通过将数…

逻辑地址 线性地址 物理地址 Linux kernel 内存管理设计

linux kernel 2.6以后的MM,受到了兼容 risc arch cpu 的 MM 的启发,新的 MM 架构对 x86 上任务切换的效率上也有明显提高。 新的MM架构,GDT 不再随着进程的创建与结束而创建和删除 新的表项。 TSS段 也只有一个,进程切换时&…

深度学习入门2—— 神经网络的组成和3层神经网络的实现

由上一章结尾,我们知道神经网络的一个重要性质是它可以自动地从数据中学习到合适的权重参数。接下来会介绍神经网络的概要,然后再结合手写数字识别案例进行介绍。 1.神经网络概要 1.1从感知机到神经网 我们可以用图来表示神经网络,我们把最…

上位机图像处理和嵌入式模块部署(mcu之静态库生成和使用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 很多同学做了很长时间的mcu和keil开发,都认为keil工程中必须包含所有的源代码,其实这是不对的。如果有一些代码我们不希望别…

IKVM.net调用Jar包实现SM4解密

近期,我深入学习了如何使用IKVM.net来调用Jar包,这次的学习经历让我对Java与.NET之间的互操作性有了更深刻的理解。IKVM.net作为一款强大的工具,为我们打通了Java与.NET之间的桥梁,使得在.NET环境中调用Java库变得简单而高效。 在…

[数据集][目标检测]棉花叶子害虫检测数据集VOC+YOLO格式571张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):595 标注数量(xml文件个数):595 标注数量(txt文件个数):595 标注类别…

Linux驱动调试——使用DEVICE_ATTR实现cat、echo指令调试驱动

在平常做一些驱动调试的时候,每次都写应用去调试相对较麻烦,有一个非常便捷的操作方法就是使用device_attr,只需要执行shell指令例如echo和cat就可以看到效果,不需要再单独写一个测试demo。 看网上很多博客在这一块的使用上写的都…

FENDI CLUB精酿啤酒与小麦的不解之缘

FENDI CLUB精酿啤酒与小麦之间这种联系体现在啤酒的酿造原料、口感特色以及文化内涵等多个方面。以下是关于这两者之间关系的详细分析: 一、酿造原料的紧密联系 小麦作为关键原料:FENDI CLUB精酿啤酒在酿造过程中,小麦是不可或缺的原料之一…

Mybatis 系列全解(1)——全网免费最细最全,手把手教,学完就可做项目!

Mybatis 系列全解(1) 1. 第一个小程序2. CURD 增删改查3. 模糊查询4. 配置解析4.1 核心配置文件4.2 环境配置4.3 属性4.4 类型别名4.5 设置4.6 映射器 mappers 1. 第一个小程序 1)创建一个数据库,一个表,填入一些数据…

Python3简单实现与Java的Hutool库SM2的加解密互通

1、背景: 因业务需求,需要与某平台接口对接。平台是Java基于Hutool库实现的SM2加密解密,研究了下SM2的加解密算法,网上找的资料,都是说SM2【椭圆曲线】 公钥长【x,y分量 64字节】,私钥短【32字节】&#x…

华为---OSPF被动接口配置(四)

9.4 OSPF被动接口配置 9.4.1 原理概述 OSPF被动接口也称抑制接口,成为被动接口后,将不会接收和发送OSPF报文。如果要使OSPF路由信息不被某一网络中的路由器获得且使本地路由器不接收网络中其他路由器发布的路由更新信息,即已运行在OSPF协议…

FuTalk设计周刊-Vol.031

🔥AI漫谈 热点捕手 1、如何用自然语言 5 分钟构建个人知识库应用?我的 GPTs builder 尝试 开发者的想象力闸门一旦打开,迎接我们的必然是目不暇接的 AI 应用浪潮冲击。 链接https://sspai.com/post/84325 2、GPT-4 Turbo、功能融合&#x…