详解Java当中的基础数据类型及运算符

目录

一.整形类

1.int

2.short

3.long

4.byte

二.字符类型

1.char

三.浮点型

1.float

2.double

4.布尔类

1.boolean

整形提升:

5.String

6.数值运算符

1.加法,减法

2.乘法,除法

 3.取余

7.逻辑运算符

1.逻辑与

 2.逻辑或

8.按位与,按位或,异或

1.按位与

2.按位或

3.按位异或

4.按位取反

9.移位运算符

1.左移

2.右移

3.无符号右移


在使用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当中的基础数据类型和运算符的内容了,创作不易,喜欢的话请点个赞吧!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值