> 数据类型其实就是在内存中用不同的结构对数据进行存储和运算。
## 基本数据类型
#### 数值型
整数型 :
byte (-128-127) short int(-2147483648--2147483647) long 整数 (整数溢出编译报错)
浮点型:
float 小数加f
double 默认类型
>[success] 在实际开发中,我们一般使用 int、double
#### 字符型
char 只能有一个字母,数字
表现方式 单引号
> 在 Java 中是没有表现多个字符的基本数据类型的,但是在 Java 中提供了一个 String 类,去表现字符串。
#### 布尔类型
boolean 表示逻辑中的真和假,值只有 true / false。
## Java数据类型的转换
我们知道,Java的数据类型分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对于数据类型,Java的变量类型为布尔型boolean;字符型char;整型byte、short、int、long;浮点型float、double。其中四种整型变量和两种浮点型变量分别对应于不同的精度和范围。此外,我们还经常用到两种类变量,即String和Date。对于这些变量类型之间的相互转换在我们编程中经常要用到,在下面的论述中,我们将阐述如何实现这些转换。
#### 简单数据类型之间的转换(整型、实型、字符型)
类型由低级到高级分别为(byte,short,char)--int--long--float--double
> 布尔型数据只有两个值:true和false,它不对应任何数值,因此,它不能与数字进行相互转换。
* 自动类型转换
低级变量可以直接转换为高级变量,但是将double型变量赋值给float变量,不加强转的话会报错.
运算特性(参见整数默认类型int):自动类型提升(以大的为主,小的向大的提升b(byte)-->x(int))-
如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值
~~~java
int i='c';
System.out.println("output:" i);
//输出:output:99;
~~~
* 强制类型转换
*语法:( 数据类型 ) 数值*
~~~java
int i=99;
byte b=(byte)i;
char c=(char)i;
float f=(float)i;
~~~
>[danger] --------------------------php数据类型比较----------------------
## 基本数据类型
#### 数值型
整数型 :
int(-2147483648--2147483647) 大于2147483648的整数(整数溢出自动转换float)
浮点型:
float(同义double) 小数 12.0
#### 字符串型
String
**表现形式**
1. 单引号
2. 双引号
3. Nowdoc 结构(单引号)
~~~php
<?php
$str = <<<'EOD'
Example of string
spanning multiple lines
EOD;
?>
~~~
4. Heredoc 结构(双引号)
~~~
<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
?>
~~~
>[warning]单双引号区别:变量+转义字符会被解析
#### 布尔类型
boolean 表示逻辑中的真和假,值只有 true / false。