IT十八掌作业_java基础第四天_复习运算符、进制转化和数组

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

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

 答:

 /**

 * 运算符演示

 */

class CalcDemo{

    //入口点

    public static void main(String[] args){


//定义整型变量

int a = 6 ;

int b = 8 ;


//+-符号

System.out.println("******  正负号 *********");

System.out.println("+a = " + (+a)) ;

System.out.println("-a = " + (-a)) ;

//算术运算符 + - * / %

System.out.println("******  算术运算符 *********");

System.out.println("a + b = " + (a + b));//

System.out.println("a - b = " + (a - b));//

System.out.println("a * b = " + (a * b));//

System.out.println("a / b = " + (a / b));

System.out.println("a % b = " + (a % b));


//赋值运算符  a += b ==> a = a + b 

System.out.println("******  赋值运算符 *********");

System.out.println("a += b = " + (a += b));//

System.out.println("a -= b = " + (a -= b));//

System.out.println("a *= b = " + (a *= b));//

System.out.println("a /= b = " + (a /= b));//

System.out.println("a %= b = " + (a %= b));//


//比较运算符

System.out.println("******  比较运算符 *********");

System.out.println("a == b = " + (a = b));//

System.out.println("a != b = " + (a != b));//

System.out.println("a > b = " + (a > b));//

System.out.println("a >= b = " + (a >= b));//

System.out.println("a < b = " + (a < b));//

System.out.println("a <= b = " + (a <= b));//


//逻辑运算符

boolean b1 = false ;

boolean b2= true ;

System.out.println("******  逻辑运算符 *********");

System.out.println("b1 | b2 = " + (b1 | b2));//true

System.out.println("b1 & b2 = " + (b1 & b2));//false

System.out.println("b1 ^ b2 = " + (b1 ^ b2));//true

System.out.println("!b1 = " + !b1);//true

System.out.println("b1 || b2 = " + (b1 || b2));//true

System.out.println("b1 && b2 = " + (b1 && b2));//false


//位运算符

System.out.println("******  逻辑运算符 *********");

a = -7 ; b = 3 ;//1111 1111 - 1111 1111          

System.out.println("a << 2 = " + (a << 2));//12

System.out.println("a >> 2 = " + (a >> 2));//0

System.out.println("a >>> 2 = " + (a >>> 2));//0

System.out.println("a | b = " + (a | b));//7

System.out.println("a & b = " + (a & b));//1

System.out.println("a ^ b = " + (a ^ b));//6

System.out.println("~a = " + (~a));//-4

//


    }

}



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

答:

/**

 * 将字节类型数组转换成十六进制的字符串表现形式

 */

class Byte2Hex {

public static void main(String[] args) {

byte b = 108;

System.out.println(convert(b));

}


// 转换函数

public static String convert(byte b) {

// 1.取出字节b的低四位的数值

int low = b & 0x0F; // 低四位0-15


// 2.取出高四位的值,先将b向右移动4位

int high = (b >> 4) & 0x0F; // 高四位0-15

// 定义字符数组

char[] arr = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',

'B', 'C', 'D', 'E', 'F' };

// 拼接串

return "" + arr[high] + arr[low];

}

}


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

答:

/**

 * 计算所有元素的总和

 */

class SumDemo{

    public static void main(String[] args){

//int result = sum(new int[]{1,2,4,5,6});

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

    }


//计算数组的总和

public static int sum(int[] arr){

int sum = 0 ;

//循环数组

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

//开始累加

sum = sum + arr[i] ;

}

return sum;

}


//计算数的阶乘

public static int multi(int n){

int result = 1 ;

for(int i = 1 ; i <= n ; i ++){

result = result * i ;

}

return result ;

}

}

4.数组的拷贝。

答:

class ArrayCopyDemo {


/**

* @param args

*/

public static void main(String[] args) {

int[] arr1 = {2, 3, 4, 5};

int[] arr2 = new int[arr1.length];

copy(arr1, arr2);

out(arr2);


}


private static void copy(int[] arr1, int[] arr2) {

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

arr2[i] = arr1[i];

}

}

private static void out(int[] arr) {

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

System.out.println(arr[i]);

}

}


}


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

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

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

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

className//类名

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章