java中运算符与表达式用法介绍

1. 对两个整型变量进行除法、取模和自加运算

(1) 在项目MyProject2中创建DivModDemo类。

(2) 在代码编辑器中输入以下代码:

 代码如下 复制代码

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) 在代码编辑器中输入以下代码:

 代码如下 复制代码

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<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. 从键盘输入两个整数,通过下面程序计算这两个整数的和并输出运算结果。

 代码如下 复制代码

 

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

}

时间: 2024-07-29 10:40:55

java中运算符与表达式用法介绍的相关文章

在Java中使用Lambda表达式的技巧

在本文中,我们将展示一些在 Java 8 中不太为人所了解的 Lambda 表达式技巧及其使用限制.本文的主要的受众是 Java 开发人员,研究人员以及工具库的编写人员. 这里我们只会使用没有 com.sun 或其他内部类的公共 Java API,如此代码就可以在不同的 JVM 实现之间进行移植. 快速介绍 Lambda 表达式作为在 Java 8 中实现匿名方法的一种途径而被引入,可以在某些场景中作为匿名类的替代方案. 在字节码的层面上来看,Lambda 表达式被替换成了 invokedyna

Java中的MessageFormat.format用法实例

  这篇文章主要介绍了Java中的MessageFormat.format用法实例,本文先是讲解了MessageFormat的语法,然后给出了多个操作实例,需要的朋友可以参考下 MessageFormat本身与语言环境无关,而与用户提供给MessageFormat的模式和用于已插入参数的子格式模式有关,以生成适用于不同语言环境的消息. MessageFormat模式(主要部分): 代码如下: FormatElement: { ArgumentIndex }:是从0开始的入参位置索引. { Arg

JAVA中的final关键字用法实例详解_java

本文实例讲述了JAVA中的final关键字用法.分享给大家供大家参考,具体如下: 根据上下文环境,java的关键字final也存在着细微的区别,但通常指的是"这是无法改变的."不想改变的理由有两种:一种是效率,另一种是设计.由于两个原因相差很远,所以关键子final可能被误用. 接下来介绍一下使用到final的三中情况:数据,方法,类 final数据 许多编程语言都有某种方法,来向编译器告知一块数据是恒定不变的.有时数据的恒定不变是很有用的,例如: 1. 一个编译时恒定不变的常量 2.

详解Java中Iterator迭代器的用法_java

迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价小. Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator.第一次调用Iterator的next()方法时,它返回序列的第一个元素.注意:iterator()方法是java.lang.Iterable接口,被Collection继承

Java中运算符的优先级

Java中运算符的优先级 所谓优先级,就是在表达式中的运算顺序.Java 中常用的运算符的优先级如下表所示: 级别为 1 的优先级最高,级别 11 的优先级最低.譬如,x = 7 + 3 * 2  得到的结果是 13 "先乘后加"嘛! PS:大家没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理.例如: 分析:小括号优先级最高,因此 1. 执行 a + 18 ,结果为 30 2. 执行( a + 18 ) % 4 取模,结果为 2 3. 执行 a * ( (

Excel2007中网格线的基本用法介绍

Excel2007中网格线的基本用法介绍 Excel2007中的网格线在编辑.打印操作中都会用到.下面讲解Excel2007软件中网格线的一些基本用法. 1.隐藏/显示网格线 通过"视图"选项卡菜单中的"网格线"复选框开关,你可以设置网格线在编辑表时候的显示与否,   2.打印输出网格线设置 Excel中默认的网格线在打印时候是不会输出的,除非你进行了单元格的边框设置.设置方法:"开始"选项卡菜单中"字体"栏的"边框

Python中的with...as用法介绍

  这篇文章主要介绍了Python中的with...as用法介绍,本文直接给出用法实例,需要的朋友可以参考下 这个语法是用来代替传统的try...finally语法的. 代码如下: with EXPRESSION [ as VARIABLE] WITH-BLOCK 基本思想是with所求值的对象必须有一个__enter__()方法,一个__exit__()方法. 紧跟with后面的语句被求值后,返回对象的__enter__()方法被调用,这个方法的返回值将被赋值给as后面的变量.当with后面的

java object用法-Java中object类的用法

问题描述 Java中object类的用法 class Student { String name; int age; public boolean equals (Object obj) { Student st = null; if(obj instanceof Student) st =(Student)obj; else return false; if(st.name==this.name&&st.age==this.age) return true; else return fa

java this 传递-Java中this传递的用法

问题描述 Java中this传递的用法 假设有一个容器类和一个部件类,在容器类的某个方法中要创建部件类的实例对象,而部件类的构造方法要接收一个代表其所在容器的参数,那代码怎么写啊 解决方案 没有继承关系的类,不能用构造函数传值.你可以让部件类的构造函数包含一个容器的参数,在其中初始化: class Part { pbulci Part(Container c) { ... } } class Container { public Container() { Part p = new Part(t