1. 对两个整型变量进行除法、取模和自加运算
(1) 在项目MyProject2中创建DivModDemo类。
(2) 在代码编辑器中输入以下代码:
/** * */ /** * @author solo * */ public class DivModDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a=8,b=5; 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); 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); System.out.println(a); } }
(3) 运行并调试程序,观察DivModDemo类的运行结果。
2. 二进制的移动算法
(1) 在项目MyProject2中创建BitShiftDemo类。
(2) 在代码编辑器中输入以下代码:
/** * */ /** * @author solo * */ 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) 在代码编辑器中输入以下代码:
/** * */ /** * @author solo * */ 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<b; System.out.println(a+"<"+b+"="+d); 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. 从键盘输入两个整数,通过下面程序计算这两个整数的和并输出运算结果。
/** * */ /** * @author solo * */ 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. 编写一个程序,要求从键盘上输入圆的半径,求圆的面积并输出结果。
/** * */ /** * @author solo * */ 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); } }