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

作者:袖梨 2022-11-14

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

}

相关文章

精彩推荐