JAVA修炼秘籍第二章《逐渐魔化》

18 篇文章 0 订阅
13 篇文章 0 订阅

JAVA修炼秘籍第一章:《痛苦的折磨》


1 — 数据类型细节部分

上一章节中,我们说到数据类型的介绍,这一章节我们先把JAVA中的数据类型的注意事项了解一下。

byte类型

在JAVA运算中,如果运行以下代码,你会发现程序是错误的。

public class Test {
    public static void main(String[] args) {
        byte a=10;
        byte b=40;
        byte c=a+b;
        System.out.println(c);
    }
}

第一想法肯定是,这么简单,运行结果一定是50,但是JAVA程序不会这样想,在JAVA中byte类型来运算过程中会进行整型提升,也就是说最后结果会是int类型,int与byte类型不同,代码一定就会出错,所以想要代码正确,一定要进行类型转换。如下:

public class Test {
    public static void main(String[] args) {
        byte a=10;
        byte b=40;
        byte c=byte)a+b;
        System.out.println(c);
    }
}

short,int,long类型

这些类型如果你学习过C语言,那么他们是相似的,大小与运用都是一样的,注意使用时的类型提升,还有类型转换就可以了。

float,double类型

首先先说一下float类型,在JAVA中如果你想给一个float类型的变量赋值,请问你会怎么写,是不是如下。

public class Test {
    public static void main(String[]args){
        float a=4.5;
        System.out.println(a);
    }
}

但其实这样是错误的,因为JAVA中,小数默认位double类型,如果你想给一个float类型的变量赋值,你得给JAVA一个提示,我这个小数是float类型别瞎动,所以代码应该如下:

public class Test {
    public static void main(String[]args){
        float a=4.5f;
        System.out.println(a);
    }

再来说说double类型,double类型也没啥说的呀,说啥呀,就是可以存储小数的类型,精确度到小数点后8位。

boolean类型

首先boolean类型只有两个值,可千万别给整什么别的,只有true与false两个值,赋值别的都是错误的代码,注意JAVA中是没有非0为真,0为假这一说,只有true与false但是你可以理解为真假,自己理解,别说我说的哈哈哈哈。

final 常量关键字

可以修饰变量为常量,比如:

final int A=10;

那这个A的赋值就是常量表达式了,在JAVA中为了书写规范,修饰后的常量名全部改为大写,为了后续代码的区分,你一看到全是大写的就知道,哦,原来是常量的思密达。

操作符介绍

+,-,*,%,\

这些不用过多介绍吧,注意\号与%号的使用就可以了。

符合运算符

+=,-=,\=,*=,%=,这些运算符对应的也就是如下的程序。

int a=0;
        int b=0;
        int c=0;
        int d=0;
        int e=0;
        a=a+10;
        b=b-10;
        c=c*10;
        d=d/10;
        e=e%10;
        a+=10;
        b-=10;
        c*=10;
        d/=10;
        e%=10;

++,- -

用来前置++,或后置++,前置- -,或后置- -,对应代码如下。

        int a=1;
        int b=0;
        b=a++;
        这里后置++的赋值后结果就是a=2,b=1,记住后置++是先赋值再+1,
        也就是a先赋值给b,a再+1;
        a=1;
        b=0;
        b=++a;
        这里前置++的赋值结果就是a=2,b=2,记住前置++是先+1再赋值,
        也就是a先+1,再赋值给b.

逻辑运算符

&&,||,!,这三个非常好理解,用中文说就是,并且,或者,非什么而什么(反逻辑),就是这么简单粗暴,介绍一下吧。

&&:一般用于—>(表达式1&&表达式2),如果表达式1为false,表达式2不用计算,整体返回结果为false,如果表达式1为true,表达式2也为true,整体返回结果为false,(也就是两个表达式都要成立)。
||:一般用于—>(表达式1||表达式2),如果表达式1为true,表达式2不用计算,整体返回结果为true,如果表达式1为false,表达式2为true,整体返回结果为true,如果两个表达式都为false整体结果为false,(也就是两个表达式有一个成立,结果就是成立的)。
!:这个就是可以理解为(!表达式),假设表达式为false,那么就反过来为true。

位运算符

&,|,^,~,二进制进行运算,
&(按位与):假设如下,
a&b=3&5=下面:
011
101
结果:
001
最终结果转换为10进制就是1,c=1。
1,0为0。
1,1为1。
0,0为0。

		int a=3;
        int b=5;
        int c=a&b;

|(按位或):假设如下,
a|b=3|5=下面:
011
101
结果:
111
最终结果转换为10进制就是7,c=7。
1,0为1。
1,1为1。
0,0为0。

		int a=3;
        int b=5;
        int c=a|b;

^(按位异或):假设如下,
a ^ b=3 ^ 5=下面:
011
101
结果:
110
最终结果转换为10进制就是6,c=6。
1,0为1。
1,1为0。
0,0为0。

		int a=3;
        int b=5;
        int c=a^b;

~ (按位取反):也就是:如果该位为 0 则转为 1, 如果该位为 1 则转为 0

移位运算

<<,>>,>>>,首先在JAVA中是不存在无符号类型的变量的
<<(左移运算符)
例如:a=3等于a=011:那么a<<=1也就是左移一位等于a=110。
>> (左移运算符)
例如:a=3等于a=011:那么a>>=1也就是右移一位等于a=001。(是负数补1,正数补0)。
>>> (无符号右移)a=3等于a=011:那么a>>>=1也就是右移一位等于a=001。(不管正负都补0)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值