- 浏览: 610218 次
文章分类
最新评论
-
q781253433:
qin ~.求demo看看~
Android之Widget -
zhongyuanceshi:
博主,没看到你的例子的Demo,共享下
Android之Widget
原文:http://eric-gcm.iteye.com/blog/1166399
java中只有 int型 而没有 unsigned integer 和 signed之分。
java语言基本数据类型
在JAVA中一共有八种基本数据类型,他们分别是
byte、short、int、long、float、double、char、boolean
整型
其中byte、short、int、long都是表示整数的,只不过他们的取值范围不一样
byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)
short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)
int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)
long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)
可以看到byte和short的取值范围比较小,而long的取值范围太大,占用的空间多,基本上int可以满足我们的日常的计算了,而且int也是使用的最多的整型类型了。
在通常情况下,如果JAVA中出现了一个整数数字比如35,那么这个数字就是int型的,如果我们希望它是byte型的,可以在数据后加上大写的 B:35B,表示它是byte型的,同样的35S表示short型,35L表示long型的,表示int我们可以什么都不用加,但是如果要表示long型 的,就一定要在数据后面加“L”。
浮点型
float和double是表示浮点型的数据类型,他们之间的区别在于他们的精确度不同
float 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)占用4个字节
double 1.797693e+308~ 4.9000000e-324 占用8个字节
double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的,如果要表示一个数据是float型的,可以在数据后面加上“F”。
浮点型的数据是不能完全精确的,所以有的时候在计算的时候可能会在小数点最后几位出现浮动,这是正常的。
boolean型(布尔型)
这个类型只有两个值,true和false(真和非真)
boolean t = true;
boolean f = false;
char型(文本型)
用于存放字符的数据类型,占用2个字节,采用unicode编码,它的前128字节编码与ASCII兼容
字符的存储范围在\u0000~\uFFFF,在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1,
char c = ' 1 ';
我们试着输出c看看,System.out.println(c);结果就是1,而如果我们这样输出呢System.out.println(c+0);
结果却变成了49。
如果我们这样定义c看看
char c = ' \u0031 ';输出的结果仍然是1,这是因为字符'1'对应着unicode编码就是\u0031
char c1 = 'h',c2 = 'e',c3='l',c4='l',c5 = 'o';
System.out.print(c1);System.out.print(c2);System.out.print(c3);System.out.print(c4);Sytem.out.print(c5);
String
在前面我们看到过这样的定义:
String s = "hello";
System.out.println(s);跟上面的5条语句组合起来的效果是一样的,那么String是个什么呢?String是字符串,它不是基本数据类型,它是一个类。
1.整型数据类型
C定义了5种整型数据类型。
整型数据类型表
序号 | 类型名称 | 说明 | 字节数 | 取值范围 |
1 | signed char | 有符号的单字节整数类型 | 1 | -128~+127 |
2 | short int | 短整型 | 2 | -32768~+32767 |
3 | int | 整型 | 4 | -2147438648~+2147438647 |
4 | long int | 长整型 | 4 | -2147438648~+2147438647 |
5 | long long int | 长长整型 | 8 | -9223372036854775808~+-9223372036854775807 |
2.无符号整数类型
对应有符号类型,还有无符号整数类型。
无符号整数类型表
序号 | 类型名称 | 字节数 | 取值范围 |
1 | unsigned char | 1 | 0~255 |
2 | unsign short int | 2 | 0~65535 |
3 | unsigned int | 4 | 0~4294967295 |
4 | unsigned long int | 4 | 0~4294967295 |
5 | unsign long long int | 8 | 0~18446744073709551615 |
3.整型常量
整型常量是指用以表示整型数值的常量,分为短整型(short int)、整型(int)、长整型(long int )和长长整型(long long int)四种。C默认整型(int)。 各种类型整型常量进制表示表(后缀不区分大小写)
序号 | 数据类型 | 八进制 | 十进制 | 十六进制 |
1 | 整型 | 0112 | 74 | 0x4a |
2 | 长整型(l) | 0112l | 74l | 0x4al |
3 | 长长整型(ll) | 0112ll | 74ll | 0x4all |
4 | 无符号整型(u) | 0112u | 74u | 0x4au |
5 | 无符号长整型(ul) | 0112ul | 74ul | 0x4aul |
6 | 无符号长长整型(ull) | 0112ull | 74ull | 0x4aull |
4.字符数据类型
C语言中字符型数据只有一种,即char型数据。一般也把char直接称为字符型。字符型占用内存空间最少,一般占用一个字节,存储在char类型变量的整数可以表示为有符号或无符号的值,这取决于编译器。
5.字符变量
字符变量是用于存储字符型数值的变量。字符型变量也分为两种:有符号和无符号型。
6.浮点型数据类型
C语言定义了三种浮点数据类型:
•float,单精度
•double,双精度
•long double,长双精度
C标准中对不同类型的浮点数有不同的规定,编译器不同或硬件条件不同,字节长度也不相同。
浮点型的字节长度、精度、数量级范围和输出输入格式表
序号 | 数据类型 | 字节长度 | 精度 | 数量级范围 | printf和scanf格式 |
1 | float(f) | 4 | 7 | -38~38 | %f |
2 | double | 8 | 约16 | -308~308 | %f |
3 | long double(1) | 12 | 约19 | -4932~4932 | %llf |
7.浮点型精度
浮点型精度从低到高排列为float、double和long long double。
8.浮点型的存储方式
浮点型数值以科学计数法的表示形式存储在内存中。浮点型的内存形式包含三个部分:
1)符号位
符号位浮点型的符号位只有一位,为最高位。该位为1,表示负数,该位为0,为非负数。
2)指数位
浮点型的指数位以补码形式存储,是科学计数法的指数部分。
3)基数位
基数位是浮点型的最后一位,这个位决定数值的精度。
浮点型储存分段表
序号 | 数据类型 | 符号位 | 指数位 | 基数位 | 偏差值 |
1 | float | 1 | 8 | 23 | 127 |
2 | double | 1 | 11 | 52 | 1023 |
3 | long double | 1 | 15 | 64 | 16383 |
C++基本数据类型有字符型(char)、整数类型(int)、浮点型(float)、双精度型(double)和无值类型(void),下表给出各种基本类型和内存中的位数和表示数值的范围(对于字符型存储的是ASCII码):
基本数据类型
类型 | 类型名 | 位数 | 范围 |
字符型 | char | 8 | -128 ------ 127 |
整型 | int | 16 | -32768 ------ 32767 |
浮点型 | float | 32 | 3.4E-38 ------ 3.4E+38 |
双精度型 | double | 64 | 1.7E-308 ------ 1.7E+308 |
无值类型 | void | 0 | 0 |
类型名前可以加修饰符(void类型除外),修饰符有 signed(带符号的)、 unsigned(无符号的)、 short(短的)和 long(长的)。signed 和 unsigned 用于字符型或整型,short 和 long 可用于整型,还可用于双精度型,如下表所示:
基本数据类型和修饰符
类型 | 类型名 | 位数 | 范围 |
字符型 | char | 8 | -128 ------ 127 |
signed char | 8 | -128 ------ 127 | |
unsigned char | 8 | 0 ------ 255 | |
整型 | int | 16 | -32768 ------ 32767 |
signed int | 16 | -32768 ------ 32767 | |
unsigned int | 16 | 0 ------ 65535 | |
short int | 16 | -32768 ------ 32767 | |
signed short int | 16 | -32768 ------ 32767 | |
unsigned short int | 16 | 0 ------ 65535 | |
long int | 32 | -2,147,483,648 ---- 2,147,483,647 | |
signed long int | 32 | -2,147,483,648 ---- 2,147,483,647 | |
unsigned long int | 32 | 0 ----------------4,294,967,295 | |
浮点型 | float | 32 | 3.4E-38 ------ 3.4E+38 |
双精度型 | double | 64 | 1.7E-308 ------ 1.7E+308 |
long double | 80 | 3.4E-4932 ------ 1.1E+4932 |
当用 signed 、unsigned 、short 和 long 修饰 int 时,int 可省略。
字符型实际上是一个字节的整型 ,浮点型和双精度型表示实数。
注:不同编译系统,整数的存储长度不同。对于16位的编译系统,int为2字节;而对于32位的编译系统,int为4字节。可以用sizeof运算符测试。如:
cout<<sizeof(int)<<endl;
输出结果是字节数。
发表评论
-
c语言中的关键字总结
2014-02-08 14:03 702switch构成switch选择结构 case swi ... -
c语言—typedef
2013-07-11 11:53 958typedef c语言中的关键字,是在编译时处理的,它在自 ... -
extern,auto,static,register区别
2013-04-22 17:51 1348extern,auto,static,register区别: ... -
System.out.printf输出格式
2012-12-13 22:01 2135// 定义一些变量,用来格式化输出。 double ... -
c语言中的extern关键字
2012-12-02 13:14 14441. 用extern声明外部变量 定义:外部变量是指在函数或 ... -
android分享功能的实现(分享到微博空间等)
2012-11-03 22:15 2165//Intent intent = new Inten ... -
Android开发环境配置
2012-11-03 20:04 8401、JDK安装: http://jing ... -
C语言中的static关键字
2012-08-29 11:41 1006c语言中的变量: 1.自动变量。变量在执行到他的块尾时 ... -
c语言关键字
2012-08-29 11:25 931inline 当一个函数被定义为inline函数之后,会省去 ... -
内存的使用_动态分配
2012-08-29 10:52 846c语言中允许在执行程序时动态分配内存;而只有使用指针,才 ... -
井字游戏
2012-08-28 15:02 1042int main() { int player = ... -
按位运算符
2012-08-28 13:19 844按位运算符(共6种) & 按位与运算符 | ... -
c语言变量的相关知识
2012-08-27 15:46 792全局变量:使用全局变 ... -
c语言 函数指针使用
2012-08-27 15:27 909#include <stdio.h> ... -
c语言—struct
2012-08-27 15:04 939#include <stdio.h> // ... -
c语言输入输出基本方法
2012-08-27 11:43 902注意:scanf中的参数必须是指针,基本类型必须通过&am ... -
c语言字符串基本方法
2012-08-27 10:35 1045#include <stdio.h> # ... -
堆栈&内存基础知识
2012-08-23 16:34 1366为了理解什么是堆栈缓 ... -
JAVA和C++的区别(转)
2012-08-23 13:45 875这是Java与C++区别的一个比较完整的答案,大家可以学习 ... -
基础知识
2012-08-20 09:47 780类型是所有程序的基础 ...
相关推荐
《Viusal C++语言程序设计》考试大纲(2005年3月3日) 本次考试以C语言程序设计为主,作为过渡。 (一)C语言的结构 1.程序的构成,main函数和其他函数。 2.头文件、数据说明、函数的开始和结束标志。 3.源程序...
1. C/C++ 的数值类型 int float double,修饰符 short long unsigned 带来的影响 2. Java 的 数值类型 整型 和 浮点 计算过程中注意类型不能 混用 3. 关注在不同的程序语言环境下,关键语句的差异。
PHP语法主要借鉴于C/C++,也部分参考了Java和Perl。 类似C语言,书写PHP代码的时候,每句完成代码后都要以分号“;”结束。 既然是一门编程语言,肯定会由多种编程元素组成,如变量、常量、运算符、控制语句、数组、...
C、C++资料:C++语言中静态数据成员的研究、C++中构造函数的深入分析、C++中数据成员初始化的深入分析、C语言与汇编语言混合编程的研究与实现、Java环境下JavaBean的分析与应用对C中类型定义和宏替换的研究、可复用...
该手册提供了全面的C++23标准库和语言特性的介绍,包括语法、关键字、数据类型、控制结构、函数、指针、类和对象、继承、多态性、模板和异常处理等内容。 该手册以离线chm格式提供,方便用户在没有互联网连接的情况...
一本非常不错的C++入门书籍~本书详述了C++语言的各个方面,包括数据类型、程序控制、函数、指针、调试、类、重载、继承、多态性、模板、异常和输入输出等内容。每一章都以前述内容为基础,每个关键点都用具体的示例...
本书详述了C++语言的各个方面,包括数据类型、程序控制、函数、指针、调试、类、重载、继承、多态性、模板、异常和输入输出等内容。每一章都以前述内容为基础,每个关键点都用具体的示例进行详细的讲解。 本书基本不...
◆ 重点是核心的数据结构,而不是非必要的C++语言语法 ◆ 说明了类和ADT在问题解决过程中的作用 ◆ 诠释了ADT的主要应用,如查找航班图、事件驱动的模拟和八皇后问题 ◆ 大部分章节中的例子都使用了标准模板库...
Java是一门强类型的语言(对数据类型的划分很精细)。 Java有非常严谨的异常处理机制。 Java提供了对于大数据的基础性支持。hadoop的底层使用java编写。 1995年由SUN公司推出,Java之父:詹姆斯·高斯林,SUN公司...
毕业论文文献综述 信息与计算科学 基于JAVA的学生通讯录管理系统设计和实现 一、前言部分 Java是由Sun公司于...这种可移植性来源于体系结构中立性,另外,Java还严格 规定了各个基本数据类型的长度。Java系统本身也具
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
本书详述了C++语言的各个方面,包括数据类型、程序控制、函数、指针、调试、类、重载、继承、多态性、模板、异常和输入输出等内容。每一章都以前述内容为基础,每个关键点都用具体的示例进行详细的讲解。本书基本不...
C语言注重前两者,C++注重前三者,JAVA、.net这些注重后两者。 2 从C到C++(一) 2.1 bool类型 逻辑型也称布尔型,其取值为true(逻辑真)和false(逻辑假),存储字节数在不同编译系统中可能有所不同,VC++中为1个...
a等非常相似,但摒弃了 C/C++语言中的指针等容易产生疑惑的语法元素。C#语言使用 一的数据类型系统,避免了数据类型与具体计算机系统的相关性,使用 C#语言不需要 忆基于不同处理器架构的数据类型区别。
题目:c--语言编译器设计与实现(请为自己的编译器命名) 源语言定义:或采用教材中Decaf语言,或采用C语言(或C++语言或C#语言或JAVA语言)部分关键语法规则。源语言要求至少包含的语言成分如下: 数据类型至少包括...
“尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言”。 无论C++还是Java 都属于杂合语言。但在 Java 中,设计者觉得这种杂合并不象在 C++里那么重要。杂合语言 允许采用多种编程风格;之所以说 C++...
这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。 Java是全能的!!!...
然后进入Java语言基础的学习阶段,学习任何一门语言都要打好基础,曾经学过高级程序语言(C,C++等)来说,java语言基础有自己的特点,但是基本规律都是相通的,如:算法基础、常用数据结构、企业编程规范。...
anyvalue高性能数据序列化库,支持C++ java python php objectc 语言,兼容json数据格试,可以互相转换php$obj['abc']='dasdasdsa';$obj['bcd']=10000;$obj['name']="sssssss";$obj['urls']=array('');$obj['info']...