疯狂JAVA讲义---第三章(下):运算符

第三章 后半部分主要讲了运算符,java在这方面和C和C++差不多。对于复杂的运算java提供了Math类。

下面看点Math的常用方法:

  1. public class TestMath
  2. {
  3.     public static void main(String[] args) 
  4.     {
  5.         //定义变量a为3.2
  6.         double a = 3.2;
  7.         //求a的5次方,并将计算结果赋为b。
  8.         double b = Math.pow(a , 5);
  9.         //输出b的值
  10.         System.out.println(b);
  11.         //求a的平方根,并将结果赋给c
  12.         double c = Math.sqrt(a);
  13.         //输出c的值
  14.         System.out.println(c);
  15.         //计算随机数,返回一个0~1之间的伪随机数。
  16.         double d = Math.random();
  17.         //输出随机数d的值
  18.         System.out.println(d);
  19.         //求1.57的sin函数值:1.57被当成弧度数
  20.         double e = Math.sin(1.57);
  21.         //输出接近1
  22.         System.out.println(e);
  23.     }
  24. }

然后讲了位运算:补码,反码,与,或,非等都讲了,搞的像上数字逻辑课。然后讲到“短路”和“非短路”与和或,其实就是当左边满足条件右边还做不做运算的区别,下面看个例子

  1.  public static void main(String[] args) {
  2.         int a=5;
  3.         int b=10;
  4.         if(a>4|b++>10){
  5.             System.out.println(a+" , "+b);
  6.         }
  7.          if(a>4||b++>10){
  8.             System.out.println(a+" , "+b);
  9.         }
  10.     }

大家体会下就知道区别了,下面讲点我们常忘记的,单目运算,赋值运算,三目运算都是从右向左运算的。对于运算符的优先级其实没什么好记的,要记的话也太多,就算记住了不久就又搞不清了,所以用括号来代替利用运算符的优先级。

 

本章练习

1.定义学生,老师,教师3个类,并生成javadoc

 

 

2.用控制台画圆

我先给大家个思路图:

然后是我写的代码,由于是控制台画圆所以不太圆,李刚还真聪明选半径为6这时我也发现是比较圆的,呵呵

  1. public class Circle {
  2.     public static void main(String[] args) {
  3.         Circle c=new Circle();
  4.         c.drawCircle(6);
  5.     }
  6.     public void drawCircle(int r) {
  7.         for (int i = 0; i <= r; i++) {
  8.             double x = Math.round(Math.sqrt(Math.pow(r, 2) - Math.pow(r - i, 2)));
  9.             for (int j = 0; j < r - x; j++) {
  10.                 drawBlank();
  11.             }
  12.             drawStar();
  13.             for (int k = 0; k <=(2 * x); k++) {
  14.                 drawBlank();
  15.             }
  16.             drawStar();
  17.             System.out.println(" ");
  18.         }
  19.          for (int i = r-1; i >= 0; i--) {
  20.           double x = Math.round(Math.sqrt(Math.pow(r, 2) - Math.pow(r - i, 2)));
  21.             for (int j = 0; j < r - x; j++) {
  22.                 drawBlank();
  23.             }
  24.             drawStar();
  25.             for (int k = 0; k <=(2 * x); k++) {
  26.                 drawBlank();
  27.             }
  28.             drawStar();
  29.             System.out.println(" ");
  30.         }
  31.     }
  32.     private void drawBlank() {
  33.         System.out.print("     ");
  34.     }
  35.     private void drawStar() {
  36.         System.out.print("*");
  37.     }
  38. }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值