数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、网站设计、莘县网络推广、小程序开发、莘县网络营销、莘县企业策划、莘县品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供莘县建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
数据类型是语言的抽象原子概念,可以说是语言中基本的单元定义,Java语言提供了八种基本类型。六种数字类型(四个整数型(默认是int 型),两个浮点型(默认是double 型)),一种字符类型,还有一种布尔型。
一、整数类型:
byte、short、int、long都是表示整数的,只不过他们的取值范围不一样。
1、byte:
byte数据类型是8位、有符号的,以二进制补码表示的整数;(256个数字),占1字节。最小值是-128(-2^7);最大值是127(2^7-1);默认值是0;
byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一;
例子:byte a = 100,byte b = -50。
2、short:
short数据类型是16位、有符号的以二进制补码表示的整数,占2字节。最小值是-32768(-2^15);最大值是32767(2^15 - 1);
Short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一;
默认值是0;
例子:short s = 1000,short r = -20000。
3、int:
int数据类型是32位、有符号的以二进制补码表示的整数;占3字节。最小值是-2,147,483,648(-2^31);最大值是2,147,485,647(2^31 - 1);一般地整型变量默认为int类型;默认值是0;
例子:int a = 100000, int b = -200000。
4、long:
long数据类型是64位、有符号的以二进制补码表示的整数;占4字节。最小值是-9,223,372,036,854,775,808(-2^63);最大值是9,223,372,036,854,775,807(2^63 -1);这种类型主要使用在需要比较大整数的系统上;默认值是0L。
可以看到byte和short的取值范围比较小,而long的取值范围太大,占用的空间多,基本上int可以满足我们的日常的计算了,而且int也是使用的最多的整型类型了。在通常情况下,如果JAVA中出现了一个整数数字比如35,那么这个数字就是int型的,如果我们希望它是byte型的,可以在数据后加上大写的 B:35B,表示它是byte型的,同样的35S表示short型,35L表示long型的,表示int我们可以什么都不用加,但是如果要表示long型的,就一定要在数据后面加“L”。
二、浮点型:
浮点型包括单精度浮点型(float)和双精度浮点型(double)。double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的。
1、float (单精度浮点型)
一个float 32位,占用4个字节,例3.2F,默认是0.0f, 3.402823e+38 ~1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)。
2、double (双精度浮点型)
一个dobule 64位 占用8个字节,例3.2,默认是0.0, 1.797693e+308~4.9000000e-324 占用8个字节
boolean:
boolean数据类型表示一位的信息;
只有两个取值:true和false;
这种类型只作为一种标志来记录true/false情况;
默认值是false;
例子:boolean one = true。
三、字符型
char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空。
四、布尔
boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false。
import java.util.HashSet;
import java.util.Set;
public class ShortSet {
public static void main(String[] args) {
SetShort s = new HashSetShort();
for (Short i = 0; i 100; i++) {
short j = 100;
s.add(j);
short w = 100;
w = (short) (w - 1 + 1);
s.remove(w);
}
System.out.println(s.size());
for (Short i = 0; i 100; i++) {
s.add(i);
//关键的问题在于这里 i- 1
//Type mismatch: cannot convert from int to short
//下面这句话会报错,为什么,因为i-1是int类型,不是short类型的,如果你像我上面做的进行强制类型转化的话,看下面
// short st = i - 1;
s.remove(i - 1);
}
System.out.println(s.size());
for (Short i = 0; i 100; i++) {
s.add(i);
//结果就是1,最后一个100没有进行删除操作
s.remove((short)(i - 1));
}
System.out.println(s.size());
}
}
import java.util.ArrayList;
import java.util.List;
public class test {
public static void main(String args[])
{
ListString listAAB = new ArrayListString();
ListString listABC = new ArrayListString();
ListString listNoAAB = new ArrayListString();
ListString listNoABC = new ArrayListString();
for(int i=0;i1000;i++){
String s = ""+i;
while(s.length()3)
{
s = "0"+s;
}
char c1 = s.charAt(0);
char c2 = s.charAt(1);
char c3 = s.charAt(2);
if(c1==c2c1!=c3){
listAAB.add(s);
}else{
listNoAAB.add(s);
}
if(c1!=c2c1!=c3c2!=c3){
listABC.add(s);
}else{
listNoABC.add(s);
}
}
System.out.println("AAB"+listAAB);
System.out.println("ABC"+listABC);
System.out.println("NoAAB"+listNoAAB);
System.out.println("NoABC"+listNoABC);
}
}