计算机编程的各种数据类型及相关用法总结

总结归纳计算机编程中的各种数据类型,其表示形式和计算方法。重点关注类型转换、数值溢出和移位等操作。

数据类型
1.数字类型1.1 整数型(int)定义方式:如,phone_num=1371828137方法:加减乘除,地板除,取整,取余1.2 浮点型(float)
2.字符串类型(str)定义方式:在单引号,双引号,三单/双引号之间,但三单/双引号字符串可以换行
3.列表类型(list)定义:在[]中存任何数据类型的元素,这些元素以逗号隔开
4.字典类型(dict)定义方式:{}中以key:value的形式存储数据,key一般用来描述value的意义,所以key一般是字符串,但它可以是不可变数据类型;value可以是任何数据类型,以逗号隔开key:value
5.布尔类型(bool)定义:Ture/False注:0、None、空(空字符串,空列表,空字典),False的bool值为False。
6.用户交互
7.格式化输出
参考文献:https://www.cnblogs.com/bruce123/p/10796793.html

计算机中的类型转换在不同的编程系统中呈现不同,以下以C++为例进行说明:
一、在c++中的数据类型转换一般有以下几种情况:
1、将一种算术类型的值赋给另一种算术类型的变量时,c++将对值进行转换
2、表达式中包含不同的类型时,c++将对值进行转换
3、将参数传递给函数时,c++将对值进行转换
二、在进行数据类型转换的时候要注意几点:
1、将小的数据类型转化为大的数据类型,不会出现问题,一般只是转化后所占用的字节更多了,但是要将大的数据类型转化为小的数据类型的话,就会造成数据的丢失。
2、将较大的浮点数转化为较小的浮点数,如double转化为float ,这会造成精度(有效数位)降低,值可能超出目标类型的取值范围,在这种情况下,结果将是不确定的。
3、将浮点类型转换为整型,这会造成小数部分丢失,原来的值可能超出目标类型的取值范围,在这种情况下,结果将是不确定的。
4、当运算涉及到两种数据类型时,一般是较小的类型将被转换为较大的类型。
三、强制类型转换:
1、形式:a、(typeName) value (C语言的写法)b、value (typeName) (c++的写法)c、static_cast<> 可以将值从一种数值类型转换为另外一种数据类型,格式为: static_cast (value
四、总结:整型数据类型大小排序: bool , char , signed char, unsigned char, short , unsigned short , int , unsigned int ,long , unsigned long , long long , unsigned long long浮点数排序大小:float , double , long double
参考文献:https://www.cnblogs.com/1121518wo/p/11210591.html

关于溢出,以C语言中的整数溢出现象为例
c语言中存在两类整数算术运算,有符号运算和无符号运算。
在无符号运算里,没有了符号位,所以是没有溢出的概念的。所有的无符号运算都是以2的n次方为模。如果算术运算符的一个操作数是有符号书,另一个是无符号数,那么有符号数会被转换为无符号数(表示范围小的总是被转换为表示范围大的),那么溢出也不会发生。但是,当两个操作数都是有符号数时,溢出就有可能发生。而且溢出的结果是未定义的。当一个运算的结果发生溢出时,任何假设都是不安全的。例如,假定a和b是两个非负的整型变量(有符号),我们需要检查a+b是否溢出,一种想当然的方式是:if (a + b < 0) 溢出;
实际上,在现实世界里,这并不能正常运行。当a+b确实发生溢出时,所有关于结果如何的假设均不可靠。比如,在某些机器的cpu,加法运算将设置一个内部寄存器为四种状态:正,负,零和溢出。在这种机器上,c编译器完全有理由实现以上的例子,使得a+b返回的不是负,而是这个内存寄存器的溢出状态。显然,if的判断会失败。 一种正确的方式是将a和b都强制转换为无符号整数:if ( (unsigned)a + (unsigned)b > INT_MAX) 溢出;这里的int_max值为有符号整型的最大值。在一般的编译器里是一个预定义的常量。ANSI C在limits里定义了INT_MAX,值为2的31次方-1. 不需要用到无符号算数运算的另一种可行方法是:if (a > INT_MAX - b ) 溢出;
PS : 有符号数的最高位(31位)为符号位,最高位为0的时候,表示正,为1的时候表示负。运算时,符号位不参加运算,但是如果两个数相加,30位需要进1时,那么即表示溢出。
参考文献:https://blog.csdn.net/bichenggui/article/details/4734040

移位运算符包括左移"<<“和右移”>>"
左移运算符<<:
1.无符号语法格式:需要移位的数字<<移位的次数n运算规则:按二进制形式把所有数字向左移动相应的位数,高位移出(舍弃),低位的空位补0。相当于乘以2的n次方
2.有符号如果你左移有符号的数字,以至于符号位受影响,则结果是不确定的。
右移运算符>>:
1.无符号语法格式:需要移位的数字>>移位的次数n运算规则:按二进制形式把所有数字向右移动相应的位数,低位移出(舍弃),高位的空位补0。相当于除以2的n次方
2.有符号语法格式:需要移位的数字>>移位的次数n运算规则:按二进制形式把所有数字向右移动相应的位数,低位移出(舍弃),正数,高位的空位补0。负数,高位的空位补1。
参考文献:https://www.cnblogs.com/shrimp-can/p/5145351.html

<br>【原 书 名】 Professional Java Data <br>【原出版社】 Wrox <br>【作 者】[美] Danny Ayers ,John Bell ,Carl Calvert Bettis等 <br>【译 者】 戴英 张晓晖 王辉 等 <br>【丛 书 名】 乐思公司编程指南系列 <br><br>http://images.china-pub.com/ebook/5221/shupi.jpg<br><br>Java是一种功能强大的编程平台,带有大量的Application Programming Interfaces(APIs,应用程序编程接口)。在本书中,我们将研究Java用于访问和处理数据的各种技术。本书将向读者介绍如何使用Java开发企业级的分布式应用程序,其中涉及生成、处理、存储、 与检索各种类型的数据与不同的数据库。<br>本书按照一定的逻辑顺序分为六个部分。在相互的基础上,前四部分深入广泛地探讨了各种Java技术,它们可以组合或单独用于为各种数据访问与处理情况开发实际方案。第五部分中的案例研究包括了一些实际的围绕数据的应用程序范例。<br>本书只需要读者具有Java的使用知识,所有的技术与概念都会用图表与实际范例充分给予解释。<br><br>目录<br>第一部分 软件、对象、数据设计与建模<br>第1章 软件开发的方法与过程<br>为什么我们需要方法与过程<br>什么是软件方法与过程<br>方法的内容<br>过程模型<br>源代码管理的要素<br>软件缺陷与修改的跟踪和解决方案<br>软件品质<br>参考文献<br>第2章 面向对象的分析与设计<br>OOA、OOD与OOP<br>面向对象的分析<br>面向对象的设计<br>小结<br>第3章 用UML进行对象建模<br>为什么使用UML<br>什么是UML<br>UML图表<br>如何将UML建模图表配合在一起<br>如何将UML合并到我们的项目中<br>可以考虑的一些UML CASE工具<br>小结<br>第4章 数据建模<br>数据建模的阶段<br>可以考虑的一些数据建模工具<br>小结<br>第二部分 数据库访问<br>第5章 数据库的概念与技术<br>数据库设计 <br>数据库规格化与数据仓库<br>数据库视图<br>数据库元数据<br>临时表<br>约束<br>静态SQL与动态SQL<br>准备语句<br>事务处理与隔离级别<br>存储过程<br>触发器<br>复制<br>优化基础<br>小结<br>第6章 Java数据库连接(JDBC)<br>什么是JDBC<br>JDBC结构<br>开始起步<br>使用JDBC<br>一个简单的范例<br>对映Java与SQL类型<br>处理SQL错误<br>ResultSet与数据库元数据<br>JDBC中的事务处理<br>一个JDBC事务范例<br>JDBC事务隔离级别<br>保存点<br>使用光标<br>PreparedStatement接口<br>批更新<br>CallableStatement<br>JDBC Escape语法<br>JDBC支持类<br>小结<br>第7章 JDBC 2.0可选包<br>简介<br>DataSource与JNDI<br>连接池<br>RowSet<br>分布式事务与Optional Package<br>小结<br>第8章 SQLJ<br>简介<br>什么是SQLJ<br>准备开始<br>使用SQLJ<br>SQLJ定制<br>小结<br>第9章 数据库性能问题<br>本地编译机制<br>挑选适当的JDBC驱动程序<br>连接池<br>事务和批量查询<br>存储过程和JDBC准备语句<br>JDBC准备语句<br>在程序块上检索大数据集合<br>高速缓存频繁使用的数据<br>性能监控<br>小结<br>第10章 Java和ODMG 3.0规范<br>基础<br>ODMG的核心概念<br>对象定义语言<br>小结<br>第11章 目录服务与JNDI<br>命名与目录服务<br>使用JNDI<br>JAVA与LDAP<br>从理论到实践<br>标准的LDAP操作<br>LDAP服务器改进<br>在LDAP中存储并检索Java对象<br>其他目录服务<br>小结<br>第三部分 网络客户机上的数据显示<br>第12章 Web体系结构<br>引言<br>典型的Web中心体系结构<br>应用程序体系结构<br>Web中心应用程序的判定标准<br>小结<br>第13章 服务程序(Servlets)<br>概述<br>服务程序的结构<br>服务响应<br>服务程序Cookies<br>会话跟踪<br>深入性主题<br>小结<br>第14章 使用服务程序进行数据访问<br>引言<br>使用服务程序的数据库连接<br>范例应用程序<br>JDBC驱动器之结语<br>小结<br>第15章 JSP<br>JSP与服务程序<br>JSP与ASP<br>实现JSPs<br>JavaServer Page范例<br>JavaBeans综述<br>在JSPs中使用JavaBeans<br>JSP事宜<br>资源<br>小结<br>第16章 使用JSP进行数据访问<br>访问数据<br>范例应用程序<br>深入性主题<br>小结<br>第17章 分析和生成XML<br>文档和数据<br>XML概述<br>Java XML技术<br>生成XML<br>读取XML<br>小结<br>第18章 WAP客户机<br>WAP概览<br>WAP构成组件<br>WML基础<br>Java服务程序和WML<br>WML服务程序和JDBC<br>相关URLs<br>小结<br>第四部分 Enterprise JavaBeans与分布式应用程序<br>第19章 Enterprise JavaBeans<br>Enterprise JavaBean体系结构<br>一个简单的Enterprise JavaBean<br>会话Beaus<br>面向对象与关系模型<br>实体beans<br>数据映射<br>EJB事务置<br>EJB 2.0<br>小结<br>第20章 Java事务API(JTA)和Java事务服务(JTS)<br>进行事务处理的理由<br>使用事务处理的益处<br>事务处理的属性<br>事务服务<br>理论足已!一些Java细节<br>设计性事务处理<br>铭记要点<br>小结<br>第21章 开发EJB客户机<br>引言 <br>EJBs的客户机<br>小结<br>第22章 开发可扩缩的EJB应用程序<br>引言<br>Enterprise JavaBeans的优点<br>EJB的广阔开放空间<br>Enterprise JavaBeansas行范例<br>可扩缩性概念和目的<br>数据传输概念<br>传输简单对象<br>静态数据传输<br>复合对象传输和集合<br>ePIM的基本设计<br>测试代码<br>利用Facade和Proxy模式减少网络通信量<br>进一步增强<br>小结<br>第23章 J2EE通信<br>通信概述<br>JMS的详细情况<br>消息驱动EJB<br>小结<br>第24章 Java数据对象(JDO)<br>概述<br>JDO对象模型<br>JDO API<br>JDO实例的生命周期<br>JDO和EJB<br>开发可持久类<br>范例应用程序<br>配置FFJ<br>配置数据源<br>捕获数据库模式<br>把类映射到数据库对象<br>编译类<br>小结<br>第五部分 案例分析<br>第25章 案例分析:XML网站入口<br>案例分析综述<br>XML-Client应用程序<br>XML跳过HTTP<br>配置<br>开始应用程序服务器<br>XML-RPC<br>小结<br>第26章 案例分析:网站通信量的统计分析<br>案例分析综述<br>客户机网站<br>跟踪应用程序<br>配置<br>小结<br>第27章 案例分析:网络数据工具箱<br>任务<br>逐步实现工具箱<br>前进道路<br>小结<br>第28章 案例分析:WAP Tic-Tac-Toe游戏<br>纵览应用程序结构<br>玩游戏<br>存储并检索分数:JDBC连接<br>会话管理<br>安装应用程序组件<br>相关的URL<br>小结<br>第六部分 附录<br>附录A SQL入门<br>什么是SQL<br>什么是数据库<br>关系数据库基础<br>关系数据库的优点和缺点<br>SQL:数据定义<br>基本数据操作<br>数据完整性<br>表达式<br>连接<br>合并<br>子查询<br>小结<br>附录B 序列化<br>简介<br>序列化<br>可串行化的接口<br>小结<br>附录C Java和分布式应用程序<br>分布式系统<br>分布式数据库应用程序<br>在分布式应用程序的Java<br>小结<br>附录D 配置Tomcat、JRun和Orion<br>Tomcat安装和配置<br>JRun 3.0安装和配置<br>安装检索<br>附录E 在WebLogic 6.0上配置并部署EJB<br>设置配置属性<br>生成EJB容器类<br>加载EJB类到WebLogic服务器<br>附录F UML符<br>类和对象<br>关系<br>状态<br>对象相互作用<br><br><br>http://www.china-pub.com/5221<br><br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值