运算符与表达式

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);
    }

}

 

posted @ 2013-05-03 20:04  源子陌  Views(423)  Comments(0Edit  收藏  举报