java中的数据类型java有4种类型分别是整数类型、浮点类型、字符型、布尔型。java的八中分类分别是byte、short、int、long、float、double、char、boolean简称4类8种。
那Java中字符串string属于什么数据类型?
Java中的字符串String属于引用数据类型。因为String是一个类。
常量介绍什么是常量:
在代码执行过程中其值不发生改变的量。
Java中常量的分类
1.字面值常量
2.自定义常量
字面量常量的分类
1.字符串常量
2.整数常量
3.小数常量
4.字符常量
5.布尔常量
6.空常量
变量变量的介绍:
在程序执行的过程中,在某个范围内其值可以发生改变的量.
使用变量注意事项:
1.作用域问题
变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
2.初始化值问题
没有初始化值不能直接使用。
3.一行上建议只定义一个变量
可以定义多个,但是不建议。
不同进制数据的表现形式注意:
java中如果数值不指明进制类型,java默认都会当成是十进制
解决方法:
0b10 在十前面加上0b表示该数是二进制数不加的化就是十进制数10,返回结果为十进制数2
010 同理在十进制前面加上0表示该数是八进制,输出结果为十进制数8
0x10 同理在十进制前面加上10表示该数是八进制,输出结果为十进制数16
数据类型的概述和分类byte1字节8位-128(-2^7) ~ 127(2^7-1)
short2字节16位-32768(-2^15)~ 32767(2^15 - 1)
int4字节32位-2,147,483,648(-2^31)~ 2,147,483,647(2^31 - 1)
long8字节64位-9,223,372,036,854,775,808(-2^63) ~ 9,223,372,036,854,775,807(2^63 -1)
float4字节32位-3.40310^38 ~ 3.40310^38
double8字节64位-1.79810^308 ~ 1.79810^308
char2字节16位0 ~ 2^16 - 1 = 65535
boolean1字节8位注意:
数值类型在初始化变量时也可以赋值字符,java中会自动将相应的字符转换成ascII中字符所对应的数字。例如'a'在ASCII码表中对应的值为97。
当然字符中也可以定义数字与上面同理会自动转换。例如:char a=97;输出结果则为’a‘。
类型转换基本数据类型之间互相转换的规则
1. 八种数据类型当中除布尔类型之外剩下的七种类型之间都可以互相转换。
2. 小容量想大容量转换,称为自动类型转换,容量从小到大排序
byte
char<
注意:
任何浮点类型不管占用多少字节,都比整数型容量大。
char和short可以表示的种类数量相同,但是char可以取更大的正整数(因为char没有正负的概念)
3. 大容量转换成小容量,叫做强制类型转换,需要加强制类型转换符,程序才能编译通过,但是在运行阶段可能会损失精度,所以谨慎使用
强制转换格式:目标数据类型 变量名=(目标数据类型)(被转换的数据)
精度损失举个例子:
int类型是占4个字节也就是说初始化的时候内存就开出来四个字节拱其使用,当你把int转换成byte时,那么之前的4个字节就会变成1个字节如果int数表示数的范围在-128~127之间的话那没有什么但是如果超出范围就会导致精度损失,如果不加强制转换符它就会报错
4. 当数字字面值没有超出byte,short,char的取值范围,可以直接赋值给byte,short,char类型的变量。
5. byte,short,char混合运算的时候,各自先转换成int类型再做运算。
6. 多种数据类型混合运算,先转换成容量大的那种类型再做运算。
注意:
整数常量在做混合运算时整数默认是int,浮点数默认是double。
举个例子说明一下:
byte b4 = 3 + 4; 这个表达式案例来说是要报错的但是没有
原因:
我们需要了解一个java概念那就是Java常量优化机制。虽然在java中常量整形的默认数据类型是int,浮点形的默认数据类型是double,但也可将其赋值给byte short,只是当常量的值在被赋给变量数据类型范围之外时,打印该变量时的结果不对。这样我们就明白为什么不会报错了。
单位换算表1字节=1Byte。`
1 Byte = 8 bit
1 KB = 1024 Byte
1 MB = 1024 kB
1 GB = 1024 MB
1 TB = 1024 GB
转义字符\n 表示换行符
\t 表示制表符 既tab键的功能
算术运算符的基本用法运算符的分类:
算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
三目运算符
算数运算符有哪些:
+ , - , * , / , % , ++ , --
注意事项:
1.整数相除只能得到整数。如果想得到小数,请使用浮点数
2./获取的是除法操作的商,%获取的是除法操作的余数
%运算结果的符号,取决于参与运算是左边的符号
java语言中i++与++i的区别和使用中的问题首先我们需要了解:
1. ++i 原理,等价于
i = i+1;
return i;
2. i++ 原理,用代码分析表示如下:
int temp = i;
i = i + 1;
return temp;
以下为个人查找网络所得到的理解
举例说明:
int a=0;
int b=0;
b=a+1;
上面的计算过程如下,该过程牵扯一个临时变量的问题,i++和++i的区别上面已经说了。
对于b=a+1;其实其实计算过程如下:
首先int temp=a;然后a=a+1,最后将temp的至再赋值给b所以b的结果为0.
下面的博客文章对于上面的问题讲的很生动详细有兴趣可以看看
赋值运算符的基本用法赋值运算符有哪些:
=, +=,-=,*=,/=,%=
a+=1等价于a=a+1,-=同理
注意事项:
1.基本的赋值运算符:=
把=右边的数据赋值给左边。
2.扩展的赋值运算符:+=,-=,*=,/=,%=
举例说明
a+=1等价于a=a+1,其他同理
3.赋值运算符要求左边的数据必须是一个变量
关系运算符关系运算符有哪些:
== ,!= , < , > , <= , >= , instanceof(后面讲解)
注意事项:
无论你的操作是简单还是复杂,结果是boolean类型。
"=="不能写成"="。