java数据类型

Java基础

1、数据类型

1.1 标识符

可以简单的理解为一个名字。在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、包名等。我们选择的名称就称为标识符,并且遵循以下规则:
A. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符。
B. 不能以数字开头。
C. 标识符是严格区分大小写的。
D. 标识符的命名最好能反映出其作用,做到见名知意。

1.2关键字

在java语言中已经被赋予特定意义的一些单词。一共有53个关键字。其中有两个保留字:const和goto。关键字不能被用作标识符!!
在这里插入图片描述

1.3 注释

Java代码的解释说明。不影响程序的运行,用于辅助读程。

//单行注释

/* 多行注释 */

/** 文档注释 */

2、数据类型

2.1 基本类型

位bit 字节byte 1byte=8bit
在这里插入图片描述

2.2 引用类型

引用类型是一个对象类型,他储存在引用类型变量中的值是指向内存空间的引用,就是地址。所指向的内存中保存着变量所表示的一个值或者一组值。
在这里插入图片描述

3、基本类型的字面值

3.1 整数字面值默认就是int类型
int a = 9999;//但是超出范围就会出错,
3.2 浮点数的字面值默认就是double类型
double a=3.14;//对

float a=3.14;//错,右面是double,float是四字节double是八字节存不下
3.3 字面值后缀l f d(不区分大小写)
long a = 99999999999;//报错!!超出范围,解决方案加数字后面L
long a = 99999999999L;//加后缀L,吧右侧默认的int变成long类型

float a = 3.14;//错,右面是double类型,解决方案数字后面加F
float a = 3.14f;

double a=3;//错,右面是int,解决方案数字后面加D或者改成3.0
double a=3d;
3.4 进制前缀

0x - 16进制
0 -8进制
0b -2进制
\u -char类型,16进制

4、基本类型转换

在Java类型转换中,一种数据类型转换为另一种数据类型。
数据类型转换方式有两种:>自动类型转换 < 与 >强制类型转换<

4.1 自动类型转换(隐式转换)

两种兼容类型转换,将一种小的类型的变量赋予另一种大的类型的变量时,会发生自动类型转换

byte a =12;
short b=a;//直接转换
int c = b;
long d = c;
//byte-->short-->char-->int-->long-->float-->double
4.2强制类型转换(显式转换)

两种兼容类型转换,将一种大的类型的变量赋予另一种小的类型的变量时,会发生强制类型转换

//需要进行强制转换
long d = 50l;
int c = (int)d;//将long型变量强制转换为int类型
short f = (short)c;//将int型变量强制转换为short类型

//注:小数转换整数,小数舍弃
double h = 12.53;
int i = (int) h;//将double型变量强制转换为int类型
System.out.println(i);//只会输出12

5、运算规则

5.1 运算的结果的数据类型与最大类一致

3/2 得1 ,而不是1.5,结果是int类型
3d/2 得1.5,相当于double/int,结果是double类型

5.2 byte,short,char三种比int小的整数,运算时会先自动转换成int
byte a=3;
byte b=4;
byte c=a+b;//错,运行时,byte会先自动转成int再运算,int+int还是int
5.3 整数运算溢出

整数运算,类似于一个中标,转到最大时,再转会回到最小。

//计算:光速运行一年的长度是多少米
System.out.println(300000000*60*60*24*365);//结果为:659193856
System.out.println(300000000L*60*60*24*365);//结果为:9460800000000000  --转换为long类型 
5.4 浮点数运算不精确
System.out.println(1-0.8);//结果为:0.19999999999999996
System.out.println(4.35*100);//结果为:434.99999999999994
5.5 浮点数的特殊值
System.out.println(8.0/0);//Infinity
System.out.println(0/0.0);//NaN
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值