java笔记1java语言基础

java在执行字节码文件时执行以下三步:加载代码,校验代码,执行代码

标示符只能以字母下划线和美元符开头

~:对数据的每一个二进制位取反;

&:参与运算的两个值,相应位均为1,则结果为1,否则为0。

|:参与运算的两个值,只要相应位有一个为1,则结果为1,否则为0。

^:参与运算的两个值,相应位相同,则结果为0,否则为1。

>>:有符号右移,使用“符号扩展”:若值为正,则高位插入0,若值为负,高位插入1 ;

>>>:无符号右移:各二进制若干位,移出低位被舍弃,高位补零。不考虑符号位。

<<:左移若干位,高位舍弃,低位补零;byte  64<<2  =  256        ????   

                byte   1000000    100000000    ????

public class ByteShift

{

    public static void main(String[] args){

        byte a=64,b;//a=01000000

        int i;

        i = a<<2;//100000000

        b = (byte)(a<<2);//00000000

        System.out.println("Original value of a: "+a);

        System.out.println("i and b: " + i + " " + b);

    }

}

---------- java ----------

Original value of a: 64

i and b: 256 0

public class Test2

{

    public static void main(String[] args){

        System.out.println(3+'1');

        System.out.println((char)(3+'1'));

        System.out.println((char)3+'1');

        System.out.println((char)30000);

        System.out.println((char)4);

        System.out.println('3'+'1');

    }

}

---------- java ----------

52

4

100

    int i = -17;

    pBinInt("i",i);

/*    for(int j=1;j<=32;j++)

    {

        i >>= 1;

        pBinInt("i>>=32",i);

    }

        i>>=31;

    i>>=1;*/

    i>>=32;

    pBinInt("i>>=32",i);

---------- java ----------

i, int: -17, binary:

   11111111111111111111111111101111

i>>=32, int: -17, binary:

   11111111111111111111111111101111

输出完成 (耗时: 0 秒)

bollean类型只有TRUE与FALSE两种类型,0和1不是,他们是整形

byte 1   short 2   int 4    long 8  float 4   double 8 最前面一位是符号位

数据类型        默认初始化值

byte            (byte)0

short            (short)0

int            0

long            0L

float            0.0f

double            0.0

char            ‘/u0000’=NUL

boolean            false

All reference type    null

你可能感兴趣的:(java笔记1java语言基础)