3021Java_数据类型
1.分类
- Java数据类型
- 基本数据类型
- 数值型
- 整数类型
- 浮点类型
- 字符型
- 布尔型
- 数值型
- 引用数据类型
- 类
- 接口
- 数组
- 基本数据类型
2.基本数据类型
2.1 综述
java的8种基本数据类型(简单数据类型)
boolean byte short char int long float double
分为以下四大类型
逻辑类型:boolean
整数类型:byte short int long
字符类型:char
浮点类型:float double
2.2 简要介绍
逻辑类型 | 常量 |
true、false |
true |
||
变量 |
用boolean声明 使用关键字boolean来声明逻辑变量,声明时也可以赋给初值 |
boolean man, male=true; boolean x,ok=true,关闭=false; //T |
有说1位,有说存储范围视内存而定 | ||
整数类型 | int型 | 常量 |
123//十进制 |
||
变量 | 用int声明,声明时也可以赋给初值 |
int x = 12; : int x= 12,平均=9898,jiafei; //T |
-231~231-1 4字节 32位 231约21亿 |
||
byte型 | 常量 | java中不存在该表示法 |
可以把范围 -27~27-1 内的int型常量赋给byte变量 ???要求0b或0B开头,如:0b01110011 |
||
变量 | 用byte声明 |
byte tom = 28; |
-27~27-1 1字节 8位 -128~127 |
||
short型 | 常量 |
java中不存在改表示法 |
可以把范围 -215~215-1 内的int型常量赋给short变量 | ||
变量 | 用short声明 |
short x = 12; |
-215~215-1 2字节 16位 -32768~32767 |
||
long型 | 常量 |
108L//十进制 |
|||
变量 | 用long声明 |
long width = 12L; |
-263~263-1 8字节 64位 | ||
字符类型 | char类型常量 |
英文单引号括起Unicode 表中的一个字符 |
‘a’ ‘好’ ‘&’ |
||
转意字符常量 |
有些字符(如回车符)不能通过键盘输入到字符串或程序中,就需要使用转意字符常量 |
例如:\n(换行), \b(退格),\t(水平制表),\‘(单引号), |
|||
char类型变量 | 用char声明 |
char x = ‘a’;//等价于char x = 97 |
0~65535 216-1 2字节16位 最高位不是符号位,无负char |
||
浮点类型 | float型 | 常量 |
32.1f 32.1F -23.1f//必有f |
又被称作单精度类型, 可以精确到8位有效数字 |
|
变量 | 用float声明 |
float x = 22.76f; |
-3.403E38~3.403E38 4字节 |
||
double型 | 常量 |
21.3d 21.3 21.3D//D或d可省略 |
数值精度约是float类型的两倍,16位有效数字 又被称作双精度类型 |
||
变量 | 用double声明 |
double width = 32.56D |
-1.798E308~1.798E308 8字节 |
||
java中没有无符号的 byte short int long 错误声明:unsigned int m; |
2.2.1 浮点数
1.不要使用浮点数进行比较,需要比较使用BigDecimal类
float f = 0.1f;
double d = 1.0/;
System.out.println(f==d);//结果为false float d1 = 423432423f;
float d2 = d1+;
if(d1==d2){
System.out.println("d1==d2");//输出结果为d1==d2
}else{
System.out.println("d1!=d2");
} /*因为由于字长有限,浮点数能够精确表示的数是有限的,因而也是离散的。
浮点数一般都存在舍入误差,很多数字无法精确表示(例如0.1),其结果只能是接近, 但不等于。
二进制浮点数不能精确的表示0.1、0.01、0.001这样10的负次幂。
并不是所有的小数都能可以精确的用二进制浮点数表示。 java.math包下面的两个有用的类:BigInteger和BigDecimal,
这两个类可以处理任意长度的数值。
BigInteger实现了任意精度的整数运算。
BigDecimal实现了任意精度的浮点运算。
*/
2.浮点类型float,double的数据不适合在不容许舍入误差的金融计算领域。
如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。
2.2.2 字符型
1.char 类型用来表示在Unicode编码表中的字符。
Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符
’A’是一个字符,它与”A”是不同的,”A”表示含有一个字符的字符串。
String类,其实是字符序列(char sequence)
2.字符型的十六进制值表示方法
Unicode具有从0到65535之间的编码,
通常用从’\u0000’到’\uFFFF’之间的十六进制值来表示(前缀为u表示Unicode)
char c = '\u0061';
3. Java 语言中还允许使用转义字符 ‘\’ 来将其后的字符转变为其它的含义
转义符 | 含义 | Unicode值 |
\b | 退格backspace | \u0008 |
\n | 换行 | \u000a |
\r | 回车 | \u000d |
\t | 制表符tab | \u0009 |
\“ | 双引号 | \u0022 |
\' | 单引号 | \u0027 |
\\ | 反斜杠 | \u005c |
2.3 类型转换运算
2.3.1高低类型转换
1.基本类型从低到高
byte short char int long float double
2.低 ——> 高
系统自动完成数据类型转换
float x = 100;//输出x为100.0
3.高 ——> 低
必须用类型转换运算
格式:(类型名)要转换的值;
int x = (int)34.89;//输出为34
4.当将一种类型强制转换成另一种类型,而又超出了目标类型的表数范围,就会被截断成为一个完全不同的值
int x = ;
byte bx = (byte)x; //值为44 取低的范围内的数
5.不能在布尔类型和任何数值类型之间做强制类型转换
2.3.2字符串型数据与整型数据相互转换
1.字符串转换成数值型数据
数字字符串型数据转换成byte、short、int、float、double、long等数据类型,可以分别使用表3.7所提供的Byte、Short、Integer、Float、Double、Long类的parseXXX方法。
表 字符串转换成数值型数据的方法
例如:
String MyNumber="1234.567"; //定义字符串型变量MyNumber
float MyFloat=Float.parseFloat(MyNumber);
//1234.567
例如:
String MyNumber="1234a.567"; //定义字符串型变量MyNumber
float MyFloat=Float.parseFloat(MyNumber);
//
2.4 常量和变量
2.4.1 常量
1)常量通常指的是一个固定的值,
例如:1、2、3、’a’、’b’、true、false、”helloWorld”等,
一般将称为字面常量;
2)在Java语言中,主要是利用关键字final来定义一个常量,
常量一旦被初始化后不能再更改其值,
使用final修饰的PI等称为符号常量
常量:大写字母和下划线:MAX_VALUE
声明格式为:
final type varName = value;
常量的声明及使用:
public class TestConstants {
public static void main(String[] args) {
final double PI = 3.14;
// PI = 3.15; //编译错误,不能再被赋值!
double r = ;
double area = PI * r * r;
double circle = * PI * r;
System.out.println("area = " + area);
System.out.println("circle = " + circle);
}
}
为了使用上的方便Java提供了数值型数据的最大值与最小值的标识符及常量值。如表3.4所示。
表3.4 数值型常量的特殊值代码
强制转换前判断是否在范围内防止失真,如double到float
2.4.2 变量
Java是一种强类型语言,每个变量都必须声明其数据类型,可以是基本类型,也可以是引用类型
变量的分类:局部变量、实例变量、静态变量
变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。
格式为:type varName [=value][,varName[=value]...];
//[]中的内容为可选项,即可有可无
数据类型 变量名 [=初始值] [,变量名 [=初始值]…];
double salary;
long earthPopulation;
int age;
3021Java_数据类型的更多相关文章
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- JS 判断数据类型的三种方法
说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...
- Python高手之路【二】python基本数据类型
一:数字 int int(整型): 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值 ...
- UniqueIdentifier 数据类型 和 GUID 生成函数
UniqueIdentifier 数据类型用于存储GUID的值,占用16Byte. SQL Server将UniqueIdentifier存储为16字节的二进制数值,Binary(16),按照特定的格 ...
- SQL Server常见数据类型介绍
数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...
- 由js apply与call方法想到的js数据类型(原始类型和引用类型)
原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...
- python 数据类型 ----字典
字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...
- SQL数据类型
1.Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多8,000个字符. n varchar(n) 可变长度的字符串.最多8,000个字符. varchar ...
- 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型
运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...
随机推荐
- ActiveReports 报告应用程序教程 (2)---上市类报告
大多数数字在报告中系统类报告列表.实例:客户名单.产品列表.设备清单.采购清单.优惠券.商品发票.工作人员清点等..根据报告,查看类别列表相对简单.但,分丰富,在清单类报表中能够增加数据统计.数 ...
- JSON.parse(JSON.stringify()) 实现对对象的深度拷贝,从而互不影响
JSON.parse(JSON.stringify({"key": "value"})) 根据不包含引用对象的普通数组深拷贝得到启发,不拷贝引用对象,拷贝一个字 ...
- 在echarts中自定义直方图bar上悬浮透明窗文本内容
直接贴代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...
- AI2XAML's Bug(sequel)
原文:AI2XAML's Bug(sequel) I wrote an article about AI2XAML's Bug the day before yesterday. This arti ...
- ValueStack和OGNL达到Struts2形式的数据存储原理
(1)最近学习struts相框,我们在快乐struts强大.为了便于使用转发,但不了解详细的内部数据存储: (2)网上找了很多关于struts数据存储的原理,但我还没有找到一个具体的解释,本书上找到了 ...
- Get and Post(Unity3D六个发展)
猴子原创,欢迎转载. 转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=565 unity3d中的www ...
- cocos2d-x 在XML分析和数据存储
无意中起到一周中的游戏,哎,时间过得总是打得那么快时,. .. 于是今天决定看一下之前不怎么非常熟悉的XML;(之前做游戏时数据的储存用到过XML.但这块是还有一个同事在做,所以不怎么熟悉), 看了看 ...
- Spring框架:Spring安全
在传统的Web发展,安全码被分散在各个模块,这样方便管理,有时你可能会错过一个地方导致安全漏洞.为了解决这个问题,它的发明Spring Security.它是业务逻辑的有关安全代码的作用全部转移到一个 ...
- WPF依赖属性对内存的使用方式
WPF允许对象在创建时候并不包含存储数据的空间,只保留在用到时获取数据默认值,借用其他对象数据或者实时分配空间的能力
- 关于QSocket的释放的一个需要注意的情况(必须先断开连接)
最近在用QtNetwork编写服务器程序进行TCP/IP通信,大体过程如下: 1. 创建一个QTcpServer实例,监听目标IP和端口: 2. 一旦监听到有连接,获取和客户端之间的socket: 3 ...