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 ...
随机推荐
- 哪个项目管理工具好用到哭?JIRA VS 华为软件开发云
一.产品介绍 JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域. 华为软件开发云 (DevCloud ...
- Struts2——(5)转发和重定向(跨业务模块)
一.重定向redirect(默认是转发dispatcher)和转发的区别? 1.重定向浏览器的网址发生变化(相当于请求了两次),转发浏览器的网址不发生变化(只请求了一次). 2.重定向的过程:发送请求 ...
- C#并发集合
并发集合 并发集合 1 为什么使用并发集合? 原因主要有以下几点: System.Collections和System.Collections.Generic名称空间中所提供的经典列表.集合和数组 ...
- matplotlib tricks(关闭坐标刻度、坐标轴不可见)
plt.gray():只有黑白两色,没有中间的渐进色 1. 关闭坐标刻度(plt 与 AxesSubplot) plt plt.xticks([]) plt.yticks([]) 关闭坐标轴: plt ...
- DDD实战6 单元测试
1.在Products解决方案文件夹下面新建一个项目 一个单元测试项目 Product.Tests.
- HDU 1867 A + B for you again KMP解决问题的方法
这是一个典型问题KMP申请书. 结果求增加两个字符串.该法的总和是相同的前缀和后缀也是字符串的字符串,您将可以合并本节. 但是,这个问题是不是问题非常明确的含义,因为不是太清楚,外观这两个字符串的顺序 ...
- Select2使用方法汇总
引用: <script src="~/Content/plugins/select2/select2.min.js"></script> 1.简单使用 $. ...
- Fidder模拟发送请求
在Fiddler的Composer一栏,可以模拟请求 举例 首先通过浏览器访问页面http://baidu.com/ ,在右侧可以拿到请求情况 在Inspectors一栏可以看到请求和响应结果,复制请 ...
- 一款好用的视频转换gif的小软件——抠抠视频秀
在平常生活中,我们拍下来精彩的视频想要转换为gif动画,或是想要录制网页上的视频.电脑上的鼠标操作等等,大家可以使用以下这款很好用的视频转换gif的小软件——抠抠视频秀,这个软件操作简单 ...
- Qt官方对OpenSSL的编译方法的描述,单独下载的Qt library则一般不带SSL(包括QT FAQ)
https://wiki.qt.io/MSYS2http://wiki.qt.io/Compiling_OpenSSL_with_MinGWhttps://wiki.qt.io/MinGW-64-bi ...
