目录
在使用Java编程 的时候我们需要定义各种各样的变量,今天我们就来说一说Java当中的那八个基本的变量吧
一.整形类
1.int
代码示例:
int a = 10;
System.out.println(a);
1.int是Java当中用到最多的整形类型,它的大小是4个字节,与C语言当中不同的是不论32位还是64位机器,int类型在Java当中始终都占4个字节的大小。
2.它的取值范围与所占空间的大小有关,4个字节等于32个比特位。那么除了最高位表示符号位以外,其余31位都为数值位,所以它的取值范围为 -2^31 —2^31-1。
3.与C语言不同,Java当中没有无符号int类型,所有的都是有符号的。
需要注意的是,所有的变量在定义的时候是都需要被初始化的,这也是Java比C语言安全的地方
2.short
代码示例:
short a = 10;
System.out.println(a);
1.short所占空间大小为2个字节。
2.同int一样,short也有取值范围,计算方法与int一致。大小范围为:-2^15 — 2^15-1。
因为取值范围比较小,所以一般情况下不推荐使用。
3.long
代码示例:
long a = 10L;
System.out.println("a的值是:" + a);
1.long所占空间大小为8个字节。
2.取值范围:-2^63 — 2^63-1。
在定义long类型的时候,我们一般会在它初始化的数值后加上L以表明它是长整型。
4.byte
代码示例:
byte b = 24;
System.out.println(a + " " + b);
1.byte所占空间的大小为1个字节。
2.取值范围:-2^7 — 2^7-1。
二.字符类型
1.char
代码示例:
char a = 'a';
char b = '汉';
char c = 98;//对照Unicode输出
System.out.println(a);
System.out.println(b);
System.out.println(c);
1.在Java当中char占用2个字节,这意味着它也可以被定义为单个汉字,这是与C语言当中不一样的。其次Java当中字符对照的是Unicode,因此内容相较于C语言的字符也更丰富。
三.浮点型
1.float
代码示例:
float b = 12.5f;//如果不加f会报错,从double类型转化为float会有损失
System.out.println(b);
1.float类型大小为4个字节。
我们在定义float类型时,需要在数值后加上f以表明为float类型,否则可能会报错。
2.double
代码示例:
double a = 12.5;
System.out.println(a);
1.double大小为8个字节。
相较于float只有4个字节大小,double占用的空间更大,所以double的精度更高,所以我们一般都会选用double类型。
4.布尔类
1.boolean
代码示例:
boolean flag = true;
System.out.println(flag);
1.boolean的大小在Java当中没有明确的规定。
2.boolean类型只有两个取值:true,false。因此它不能由任何其他数据类型强制转化而来。
整形提升:
在进行数据运算的时候,我们可能需要进行类型之间的运算比如:
int a = 10;
short b = 10;
b = a + b;
这种情况下运算的时候,因为a作为整形是4个字节,而short作为短整型是2个字节。那么系统在进行运算的时候会将右侧的短整型b提升成整形从而进行运算,那么结果也是一个整形是4个字节,但是左侧的b作为短整型只有两个字节,因此在运行程序的时候编译器就会报错:
所以当高字节类型需要转化成低字节类型时,我们需要进行强制转换:
int a = 10;
short b = 10;
b = (short)(a + b);
注意:小于四个字节的运算系统会提升至4个字节;如果运算的数据有高于4个字节的,那么就会提升至最高字节的类型运算
整形提升是为了提高运算效率!
5.String
String是Java当中特有的一类,在C语言当中并不存在
代码示例:
String str1 = "ABCD";
System.out.println(str1);
在字符串打印当中,我们经常需要和数字进行组合打印,注意:当字符串碰到数字时会主动把数字也转化成字符串的一部分:
String str1 = 522 + "";
System.out.println(str1);
而两个字符串需要连在一起的时候也可以用加号进行连接:
String str3 = "abcdefg";
String str4 = "abcd";
System.out.println(str3 + str4);
运行结果:
当然,我们在打印的时候要注意转义字符的问题,假如我们现在要打印一个:"hello"
我们想象中或许可以这样:
System.out.println(""hello"");
但事实上这样是会出错的正确的方法是:
System.out.println("\"hello\"");
下面是一些经常使用到的转义字符:
6.数值运算符
1.加法,减法
运算符是“+”和“-”。
代码示例:
int a = 10;
int b = 20;
int c = a + b;
int d = b - a;
System.out.println("c的值是" + c);
System.out.println("d的值是" + d);
在使用的时候要注意整形提升!
2.乘法,除法
运算符是“*”和“/”。
代码示例:
int a = 10;
int b = 20;
System.out.println(a*b);
System.out.println(a/b);
在使用整形运算的时候是不会有小数位的,使用除法的时候要注意,如果需要小数位得使用double或是float类型进行运算。运行结果:
如果我们需要小数:
double a = 10;
double b = 20;
System.out.println(a*b);
System.out.println(a/b);
运行结果:
如果需要精确位数的保留就得使用格式化打印了。
3.取余
运算符:%
代码示例:
int a = 15;
int b = 2;
System.out.println(a%b);
运算结果:1。
7.逻辑运算符
较为简单的逻辑运算符有:==, !=, <, >, <=, >=。这几个较为简单就不一一赘述了,一般是用作布尔运算式。
1.逻辑与
运算符号:&&
代码示例:
int a = 15;
int b = 5;
if(a>10&&b<10)
{
System.out.printf("%d %d",a,b);
}
逻辑与的用法是,只有左右两个布尔运算式同时为真的时候,才会执行接下来的命令。
2.逻辑或
运算符号:||
代码示例:
int a = 5;
int b = 5;
if(a>10||b<10)
{
System.out.printf("%d %d",a,b);
}
逻辑或的用法是,左右两个布尔运算式只要有一个为真的时候,就会执行接下来的命令。
8.按位与,按位或,异或
1.按位与
运算符号:&
代码示例:
int a = 15;
int b = 5;
System.out.println(a&b);
按位与的规则是,将两个数字都转化成二进制后,每一位一一对应,如果都为1则结果为1,其余的都是0。
例子:1 1 1 0 1 0 1 0
0 1 0 0 1 1 0 1
结果:0 1 0 0 1 0 0 0
2.按位或
运算符号:|
代码示例:
int a = 15;
int b = 5;
System.out.println(a|b);
按位与的规则是,将两个数字都转化成二进制后,每一位一一对应,有一个为1则结果就为1,只有都是0的时候才为0。
例子:1 1 1 0 1 0 1 0
0 1 0 0 1 1 0 1
结果:1 1 1 0 1 1 1 1
3.按位异或
运算符号:^
代码示例:
int a = 15;
int b = 5;
System.out.println(a^b);
按位与的规则是,将两个数字都转化成二进制后,每一位一一对应,如果相同则结果为0,不一样则为1。
例子:1 1 1 0 1 0 1 0
0 1 0 0 1 1 0 1
结果:1 0 1 0 0 1 1 1
4.按位取反
运算符号:~
代码示例:
int b = 5;
System.out.println(~b);
按位与的规则是,将两个数字都转化成二进制后,如果是1结果就为0,反之亦然。
例子:1 1 1 0 1 0 1 0
结果:0 0 0 1 0 1 0 1
9.移位运算符
1.左移
运算符:<<
代码示例:
int b = 5;
System.out.println(b << 1);
上述代码的意思是b转化成二进制之后向左移动一位,最右边空出来的一位补0
例: 0000 0100 1010 << 1
结果:0000 1001 0100
运算结果相较于原数值扩大了2^n(n为左移位数)
2.右移
运算符:>>
代码示例:
int b = 5;
System.out.println(b >> 1);
上述代码的意思是b转化成二进制之后向移动一位,最左边空出来的一位补原符号位数值。
例: 1000 0100 1010 >> 1
结果:1000 0010 0101
运算结果相较于原数值缩小了2^n(n为右移位数)
3.无符号右移
运算符:>>>
代码示例:
int b = 5;
System.out.println(b >>> 1);
上述代码的意思是b转化成二进制之后向右移动一位,最右边空出来的一位一律补0。
例: 1000 0100 1010 >>> 1
结果:0000 0010 0101
好了,上述就是Java当中的基础数据类型和运算符的内容了,创作不易,喜欢的话请点个赞吧!