三 运算符的基本操作A

三 运算符的基本操作A

/**
 * 运算符
 *
 */
class Operator
{
 public int operatorDiv(int numberInt,int divisor)
 {
  int resultInt = 0;
  return resultInt = numberInt / divisor;
 }
 public float operatorDiv(float numberFloat,float divisor)
 {
  float resultFloat = 0.0f;
  return resultFloat = numberFloat / divisor;
 }
 public double operatorDiv(double numberDouble,double divisor)
 {
  double resultDouble = 0.0;
  return resultDouble = numberDouble / divisor;
 }
 
 public int operatorModel(int numberInt,int divisor)
 {
  int resultInt = 0;
  return resultInt = numberInt % divisor;
 }
 public float operatorModel(float numberFloat,float divisor)
 {
  float resultFloat = 0.0f;
  return resultFloat = numberFloat % divisor;
 }
 public double operatorModel(double numberDouble,double divisor)
 {
  double resultDouble = 0.0d;
  return resultDouble = numberDouble % divisor;
 }
 
 /*
  * 思考题1:某个培训中心要为新到的学员安排房间,假设共有x个学员,每个房间可以住6人,让你用一个公式来计算他们要住的房间数
  * 这种算法还可用在查看留言板的分页显示上: 其中x是总共的留言数,6是每页显示的留言数,结果就是总共有多少页。
  */
 public int rooms(int member,int roomsContent)
 {
  int roomsNumber = 0;
  roomsNumber = (member + (roomsContent - 1))/roomsContent;
  return roomsNumber;
 }
 /*
  * 思考题2:假设你要让x的值在0至9之间循环变化,请写出相应的程序代码。
  */
 public void zeroTonine()
 {
  int x = 0;
  int counter = 0;
  while(true)
  {
   if(counter == 20)
    break;
   x = (x + 1)%10;
   System.out.print(x);
   counter++;
  }
 }
}
/*
 * 思考题3: 吸血鬼数字
 * 两个两位数相乘,结果是一个四位数,并且这个四位数的数字是这两个两位数的乘数的组合.
 * 例如: 1260 = 21 * 60
 *    1827 = 21 * 57
 *    2187 = 27 * 81
 * 编写一个程序找出所有的4位吸血鬼数字(另外两个0结尾的数字是不允许的)
 */
class Vampires
{
 static int a(int i){return i/1000;}
 static int b(int i){return i/100 - i/1000*10;}
 static int c(int i){return i/10 - i/100*10;}
 static int d(int i){return i%10;}
 static int com(int i, int j){
  return (i * 10) + j;
 }
 static void productTest (int i, int m, int n) {
  if(m * n == i) System.out.println(i + " = " + m + " * " + n);
 }
}
public class OperatorTest
{
 public static void main(String[] args)
 {
  /**
   * 1、算术运算符
   * +(正号)、-(负号)、+、-、*、/、%
   */
  /*加运算*/
  System.out.println("加运算");
  int sum = 0;
  sum = 1+1;
  System.out.println(
    sum + "abc"
    //加运算不仅能对数值进行运算,
    //也可以进行字符串直接的加运算或者字符串和数值之间的运算
   );
  /*除和求余(求模)运算*/
  //除运算
  System.out.println("除运算");
  Operator oper = new Operator();
  System.out.println(
    oper.operatorDiv(12, 5)//除运算对于整数类型数据进行整除计算.
   );
  System.out.println(
    //oper.operatorDiv(12, 0)//整数除0不会报错,但会抛出异常.
   );
  System.out.println(
    oper.operatorDiv(12.01f,5.6f)//float浮点数进行除运算将得到小数部分.
   );
  System.out.println(
    oper.operatorDiv(31.2f,0)//java中浮点数除0结果为正(负)Infinity
   );
  System.out.println(
    oper.operatorDiv(-31.2f,0)//java中浮点数除0结果为正(负)Infinity
   );
  System.out.println(
    oper.operatorDiv(12.01d,5.6d)//double浮点数进行除运算将得到小数部分.
   );
  System.out.println(
    oper.operatorDiv(31.2d,0)//java中浮点数除0结果为正(负)Infinity
   );
  System.out.println(
    oper.operatorDiv(-23.8d, 0)//java中浮点数除0结果为正(负)Infinity
   );
  //求模运算
  System.out.println("求模运算");
  System.out.println(
    oper.operatorModel(12, 5)
   );
  System.out.println(
    //oper.operatorModel(12, 0)//同样不能对一个整数对0进行求模运算
   );
  System.out.println(
    oper.operatorModel(1.12f, 1.1f) + " , " +
    oper.operatorDiv(1.12f, 1.1f)
    //浮点数的求模运算和浮点数的除法运算不同.
   );
  System.out.println(
    oper.operatorModel(2.0f, 0.0f)//浮点数与0求模结果返回NaN
   );
  System.out.println(
    oper.operatorModel(-2.0f, 0.0f)//浮点数与0求模结果返回NaN
   );
  System.out.println(
    oper.operatorModel(1.23, 0.3) + " , " +
    oper.operatorDiv(1.23, 0.3)
    //浮点数的求模运算和浮点数的除法运算不同.
   );
  System.out.println(
    oper.operatorModel(1.23, 0.0)//浮点数与0求模结果返回NaN
   );
  System.out.println(
    oper.operatorModel(-1.22, 0.0)//浮点数与0求模结果返回NaN
   );
  //思考题1:
  System.out.println("思考题1");
  System.out.println(
    oper.rooms(3, 6) + " " +
    oper.rooms(30, 6)
   );
  //思考题2:
  System.out.println("思考题2");
  oper.zeroTonine();
  System.out.println();
  //思考题3:
  System.out.println("思考题3");
  for(int i = 1001; i < 9999; i++)
  {  
   Vampires.productTest(i, Vampires.com(Vampires.a(i), Vampires.b(i)), Vampires.com(Vampires.c(i), Vampires.d(i)));
   Vampires.productTest(i, Vampires.com(Vampires.a(i), Vampires.b(i)), Vampires.com(Vampires.d(i), Vampires.c(i)));
   Vampires.productTest(i, Vampires.com(Vampires.a(i), Vampires.c(i)), Vampires.com(Vampires.b(i), Vampires.d(i)));
   Vampires.productTest(i, Vampires.com(Vampires.a(i), Vampires.c(i)), Vampires.com(Vampires.d(i), Vampires.b(i)));
   Vampires.productTest(i, Vampires.com(Vampires.a(i), Vampires.d(i)), Vampires.com(Vampires.b(i), Vampires.c(i)));
   Vampires.productTest(i, Vampires.com(Vampires.a(i), Vampires.d(i)), Vampires.com(Vampires.c(i), Vampires.b(i)));
   Vampires.productTest(i, Vampires.com(Vampires.b(i), Vampires.a(i)), Vampires.com(Vampires.c(i), Vampires.d(i)));
   Vampires.productTest(i, Vampires.com(Vampires.b(i), Vampires.a(i)), Vampires.com(Vampires.d(i), Vampires.c(i)));
   Vampires.productTest(i, Vampires.com(Vampires.b(i), Vampires.c(i)), Vampires.com(Vampires.d(i), Vampires.a(i)));
   Vampires.productTest(i, Vampires.com(Vampires.b(i), Vampires.d(i)), Vampires.com(Vampires.c(i), Vampires.a(i)));
   Vampires.productTest(i, Vampires.com(Vampires.c(i), Vampires.a(i)), Vampires.com(Vampires.d(i), Vampires.b(i)));
   Vampires.productTest(i, Vampires.com(Vampires.c(i), Vampires.b(i)), Vampires.com(Vampires.d(i), Vampires.a(i)));
  }
  /**
   * 2、赋值运算符
   * =、+=、-=、*=、/=、%=
   * 注1:在JAVA里可以把赋值语句连在一起,如:x = y = z = 5 ; 在这个语句中,三个变量都得到同样的值5。
   * 注2 :x += 3等效于x = x + 3,*= ,-=,/=,%=依此类推。
   */
  /**
   * 3、比较运算符
   * ==、!=、>、>=、<、<=、instaceof(检查对象A是否是B类型)
   * 注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
   * 注2:比较运算符“==”不能误写成“=” ,切记!切记!
   */
  /*instanceof运算符*/
  System.out.println("instanceof运算符");
  OperatorTest2 op = new OperatorTest2();
  if(op instanceof Object)//任何类都是Object类的子类.所以这个对象属于Object类.
   System.out.println("opert is instance of Object");
  else if(op instanceof OperatorTest2)
   System.out.println("opert is instance of OperatorTest");
  else
   System.out.println("opert is not instatnce of Object or OperatorTest");
 }
}
/* ~~Console Out~~
 * 加运算
2abc
除运算
2

2.1446428
Infinity
-Infinity
2.1446428571428573
Infinity
-Infinity
求模运算
2

0.01999998 , 1.0181818
NaN
NaN
0.030000000000000027 , 4.1000000000000005
NaN
NaN
思考题1
1 5
思考题2
12345678901234567890
思考题3
1260 = 21 * 60
1395 = 15 * 93
1435 = 41 * 35
1530 = 51 * 30
1827 = 87 * 21
2187 = 27 * 81
6880 = 86 * 80
6880 = 80 * 86
instanceof运算符
opert is instance of Object
 */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值