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. 哪个项目管理工具好用到哭?JIRA VS 华为软件开发云

    一.产品介绍 JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域. 华为软件开发云 (DevCloud ...

  2. Struts2——(5)转发和重定向(跨业务模块)

    一.重定向redirect(默认是转发dispatcher)和转发的区别? 1.重定向浏览器的网址发生变化(相当于请求了两次),转发浏览器的网址不发生变化(只请求了一次). 2.重定向的过程:发送请求 ...

  3. C#并发集合

    并发集合   并发集合 1 为什么使用并发集合? 原因主要有以下几点: System.Collections和System.Collections.Generic名称空间中所提供的经典列表.集合和数组 ...

  4. matplotlib tricks(关闭坐标刻度、坐标轴不可见)

    plt.gray():只有黑白两色,没有中间的渐进色 1. 关闭坐标刻度(plt 与 AxesSubplot) plt plt.xticks([]) plt.yticks([]) 关闭坐标轴: plt ...

  5. DDD实战6 单元测试

    1.在Products解决方案文件夹下面新建一个项目 一个单元测试项目 Product.Tests.

  6. HDU 1867 A + B for you again KMP解决问题的方法

    这是一个典型问题KMP申请书. 结果求增加两个字符串.该法的总和是相同的前缀和后缀也是字符串的字符串,您将可以合并本节. 但是,这个问题是不是问题非常明确的含义,因为不是太清楚,外观这两个字符串的顺序 ...

  7. Select2使用方法汇总

    引用: <script src="~/Content/plugins/select2/select2.min.js"></script> 1.简单使用 $. ...

  8. Fidder模拟发送请求

    在Fiddler的Composer一栏,可以模拟请求 举例 首先通过浏览器访问页面http://baidu.com/ ,在右侧可以拿到请求情况 在Inspectors一栏可以看到请求和响应结果,复制请 ...

  9. 一款好用的视频转换gif的小软件——抠抠视频秀

           在平常生活中,我们拍下来精彩的视频想要转换为gif动画,或是想要录制网页上的视频.电脑上的鼠标操作等等,大家可以使用以下这款很好用的视频转换gif的小软件——抠抠视频秀,这个软件操作简单 ...

  10. 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 ...