public class BitShiftDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a=-16,b=16; System.out.println("******************************"); System.out.println("a的二进制数为:" Integer.toBinaryString(a)); System.out.println("a左移1位后各位为" Integer.toBinaryString(a<<1)); System.out.println(a "<<2=" (a<<2)); System.out.println("******************************"); System.out.println("a的二进制数为:" Integer.toBinaryString(a)); System.out.println("a右移1位后各位为" Integer.toBinaryString(a>>1)); System.out.println(a ">>2=" (a>>2)); System.out.println("******************************"); System.out.println("a的二进制数为:" Integer.toBinaryString(a)); System.out.println("a右移1位后各位为" Integer.toBinaryString(a>>>1)); System.out.println(a ">>>2=" (a>>>2)); System.out.println("******************************"); System.out.println("b的二进制数为:" Integer.toBinaryString(b)); System.out.println("b左移1位后各位为" Integer.toBinaryString(b<<1)); System.out.println(b "<<2=" (b<<2)); System.out.println("******************************"); System.out.println("b的二进制数为:" Integer.toBinaryString(b)); System.out.println("b右移1位后各位为" Integer.toBinaryString(b>>1)); System.out.println(b ">>2=" (b>>2)); System.out.println("******************************"); System.out.println("b的二进制数为:" Integer.toBinaryString(b)); System.out.println("b右移1位后各位为" Integer.toBinaryString(b>>>1)); System.out.println(b ">>>2=" (b>>>2)); System.out.println("******************************"); } } (3) 运行并调试程序,观察结果。 知识提示:要将整形的变量转换为二进制的字符可以使用Integer.toBinaryString()完成,二进制位左移采用<>完成。>>>是无符号右移运算符,变量值右移后,左侧补0。 3. 关系运算与逻辑运算的混合运算 (1) 在项目MyProject2中创建OperationDemo类。 (2) 在代码编辑器中输入以下代码:
代码如下 | 复制代码 | import java.io.*; public class OperationDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a=25,b=3; boolean d=a System.out.println(a " int e=3; d=(e!=0&&a/e>5); System.out.println(e "!=0&&" a "/" e ">5=" d); int f=0; d=(f!=0&&a/f>5); System.out.println(f "!=0&&" a "/" f ">5=" d); d=(f!=0&&a/f>5); System.out.println(f "!=0&&" a "/" f ">5=" d); } } (3) 运行并调试观察程序运行结果。 4. 从键盘输入两个整数,通过下面程序计算这两个整数的和并输出运算结果。
代码如下 | 复制代码 | import java.io.*; public class MySumDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int num1,num2,sum; String str=""; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Input the first integer:"); try { str=buf.readLine(); } catch(Exception e) { } num1=Integer.parseInt(str); System.out.print("Input the second integer:"); try { str=buf.readLine(); } catch(Exception e) { } num2=Integer.parseInt(str); sum=num1 num2; System.out.println("The sum is " sum); } } 5. 编写一个程序,要求从键盘上输入圆的半径,求圆的面积并输出结果。
代码如下 | 复制代码 | import java.io.*; public class CircleArea { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub double area; int radius; Circle1 circle=null; String str=""; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Input the radius:"); try { str=buf.readLine(); } catch(Exception e) { } radius=Integer.parseInt(str); circle=new Circle1(radius); area=circle.getArea(); System.out.println("圆的面积:" area); } } class Circle1{ double radius,area; Circle1(double r){ radius=r; } double getArea(){ area=3.14159265*radius*radius; return area; } } 6. 调试下面程序,分析程序运行结果。
代码如下 | 复制代码 | /** * @author solo * */ public class SanmuTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int iBig=2; int iSmall=1; boolean result=(iBig>=iSmall)?true:false; System.out.println("Result Is:" result); } } |
|
|
|
|