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 ...
随机推荐
- hdu 2037 这个夏天不AC
这个夏天不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- 实战caffe多标签分类——汽车品牌与车辆外观(C++接口)[详细实现+数据集]
前言 很多地方我们都需要用到多标签分类,比如一张图片,上面有只蓝猫,另一张图片上面有一只黄狗,那么我们要识别的时候,就可以采用多标签分类这一思想了.任务一是识别出这个到底是猫还是狗?(类型)任务二是识 ...
- 权限控制方案之——基于URL拦截
概述: 在系统开发过程中需要考虑的一个重要的问题就是权限问题,权限问题也是安全问题的一个范畴,我们要求在用户登录系统之后,要控制用户可以访问的系统资源,使得用户只可以访问到系统事先分配好的资源:这里的 ...
- 在.net MVC项目的区域中使用模板页
1.首先 在网站的区域目录areas下 的 区域目录下的 Views目录下新建一个 _ViewStart.cshtml文件 如下图所示: 2.在shared文件下新建一个视图作为Layout ...
- 取消scrollView上下拉升
if (ios_Vewsion_5_Or_Above) { _scrollView.bounces = NO; } else { for (id subview in _scrollView.subv ...
- 对XAML进行编辑的辅助类(XamlHelper)
原文:对XAML进行编辑的辅助类(XamlHelper) // XamlHelper.cs// --------------------------------------------// 对XAML ...
- A Byte of Python (for Python 3.0) 下载
在线阅读:http://www.swaroopch.org/notes/Python_en:Table_of_Contents 英文版 下载地址1:http://files.swaroopch.com ...
- 3ds Max建模,Blend设计,VS2008控制WPF的3D模型例子
原文:3ds Max建模,Blend设计,VS2008控制WPF的3D模型例子 3ds Max建模,Blend设计,VS2008控制WPF的3D模型例子 所用的软件 3ds Max 9.0,Mic ...
- uva 11346 - Probability(可能性)
题目链接:uva 11346 - Probability 题目大意:给定x,y的范围.以及s,问说在该范围内选取一点,和x,y轴形成图形的面积大于s的概率. 解题思路:首先达到方程xy ≥ s.即y ...
- cocos2d-x 在XML分析和数据存储
无意中起到一周中的游戏,哎,时间过得总是打得那么快时,. .. 于是今天决定看一下之前不怎么非常熟悉的XML;(之前做游戏时数据的储存用到过XML.但这块是还有一个同事在做,所以不怎么熟悉), 看了看 ...
