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 
false
 
变量

用boolean声明

使用关键字boolean来声明逻辑变量,声明时也可以赋给初值

boolean man, male=true;
boolean x,ok=true,关闭=false; //T
有说1位,有说存储范围视内存而定
整数类型 int型 常量  
123//十进制
077//八进制 零开通
0x3ABC//十六进制 零小xyz的x
 
变量 用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//十进制
07123L//八进制
0x3ABCL//十六进制
 
变量 用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
2e40f//2×10^40 2乘10的40次方

又被称作单精度类型,

可以精确到8位有效数字

变量 用float声明
float x = 22.76f;

-3.403E38~3.403E38

4字节

double型 常量  
21.3d  21.3  21.3D//D或d可省略
1e-90//1*10^-90

数值精度约是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_数据类型的更多相关文章

  1. JavaScript 中的数据类型

    Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...

  2. JS 判断数据类型的三种方法

    说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...

  3. Python高手之路【二】python基本数据类型

    一:数字 int int(整型): 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值 ...

  4. UniqueIdentifier 数据类型 和 GUID 生成函数

    UniqueIdentifier 数据类型用于存储GUID的值,占用16Byte. SQL Server将UniqueIdentifier存储为16字节的二进制数值,Binary(16),按照特定的格 ...

  5. SQL Server常见数据类型介绍

    数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...

  6. 由js apply与call方法想到的js数据类型(原始类型和引用类型)

    原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...

  7. python 数据类型 ----字典

    字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...

  8. SQL数据类型

    1.Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多8,000个字符. n varchar(n) 可变长度的字符串.最多8,000个字符.   varchar ...

  9. 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

    运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...

随机推荐

  1. hdu 2037 这个夏天不AC

    这个夏天不AC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  2. 实战caffe多标签分类——汽车品牌与车辆外观(C++接口)[详细实现+数据集]

    前言 很多地方我们都需要用到多标签分类,比如一张图片,上面有只蓝猫,另一张图片上面有一只黄狗,那么我们要识别的时候,就可以采用多标签分类这一思想了.任务一是识别出这个到底是猫还是狗?(类型)任务二是识 ...

  3. 权限控制方案之——基于URL拦截

    概述: 在系统开发过程中需要考虑的一个重要的问题就是权限问题,权限问题也是安全问题的一个范畴,我们要求在用户登录系统之后,要控制用户可以访问的系统资源,使得用户只可以访问到系统事先分配好的资源:这里的 ...

  4. 在.net MVC项目的区域中使用模板页

    1.首先 在网站的区域目录areas下   的   区域目录下的 Views目录下新建一个 _ViewStart.cshtml文件 如下图所示: 2.在shared文件下新建一个视图作为Layout ...

  5. 取消scrollView上下拉升

    if (ios_Vewsion_5_Or_Above) { _scrollView.bounces = NO; } else { for (id subview in _scrollView.subv ...

  6. 对XAML进行编辑的辅助类(XamlHelper)

    原文:对XAML进行编辑的辅助类(XamlHelper) // XamlHelper.cs// --------------------------------------------// 对XAML ...

  7. A Byte of Python (for Python 3.0) 下载

    在线阅读:http://www.swaroopch.org/notes/Python_en:Table_of_Contents 英文版 下载地址1:http://files.swaroopch.com ...

  8. 3ds Max建模,Blend设计,VS2008控制WPF的3D模型例子

    原文:3ds Max建模,Blend设计,VS2008控制WPF的3D模型例子 3ds Max建模,Blend设计,VS2008控制WPF的3D模型例子   所用的软件 3ds Max 9.0,Mic ...

  9. uva 11346 - Probability(可能性)

    题目链接:uva 11346 - Probability 题目大意:给定x,y的范围.以及s,问说在该范围内选取一点,和x,y轴形成图形的面积大于s的概率. 解题思路:首先达到方程xy ≥ s.即y ...

  10. cocos2d-x 在XML分析和数据存储

    无意中起到一周中的游戏,哎,时间过得总是打得那么快时,. .. 于是今天决定看一下之前不怎么非常熟悉的XML;(之前做游戏时数据的储存用到过XML.但这块是还有一个同事在做,所以不怎么熟悉), 看了看 ...