Java 的基本运行单位是类。
类由数据成员和函数成员组成。
变量之间可以相互转换。
String是一个类。
static是静态、全局的意思。
经过测试,Java的枚举类型定义的Size与String一样都不是Java的原有数据类型
适当的修改测试的原程序代码:
package shangke.dierzhou;
public class EnumTest {
 public static void main(String[] args) {
  Size s=Size.SMALL;
  Size t=Size.LARGE;
  //s和t引用同一个对象?
  System.out.println(s==t);  //
  //是原始数据类型吗?
  System.out.println(s.getClass().isPrimitive());
  //从字符串中转换
  Size u=Size.valueOf("SMALL");
  System.out.println(s==u);  //true
  //列出它的所有值
  String name="name";
  System.out.println(name.getClass().isPrimitive());
  int sss=1;
  System.out.println();
  System.out.println();
  int i=0;
  System.out.println();
  for(Size value:Size.values()){
   System.out.println(value);
   i++;
  }
  System.out.println(i);
 }
}
 enum Size{SMALL,MEDIUM,LARGE};
测试结果是:
false
false
true
false
SMALL
MEDIUM
LARGE
这个测试结果证明了String和枚举定义的类型一样都不是原有数据类型。
基本的枚举类型使用方法一样掌握。
TestDouble测试代码:
package shangke.dierzhou;
 
public class TestDouble {
    public static void main(String args[]) {
        System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
        System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
        System.out.println("4.015 * 100 = " + (4.015 * 100));
        System.out.println("123.3 / 100 = " + (123.3 / 100));
    }
}
这个测试让我很惊醒,正如老师所讲的在与数字打交道时要谨慎谨慎再谨慎。
double类型在精度问题上是因为在机器语言中该数据超出了double类型的位数,采取高位截断的方式导致了结果的精度差。
package text;
public class text1 {
 
 public static void main(String[] args) {
  
  
  int X=100;
  int Y=200;
  System.out.println("X+Y="+X+Y);
  System.out.println(X+Y+"X+Y");  
 } 
}
这个代码的结果:
X+Y=100200
300X+Y
出现这种结果是因为第一个输出双引号在前所以就直接相当于字符串连接后面的“+”号相当于字符号连接符并没有进行加法
而第二个是先进行加法在遇到双引号之后才将第二个“+”当做字符串连接符号。
当堂测试四则运算源代码:
package shangke.dierzhou;
import java.util.Random;
import java.util.Scanner;
public class sizeyunsuan {
 
 public static void main(String[] args) {
  int a1=0,a2=0;
  int flag=0;
  int flag1=1;
  int flag2=1;
  int flag3=1;
  int flag4=1;
  int k1=0,k2=0,k3=0,k4=0;
  int s1[][]=new int[10000][2];
  int s2[][]=new int[10000][2];
  int s3[][]=new int[10000][2];
  int s4[][]=new int[10000][2];
  int n,m;
  Scanner in=new Scanner(System.in);
  System.out.println("请输入需要多少个题");
  n=in.nextInt();
  System.out.println("请输入一行几个题");
  m=in.nextInt();
  for(int i=1;i<=n;)
  {
   Random b=new Random();
   Random c=new Random();
   a1=b.nextInt(100);
   a2=c.nextInt(100);
   if(a1%4==0)
   {
    flag1=1;
    for(int j=0;j<=k1;j++)
    {
     if(s1[j][0]==a1&&s1[j][1]==a2)flag1=0;
    }
    if(flag1==1)
    {
     flag=1;
     //System.out.println("这是第"+i+"题");
     System.out.print(a1+"+"+a2+"=");
     s1[k1][0]=a1;
     s1[k1][1]=a2;
     k1++;
    }
   
   }
   if(a1%4==1)
   {
    flag2=1;
    for(int j=0;j<=k2;j++)
    {
     if(s2[j][0]==a1&&s2[j][1]==a2)flag2=0;
    }
    if(flag2==1)
    {
     flag=1;
     if(a1>a2)
     {
      //System.out.println("这是第"+i+"题");
      System.out.print(a1+"-"+a2+"=");
      s2[k2][0]=a1;
      s2[k2][1]=a2;
      k2++;
     }
     else
     {
      //System.out.println("这是第"+i+"题");
      System.out.print(a2+"-"+a1+"=");
      s2[k2][0]=a1;
      s2[k2][1]=a2;
      k2++;
     }
    }
    
   }
   if(a1%4==2&&a1*a2<=100)
   {
    flag3=1;
    for(int j=0;j<=k3;j++)
    {
     if(s3[j][0]==a1&&s3[j][1]==a2)flag3=0;
    }
    if(flag3==1)
    {
     flag=1;
     //System.out.println("这是第"+i+"题");
     System.out.print(a1+"*"+a2+"=");
     s3[k3][0]=a1;
     s3[k3][1]=a2;
     k3++;
    }
    
   }
   if(a1%4==3&&a1!=0&&a2!=0)
   {
    flag4=1;
    for(int j=0;j<=k4;j++)
    {
     if(s4[j][0]==a1&&s4[j][1]==a2)flag4=0;
    }
    if(flag4==1)
    {
     if(a1%a2==0)
     {
      flag=1;
      //System.out.println("这是第"+i+"题");
      System.out.print(a1+"/"+a2+"=");
      s4[k4][0]=a1;
      s4[k4][1]=a2;
      k4++;
     }
     if(a2%a1==0)
     {
      flag=1;
      //System.out.println("这是第"+i+"题");
      System.out.print(a2+"/"+a1+"=");
      s4[k4][0]=a2;
      s4[k4][1]=a1;
      k4++;
     }
    }
   }
   if(flag==1)
   {
    i++;
    flag=0;
    System.out.print("  ");
    if((i-1)%m==0)
    {
     System.out.println();
    }
   }
   
  }
  
 }
}
这个四则运算可以根据用户要求出题的个数和每行多少道题

最新文章

  1. postgresql修炼之道学习笔记(2)
  2. docker 源码分析 五(基于1.8.2版本),Docker容器的创建
  3. 培训第五天---JS
  4. C#的回调被C++调用
  5. Codeforces Round #375 (Div. 2) A B C 水 模拟 贪心
  6. 安装Weblogic11g
  7. QT 十六进制整数变为字符串自动补0 &amp;&amp; 十进制补零
  8. oracle 求两个时间点直接的分钟、小时数
  9. Sea.js提供简单、极致的模块化开发体验
  10. eclipse 标签标题乱码解决方法
  11. 通俗语言解释内外网IP与端口映射
  12. SSH网上商城---邮件发送
  13. eclipse Tomcat 容器已经启动 但右下角 progress 一直显示100%
  14. php5.5之后新特性整理
  15. 关于AndroidStudio混淆配置,简单的整理(转)
  16. 3-(基础入门篇)稍微了解一下(需要知道的关于Lua的一些基本的知识)
  17. Zabbix使用总结
  18. iOS UI-标签控制器(UITabBarController)
  19. 【CF398B】B. Painting The Wall(期望)
  20. redis 基本类型

热门文章

  1. python基础知识(正则表达式)
  2. Pandas使用细则
  3. 【DSP开发】TMS320C66x DSP SPI Nor Flash的程序烧写
  4. PTA(Basic Level)1006.Sign In and Sign Out
  5. git clone 报错 fatal: protocol &#39;–https&#39; is not supported 解决办法
  6. Java代码 简单用于处理和数据库相关的操作
  7. Java中的异常处理try catch(第八周课堂示例总结)
  8. CF949E Binary Cards 题解
  9. 2018.07.17【省赛模拟】模拟B组 比赛总结
  10. python中super函数的参考