3021Java_数据类型

 

1.分类

  • Java数据类型
    • 基本数据类型
      • 数值型
        • 整数类型
        • 浮点类型
      • 字符型
      • 布尔型
    • 引用数据类型
      • 接口
      • 数组


 

2.基本数据类型

2.1 综述

java的8种基本数据类型(简单数据类型)

boolean  byte  short  char  int  long  float  double

 分为以下四大类型

1 逻辑类型:boolean
2 整数类型:byte short int long
3 字符类型:char
4 浮点类型:float double
 

 

2.2 简要介绍

逻辑类型常量 
true 
false
 
变量用boolean声明
boolean man, male=true;
有说1位,有说存储范围视内存而定
整数类型int型常量 
123//十进制
077//八进制  零开通
0x3ABC//十六进制  零小xyz的x
 
变量用int声明
int x = 12;

-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位
字符类型常量

英文单引号括起Unicode

表中的一个字符

‘a’ ‘好’  ‘&’
 
变量用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次方

又被称作单精度类型,

可以精确到7位有效数字

变量用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类型的两倍,

又被称作双精度类型

变量用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/10;
System.out.println(f==d);//结果为false

float d1 = 423432423f;
float d2 = d1+1;
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 类型转换运算

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 = 300;
byte bx = (byte)x;    //值为44

5.不能在布尔类型和任何数值类型之间做强制类型转换

 

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 = 4; double area = PI * r * r; double circle = 2 * PI * r; System.out.println("area = " + area); System.out.println("circle = " + circle); } }
2.4.2 变量

Java是一种强类型语言,每个变量都必须声明其数据类型,可以是基本类型,也可以是引用类型

变量的分类:局部变量、实例变量、静态变量

变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。

格式为:type  varName [=value][,varName[=value]...]; 
//[]中的内容为可选项,即可有可无
数据类型  变量名  [=初始值] [,变量名  [=初始值]…];
double  salary;
long  earthPopulation;
int  age;

 



 

3.引用数据类型

 

3.1 数组

 

3.2 类

 

3.3 接口

 

转载于:https://www.cnblogs.com/ZanderZhao/p/10876695.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值