1.将按位运算操作,尤其是左移和右移(有无符号)整理到自己的博客中。

  重点说明清晰负数的运算过程。


2.byte数到十六进制字符串表现形式程序设计原理和实现方式整理到博客中。


3.定义函数,计算一位整型数组所有元素的和。

4.数组的拷贝。


5.堆内存默认是1/4,

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

java -Xmx//设置堆内存最大值

-Xms//设置堆内存初始值

className//类名


1.

//位运算

a = 3 ; b = -3         

 二进制形式 +3:0000 0011 取反加一  -3:1111 1101

有符号移动:a<<2 向左移动两位 0000 1100 十进制是12  b<<2 向左移动两位 1111 0100 十进制是-12

            a>>2 向右移动两位 0000 0000 十进制是0   b>>2 向右移动两位 1111 1111 十进制是-1

无符号移动:a<<<2 向左移动两位 0000 1100 十进制是12  b<<<2 向左移动两位 1111 0100 十进制是-12

            a>>>2 向右移动两位 0000 0000 十进制是0   b>>>2 向右移动两位 0011 1111 十进制是63

2.

/*

*字节转十六进制

*十六进制每位0-f 换做二进制4位 所以把byte分为两段,分别和0000 1111相与 &,所得出的值即为十六进制数,高位向右移动四位跟低位操作一样,并定义十六进制字符数组,让高地位得出的整数作为数组下标取出十六进制相应字符,得出返回值。(注意返回值是拼接字符串,返回值类型为String)

*/

class Byte2Hexade{

public static void main(String[] args){

byte b=110;

System.out.print(byte2Hexade( b ));

}

public static String byte2Hexade(byte b1){

int  low =b1 & 0x0f;

int  hig =(b1>>4 ) &0x0f;

char[] c=new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

return ( " "+c[hig] + c[low]+" ");

}

}


3.

class SumDemo{

public static void main(String[] args){

sum(new int[]{1,3,5,7});

}

public static void sum(int[] arr){

int sum=0;

for( int i=0; i<arr.length ; i++ ){

sum=sum+arr[i];

}

System.out.println(sum);

}

}

4.

class  CopyArray{

public static void main(String[] args){

print(copy(new int[]{2,4,6,8,10}));

}

public static int[] copy(int[] arr){

int[] arry=new int[arr.length];

for( int i=0; i<arr.length; i++ ){

arry[i]=arr[i];

}

return arry;

}

public static void print(int[] arr){

for(int i=0 ;i<arr.length ;i++ ){

System.out.print(arr[i]+" ");

}

}

}

5.堆内存的默认最大空间是物理内存的1/4,在运行java程序时,可以通过 -Xms初始堆内存的大小,-Xmx设置最大堆内存的大小;