黑马程序员--02常量和进制的学习

  ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

一、常量的类型

    1.整数常量,就是所有的整数。比如1,222,33。

    2.小数常量,就是所有的小数,比如-22.2,33.33

    3.布尔型常量,这只包含2个TRUE,false

    4.字符型常量,这个就是:'A','B',‘你’。字符型常量可以是汉字的。

    5.字符串型常量,"yamade","burnning".

    6.null型常量,这个在对象中很常用。

二、三种进制

    1.二进制,很好理解逢二进一。

    (一)、简单的二进制加法运算

     0000    0101

  + 0010   1101

---------------------------

     0011     0010

     (二)、二进制的负数,二进制的负数是高位全部用1来补齐,比如-110

    我们知道110的二进制是

   0000 0000 0000 0000 0000 0000  0110 1110 

 那么-110就是110取反在+1

    110取反就等于

    1111 1111 1111 1111 1111 1111 1001 0001

+ 0000 0000 0000 0000 0000 0000 0000 0001

----------------------------------

    1111 1111 1111 1111 1111 1111 1001 0010

我们用地代码来验证下是否正确。

class BinaryDemo{
public static void main(String[] args){
{
    System.out.println(Integer.toBinaryString(110));
    System.out.println(Integer.toBinaryString(-110));
    }
    }
}

可以看到我们计算是正确的。

(三)、二进制转十进制、八进制、十六进制

     二进制转十进制是比较简单的。0101=2(0次幂)+2(2次幂)=5。在复杂点的1111 1111=2(0次幂)+....+2(7次幂)=255

class BinaryDemo{
public static void main(String[] args){
{
    System.out.println(Integer.toBinaryString(5));
    System.out.println(Integer.toBinaryString(255));
    }
    }
}

可以看到是正确的。

   二进制转十六进制和八进制分别是取四位,三位进行转换。比如:1101转换十六进制=2(0)+2(2)+2(3)=1+4+8=13=0XD, 转换八进制,取3位=15.现在验证下:

class BinaryDemo{
public static void main(String[] args){
{
	int i=015;
	int j=0xD;
    System.out.println(i);
    System.out.println(j);
    }
    }
}

也是正确的

(二)、八进制、十六进制。按照名字来理解就是8进1,16进1。需要注意的是16进制0-9是正常表示的。10,11,12,13,14,15是用字母A-F来表示的。

   他们之间的转换,我现在的理解都是通过二进制作为中间件来转换,然后再去其他进制。万能的二进制。


三、变量的学习

    变量基本数据类型一共有八种分别是:byte,short,int,long,float,double,bool,char。下这里需要注意的整数型变量有byte,short,int,long,浮点型主要是floa,double

。这里需要记住这些变量的范围和在何处使用。

byte、short、int、long都是表示整数的,只不过他们的取值范围不一样。
byte(字节类型) 一个byte 8位,取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)默认是0
short(短整型) 一个short 16位,取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)默认是0
int(整型)        一个int 32位,取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)默认是0
long(长整型)   一个long 64位,取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)默认是0L或0l推荐用大写;

char型变量,由16位组成。所以他可以是用(65535)个不同的字符可以用。这里需要注意char和整形变量之间经常是互转的。

float浮点型变量,它是由于32位组成

double浮点型变量,它是由64位组成的,系统默认浮点型变量是double。

1、当整数类型的数据使用字面量赋值的时候,默认值为int类型,就是直接使用0或者其他数字的时候,值的类型为int类型,所以当使用    long a = 0这种赋值方式的时候,JVM内部存在数据转换。
2、浮点类型的数据使用字面量赋值的时候,默认值为double类型,就是当字面两出现的时候,JVM会使用double类型的数据类型。

class VarDemo{
public static void main(String[] args){
{
	byte a=127;
	int b=a;
	float c=3.141f;
	double e=c;
	char f='A';

	System.out.println(a);
	System.out.println(b=a+1);
	System.out.println(c);
	System.out.println(c+e);
	System.out.println((char)(f+(long)e+(short)c));
    }
    }
}

从中我们可以看到byte的赋值范围最小,float和double的变量相加精度会增加。然后就是char型和整数型的自动转化,这里我么就要学会估算数据大概的范围是,我认为这很有必要,未来的软件开发前期对于软件的规划肯定会有相关的考虑,如果前期做的比较好,可能后期会节省大量的修改维护功夫

  ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值