第三章 操作符(下)

练习8展示用十六进制和八进制记数法来操作long值,用Long.toBinaryString()来显示结果。

这种不不同的进制使用在正常的开发中是什么时候用到的啊?有人能解答下吗?

public class Test3_8{
 public static void main(String[] args){
  long a = 0x1e;
  long b = 011;
  long s = a+b;
  System.out.println(Long.toBinaryString(s));
 }
}

练习9分别显示用fioat和double指数计数法所能表示的最大和最小的数字。

public class Test3_9{
 public static void main(String[] args){
  float fMax = Float.MAX_VALUE;
  float fMin = Float.MIN_VALUE;
  double dMax = Double.MAX_VALUE;
  double dMin = Double.MAX_VALUE;
  System.out.println("float最大值"+fMax);
  System.out.println("float最小值"+fMin);
  System.out.println("double最大值"+dMax);
  System.out.println("double最小值"+dMin);
 }
}

练习10:(3)编写一个具有两个常量值的程序,一个具有交替的二进制位1和0,其中最低有效位为0,另一个也具有交替的二进制位1和0,但是其最低有效位为1取这两个值,用按位操作符以所有可能的方式结合运算他们,然后用Integer。toBinatyString()显示。

public class Test3_10{
 public static void main(String[] args){
  int a = 0xaa;
  int b = 0x55;
  System.out.println("a的值是:"+Integer.toBinaryString(a));
  System.out.println("b的值是:"+Integer.toBinaryString(b));
  System.out.println("a|b的值是:"+Integer.toBinaryString(a|b));
  System.out.println("a&b的值是:"+Integer.toBinaryString(a&b));
  System.out.println("a^b的值是:"+Integer.toBinaryString(a^b));
  System.out.println("~a的值是:"+Integer.toBinaryString(~a));
  System.out.println("~b的值是:"+Integer.toBinaryString(~b));
 }
}

 练习11(3)以一个最高有效位为1的二进制数开始,用有符号有操作符对其进行右移,直至所有的二进制位都被移出为止,每移一位都要使用Integer.toBinaryString()显示结果。

你们看下我写的程序符合题意吗?

public class Test3_11{
 public static void main(String[] args){
  int a = 0x1aa;
  for(int i=0;a!=0;i++){
   a=a>>1;
   System.out.println(Integer.toBinaryString(a));
  }
  
 }
}

 练习12(3)以一个所有位为1的二进制数开始,先左移它,然后用无符号右移操作符对其进行右移,直至所有的二进制为都被移出为止,每移一位都要使用Integer.toBinaryString()显示结果。

这个移位我真的不是很擅长啊!不知道合不合题意!

public class Test3_12{
 public static void main(String[] args){
  int a = 0x1fff;
  a = a<<1;
  for(int i=0;a!=0;i++){
   a = a >>>1;
   System.out.println(Integer.toBinaryString(a));
  }

 }

练习13:(1)编写一个方法,它以二进制形式显示char类型的值。使用多个不同的字符来展示它。

public class Test3_13{
 public static void main(String[] args){
  char[] a = {'a','b','c','d','e'};
  for(int i=0;i<a.length;i++ ){
   System.out.println(Integer.toBinaryString(a[i]));
  }
 } 
}

练习14:(3)编写一个接收2个字符串参数的方法,用各种布尔值的比较关系来比较这两个字符串,然后把结果打印出来。做==和!=比较的同时,痛equals()做测试。在main()里面用几个不同的字符串对象调用这个方法。

public class Test3_14{
 public static void main(String[] args){ 
  compare("123","123");
  compare("1234","12345");
  compare("1111","aaaa");
  compare("aaa","dddd");
  compare("aaa","ddd");
  compare("aaa","aaa");

 }
 private static void compare(String a,String b){
  System.out.println("a是"+a+"    "+"b是"+b);
  System.out.println("a!=b为"+(a!=b));
  System.out.println("a==b为"+(a==b));
  System.out.println("a.equals(b)为"+a.equals(b));
  
 }
}

 

这章终于写完了!呵呵!看着自己的代码很有成就感啊!
  
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值