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语言不同
在这里插入图片描述
在这里插入图片描述


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

opencv中文路径问题

目的 在windows系统上,就是直接用QT的utf8编码作为图片路径用在opencv读取或者写入函数,在路径当中含有中文时,会提示编码错误。 就是解决opencv中的中文路径的问题。 情况 代码如下: #pragma execution_character_set("…

Ubuntu系统通过GRUB引导菜单进入恢复模式修改账户密码

当在Ubuntu系统中忘记了账户密码时,有几种方法可以破解或重置密码。 本指引文档方法:通过GRUB引导菜单进入恢复模式 实践环境为:20.04.6 LTS (Focal Fossa) 1. 重启Ubuntu系统:首先,你需要重启你的Ubuntu系统。 2. …

NSSCTF-Web题目14

目录 [CISCN 2019华东南]Web11和[NISACTF 2022]midlevel 1、题目 2、知识点 3、思路 [HDCTF 2023]SearchMaster 1、题目 2、知识点 3、思路 [CISCN 2019华东南]Web11和[NISACTF 2022]midlevel 这两道题目一样 1、题目 2、知识点 SSTI(服务端模板注入漏洞&…

Vue74-路由传参2

一、$route中的params参数 二、在配置路由的index.js文件中&#xff0c;声明传参 占位符用的什么名字&#xff0c;params里面的key就是什么。 三、<router-link>标签中传参 3-1、to字符串写法 3-2、to的对象写法 注意&#xff1a;若是用params携带参数&#xff0c;不…

如何下载油管视频

文章目录 1、IDM下载1.1 安装IDM工具1.2 浏览器安装IDM插件 2、命令行工具下载2.1 youtube-dl工具2.1.1 安装使用2.1.2 更新工具 2.2 yt-dlp 工具2.2.1 安装使用2.2.2 保存路径查看当前工作目录指定下载目录示例 2.2.3 保存文件名2.2.4 避坑指南1、请求被拒绝2、其他问题 在全球…

汇凯金业:现货黄金投资平仓策略有哪些

现货黄金作为全球投资者广泛关注与参与的财富增值途径&#xff0c;其双向交易制度为市场参与者在不同行情下提供了盈利的可能。然而&#xff0c;如何在波动的市场中把握最佳的平仓时机&#xff0c;从而最大化收益&#xff0c;是所有投资者心中的疑问。正确的平仓策略可以说是现…

【html】用html+css实现银行的账户信息表格

我们先来看一看某银行的账户信息表格 我们自己也可以实现类似的效果 效果图: 大家可以看到&#xff0c;其实效果差不多 接下来看看我们实现的代码 源码&#xff1a; <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"&…

Claude 3.5 强势出击:解析最新AI模型的突破与应用

近年来&#xff0c;人工智能领域的发展迅猛&#xff0c;各大科技公司纷纷推出了自家的高级语言模型。在这场技术竞赛中&#xff0c;Anthropic的Claude系列模型凭借其强大的性能和创新的功能脱颖而出。最近&#xff0c;Anthropic发布了Claude 3.5 Sonnet模型&#xff0c;引起了广…

尚硅谷爬虫学习第一天(3) 请求对象定制

#url的组成 #协议 http&#xff0c;https&#xff0c;一个安全&#xff0c;一个不安全。 #主机&#xff0c; 端口号 学过java 的肯定知道 沃日&#xff0c;以前面试运维的时候&#xff0c;问到主机地址&#xff0c;我懵逼了下&#xff0c;回了个8080 # 主机地址 80 # …

气象数据NC、grb2解析成矢量json、CMIS、MICPS及图片应用到webgis

一、基础概念 气象数据通常以多种格式存储和交换&#xff0c;以适应不同的应用需求和处理工具。以下是一些常见的气象数据格式及其转换方法的概述&#xff1a; 常见气象数据格式 1. NetCDF&#xff08;Network Common Data Form&#xff09;&#xff1a;一种自描述、自包含的…

用VScode打开keil下的文件中文编码乱码的问题,以及利用VScode转换字符编码的方法

目录 问题描述 解决方法 利用VScode转换字符编码的方法 问题描述 keil中默认的编码是ANIS如下图所示。 而VScode中默认的编码为UTF-8 &#xff0c;打开后如下。 解决方法 建议另存后&#xff0c;再打开目标文件&#xff0c;防止误操作&#xff01; 在VScode的最下方可以找…

海豚调度调优 | 正在运行的工作流(DAG)如何重新拉起失败的任务(Task)

&#x1f4a1; 本系列文章是DolphinScheduler由浅入深的教程&#xff0c;涵盖搭建、二开迭代、核心原理解读、运维和管理等一系列内容。适用于想对 DolphinScheduler了解或想要加深理解的读者。 *祝开卷有益。 * 本系列教程基于 DolphinScheduler 2.0.5 做的优化。&#xff…

javaSE字符串学习笔记

API和API帮助文档 API API(Application Programming Interface)&#xff1a;应用程序编程接口简单理解&#xff1a;API酒啊别人已经写好的东西&#xff0c;我们不需要自己编写&#xff0c;直接使用即可。 API这个术语在编程圈中非常常见.我第一次接触API这个词语是在大一下。老…

SQLCMD完全指南:掌控 SQL Server

SQL Server 拥有被广泛认可的一流管理工具——SQL Server Management Studio&#xff08;简称 SSMS&#xff09;。它提供了丰富的功能&#xff0c;极大地简化了开发人员和数据库管理员&#xff08;DBA&#xff09;的工作。 目录 SQLCMD 入门使用 SQLCMD 连接 SQL ServerSQLCMD …

进程、线程的区别

进程、线程的关系 开工厂生产手机&#xff0c;制作一条生产线&#xff0c;这个生产线上有很多的器件以及材料。一条生产线就是一个进程。 只有生产线是不够的&#xff0c;使用找五个工人来进行生产&#xff0c;这个工人能够利用这些材料最终一步步的将手机做出来&#xff0c;这…

Python xlrd库:读excel表格

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

【Apache Doris】周FAQ集锦:第 7 期

【Apache Doris】周FAQ集锦&#xff1a;第 7 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目&#xff01; 在这个栏目中&#xff0c;每周将筛选社区反馈的热门问题和话题&#xff0c;重点回答并进行深入探讨。旨在为广大用户和…

【机器学习 复习】第7章 集成学习(小重点,混之前章节出题但小题)

一、概念 1.集成学习&#xff0c;顾名思义&#xff0c;不是一个玩意&#xff0c;而是一堆玩意混合到一块。 &#xff08;1&#xff09;基本思想是先 生成一定数量基学习器&#xff0c;再采用集成策略 将这堆基学习器的预测结果组合起来&#xff0c;从而形成最终结论。 &#x…

MicroBlaze IP核中Local Memory Bus (LMB)接口描述

LMB&#xff08;Local Memory Bus&#xff09;是一种同步总线&#xff0c;主要用于访问FPGA上的块RAM&#xff08;Block RAM&#xff0c;BRAM&#xff09;。LMB使用最少的控制信号和一个简单的协议&#xff0c;以保证块RAM能在一个时钟周期内被存取。所有的LMB信号都是高电平有…

计算机网络5:运输层

概述 进程间基于网络的通信 计算机网络中实际进行通信的真正实体&#xff0c;是位于通信两端主机中的进程。 如何为运行在不同主机上的应用进程提供直接的逻辑通信服务&#xff0c;就是运输层的主要任务。运输层协议又称为端到端协议。 运输层向应用层实体屏蔽了下面网络核心…