JAVA基础---基本数据类型

JAVA数据类型分为:基本数据类型和引用数据类型

基本数据类型
取值范围公式:-2(位数-1) -> 2(位数-1)-1

  • 整数型
类型所占字节数取值范围
字节: byte1 byte-27 ~ 27-1 (-128~127)
短整型:short2 byte-215 ~ 215-1
整型:int4 byte-231 ~ 231-1
长整型:long8 byte-263 ~ 263-1
  • 浮点型(小数型)
类型所占字节数取值范围
浮点数型:float4 byte3.402823e+38 ~ 1.401298e-45
双精度类型:double8 byte1.797693e+308~ 4.9000000e-324
  • 字符型(文本型)
类型所占字节数取值范围
char2 byte0 ~ 216-1
  • 布尔型
类型所占字节数取值范围
boolean1 bytetrue (真)/ false(假)

如果JAVA中出现了一个整数数字,那么这个数字默认为int

 100; //为int类型

//如果我们想要把这个数字变成byte类型,就在值后面加一个B,表面它是byte类型

100B; //byte类型

一样道理,100S表示是short类型

100S; //short类型

double型相比float型来说存储范围更大且精度更高,所以在默认或者不声明情况下都是double型的

18.98; //默认为double型

如果想指定用float型,可以创建变量时声明或者在值后加一个大写的 ‘F’ ;

float b = 18.98; //创建变量时声明
double c = 18.98F; //c也为float类型,也因为在值后面加了'F'

命名规范
数据类型 变量名 = 值 ;

byte a = 10;
short b = 10;
int c = 100;
long d = 10;
float e = 3.14f;
double f = 3.14;
char g = '中';
boolean bool = true;//值为真

byte:

byte类型的数据是8位带符号的二进制数。最高位表示正负,0为正,1为负。

java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127

short:

short 数据类型是 16 位、有符号的以二进制补码表示的整数
最小值是 -32768(-2^15);
最大值是 32767(2^15 - 1);
Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
默认值是 0;

int:

int 数据类型是32位、有符号的以二进制补码表示的整数;
最小值是 -2,147,483,648 ~ 2,147,483,647(-231 ~ 231 - 1);

long:

当对整数的计算结果可能超出int数据类型的范围时使用。

其范围是 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 (-263 ~ 263 - 1)。

float:

默认值是 0.0f;
浮点数不能用来表示精确的值,如货币;

double:

double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
浮点数的默认类型为double类型;
double类型同样不能表示精确的值,如货币;
默认值是 0.0d;

boolean:

boolean数据类型表示一位的信息;
只有两个取值:true 和 false;
这种类型只作为一种标志来记录 true/false 情况;
默认值是 false;

char:

注意:char型只能放单个字符!

char a='a';  //任意单个字符,加单引号。

char a='中';//任意单个中文字,加单引号。

char a=111;//整数。0~65535。十进制、八进制、十六进制均可。输出ASCII表中对应的字符。

每一个char类型的字符都能在ASCII表中找到对应的符号,所以在给char型的变量赋值时可以写字符也可以写数字.

示例:

char m='a';  ——a。

char m='a'+'b';  ——Ã。  //char类型相加,提升为int类型,输出对应的字符。注,在CMD.exe用输出结果是 '?' ,不同的编码输出显示不一样。Eclipse中须改成UTF-8。

int m='a'+'b';   ——195//195没有超出int范围,直接输出195。

char m='a'+b;  ——报错。//因为b是一个变量。

char m=197;  ——Ã。 //输出字符编码表中对应的字符。

char m='197;  ——报错。//因为有单引号,表示是字符,只允许放单个字符。

char m='a'+1;  ——b。//提升为int,计算结果98对应的字符是b。

char m='中'+'国';  ——42282char m='中'+'国'+'国'+'国';  ——报错。intchar有损失。因为结果已经超出char类型的范围。

int m='中'+'国'+'国'+'国';  ——86820

char m='中'+1;  ——丮。//1是int,结果提升为int,输出对应的字符。

char m='中'+"国";  ——报错。String无法转换为char。

System.out.println('中'+"国");  ——中国。//没有变量附值的过程。String与任何字符用“+”相连,转换为String。

ASCII表
ASCII表

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值