Java语言数据类型与c语言数据类型的不同

目录

一、c语言数据类型

1.基本类型:

2.枚举类型:

3.空类型:

4.派生类型:

二、C语言编程需要注意的64位和32机器的区别  

三、 不同之处


一、c语言数据类型

首先,先来整体介绍一下C语言的数据类型分类。

1.基本类型:

1.1 整型类型:基本整型(int)、短整型(short int)、长整型(long int)、双长整型(long long int)、字符型(char)和布尔型(bool)。
注:整型数据可在类型符号前面加修饰符:signed(有符号整数类型)和unsigned(无符号整数类型),若不指定则默认为“有符号类型”。

1.2 浮点类型:单精度浮点型(float)、双精度浮点型(double)


2.枚举类型:

枚举类型。枚举类型就只有枚举类型(enum)。


3.空类型:

空类型。空类型就只有空类型(void)。


4.派生类型:

派生类型。派生类型包含:指针类型(*)数组类型([ ])结构体类型(struct)共用体类型(union)

给大家一个思维导图仅供参考

二、C语言编程需要注意的64位和32机器的区别  

数据类型特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具体数据类型的长度大小,只规定级别。作下比较:

32位平台下:

char1字节
short:2字节
int4字节
long4字节
long long8字节
float4字节
double8字节
bool1字节
指针         4个字节

64位平台下 :

char1字节
short:2字节
int4字节
long4字节
long long8字节
float4字节
double8字节
bool1字节
指针         8个字节

申明一下,这个表并没有涵盖所有的基础数据类型。

如果对字节还不是特别理解的,可以看看我的这篇文章:http://t.csdn.cn/myTeu

三、 不同之处

Java的数据类型和c语言的数据类型有很多相同的地方但也有很多不同的地方

在Java中数据类型主要分为两类:基本数据类型引用数据类型

基本数据类型有四类八种:

1. 四类:整型、浮点型、字符型以及布尔型
2. 八种:

1. 不论是在32位系统还是64位系统,Java中的 int都占用4个字节,long都占8个字节,而c语言中则要分平台来看。

2. Java中的char是两个字节,这是由于Java使用的是Unicode字符集,它能表示的字符量远远大于ASCII字符集,并且包括了许多语言,比如中文,拉丁文等等。因此按c语言的char容量(255),是远远不够存放。因此java的char容量也来到了2字节,由于我们都知道的,Java中的cha是无符号,则容量则有65535。因此,Java的字符类型也可以表示许多c语言无法表示的字符。而c语言中默认char类型是有符号的。

3. Java语言中有byte这个类型,而c语言中没有。

4. Java语言中有字符串这个类型,而c语言中没有。

5. Java语言的整数型没有所谓的有符号和无符号,Java的整数型即可正数,又可表示负数。

6. Java中引入了c语言中没有的boolean类型(布尔类型),用于表示真假,其中布尔类型true为真,false为假。值得注意的是:这也导致c语言中0为假,非0为真的说法在Java中是不成立的。 

7. Java中的字面值都有默认的类型,比如整数1,默认类型为int型,如果要写一个long类型的变量,只能写出long a=1L(其中L可以是大小写),浮点型也有相似的规定,小数都默认为double类型,因此要写一个float类型的变量,则只能写float b=0.5f(f可以是大小写)。
 

以上就是Java语言与c语言在数据类型上的一些不同,如果有错误和缺少,欢迎大家指正。 

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

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

相关文章

创新,阿里首发微服务实施手册我粉了,原来微服务还可以这样玩

微服务 相信大家在网上会看到很多帖子把分布式跟微服务放在一起讨论。确实,微服务就是一种分布式架构的设计方法。但是,在微服务概念还没有出现之前,分布式这个概念并不能引起人们的强烈关注,如果说自己擅长分布式架构设计&#…

使用SeaFile搭建私有云盘并公网访问【cpolar内网穿透】

文章目录 1. 前言2. SeaFile云盘设置2.1 Owncould的安装环境设置2.2 SeaFile下载安装2.3 SeaFile的配置 3. cpolar内网穿透3.1 Cpolar下载安装3.2 Cpolar的注册3.3 Cpolar云端设置3.4 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 现在我们身边的只能设备越来越多&#xff…

面试官:String s = new String(“xyz“) 创建了几个对象?

这个问题相信每个学习 java 的同学都不陌生,作为一个经典的面试题,到现在工作这么多年了我真是认为挺操蛋的一个问题,在网上到现在你仍然可以看见很多讨论这个问题的人,其中不乏工作很多年的人都有争论,我认为还是有必…

一起读源码 —— Fastjson 的核心方法及其实现原理

源码介绍 Fastjson 是阿里巴巴开源的一个 Java 工具库,它常常被用来完成 Java 的对象与 JSON 格式的字符串的相互转化。 此文读的源码是撰写此文时 Fastjson 的最新的发布版本,即 1.2.83 下载源码 请前去 github 找到 release 最新版下载后解压&…

贾俊平《统计学》第七章知识点总结及课后习题答案

一.考点归纳 参数估计的基本原理 1置信区间 (1)置信水平为95%的置信区间的含义:用某种方法构造的所有区间中有95%的区间包含总体参数的真值。(2)置信度愈高(即估计的可靠性愈高),则…

【PMP】项目各阶段分别运用什么工具与技术汇总

做项目管理是一条漫漫长路,所有的本事,都是靠一个个项目,一点点积累而来的,并不存在“迅速上手”的方法论。一名普通项目经理的成长,都要经过一定时间的修炼。 数据收集 头脑风暴 在短时间内获得大量创意&#xff0…

SSM整合————单表操作基础版

一、创建数据库: 1. 创建一个 web 项目,并部署到 tomcat 服务器中测试项目 是否能够正常加载并访问首页。 2. 完善项目的结构并导入 SSM 相关的jar包 3.创建SSM框架对应的配置文件 springMVC配置文件:1.扫描controller;2.配置视图…

车企外卷:一个关于智能手机的“围城故事”

从2016年达到顶峰开始,全球智能手机出货量逐年下行,手机市场进入红海竞争逐渐成为了各界的共识。此后全球疫情与经济疲软的影响也进一步在手机市场施压,很多媒体认为手机产业距离“至暗时刻”已经不远。 而在去年,新增变数&#x…

奇葩营销之看各品牌如何玩转“营销疯学”

相信有很多人和我一样,最近的快乐都来自于《黑暗荣耀2》。 令人奇怪的是,但比起故事的主线,剧中妍珍等配角的”发疯”片段却成为了网友造梗的来源。 “妍珍疯驴子”“妍珍呐””“黑暗荣耀演我每天精神状态”等。让这部剧话题热度持续…

主题切换实现(vue-less)

介绍 本文适合黑白切换或者主题样式偏少的(建议:2-10种);主题越多,样式会越多。理论上无限套。本文适合已经写好了一套主题,然后需求增加第二套或者多套主题(最好小于10套,当然也可…

8、ThingsBoard使用docker compose集群部署的问题以及如何解决问题

1、问题回顾 接着上一节继续讲解,上一节我们把整个服务全部都运行起来了,但是访问页面报错,最后查看的问题是前端的容易里面报错: 然后执行脚本删除所有的容器 2、问题分析 当遇到这个问题的时候,我当时真的不知道如何去解决,然后我又尝试使用官方的镜像来部署,发现官…

ASM字节码处理工具原理及实践(一)

1. ASM简介 我们知道程序的分析。生成和转换是很有用的技术,可以用于很多场景。ASM作为一个Java字节码处理工具,它被设计用于处理已编译的Java类。ASM不是生成和转变已编译的Java类的唯一工具,但它是最新且最有效的工具之一。特点是体积小&a…

wsl的图像化实现,在wsl中启动浏览器

最近在学习wsl,原本我看以前的教程说wsl和vmware的区别有一点就是,wsl只能使用命令行,而vmware可以实现图像化,结果我在 microsoft 官方发现现在的wsl 2已经实现了 GUI 界面,所以就来记录一下吧。 wsl 的 GUI 实现 首…

web后端-请求响应

概述 我们之前在Spring写的 Java类,因为没有继承任何的接口 所以tomcat其实是不识别的,也不能直接运行 但是tomcat识别JavaEE的一项规范-Servlet,因为tomcat就相当于一个Servlet容器 SpringBoot底层提供了一个DisPatcherServlet类(实现了servlet接口)…

【linux】 安装 java 环境

目录 1.检查linux 下是否安装java(jdk)环境2.查看 linux 的操作系统版本3.下载jdk4.新建java文件夹用于安装jdk5.将下载到本地的jdk压缩包上传到linux服务器6.配置环境变量 1.检查linux 下是否安装java(jdk)环境 可通过下面五条命令来查看linux 系统是否安装了java 环境 1、jav…

建筑行业为什么要数字化转型?

建筑行业为什么要数字化转型? 建筑行业作为国民经济的重要支柱产业之一,其生产过程繁琐、复杂,且产业链条长,涉及众多领域。 然而,目前传统的建筑模式已经无法适应行业的发展需求,建筑行业的数字化转型已…

java SimpleDateFormat和Calendar日期类

目录 一、SimpleDateFormat使用二、Calendar使用 一、SimpleDateFormat使用 使用Date直接输出日期时,是使用系统默认的格式输出,所以需要使用SimpleDateFormat来格式化日期。 那么SimpleDateFormat类怎么使用呢,我们需要先了解此类的格式化符…

8.Java面向对象---类、属性和方法

Java面向对象—类、属性和方法 在生活中,说到类,可以联想到类别,同类,会想到一类人,一类事物等等。而这一类人或事物都是具有相同特征或特点和行为的,我们根据不同的特征或特点和行为将他们归类或分类。同…

Java多线程

一:进程与线程 概述:几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程。当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是一个线程。 进程&#x…

Faster-RCNN代码解读6:主要文件解读-中

Faster-RCNN代码解读6:主要文件解读-中 前言 ​ 因为最近打算尝试一下Faster-RCNN的复现,不要多想,我还没有厉害到可以一个人复现所有代码。所以,是参考别人的代码,进行自己的解读。 ​ 代码来自于B站的UP主&#xff…