• java动手动脑


    2020年9月29日:

    动手动脑第一项:

    public class 枚举类
    {
     public static void main(String[] args)
     {
      Size s=Size.SMALL;
      Size t=Size.LARGE;
      System.out.println(s==t); 
      System.out.println(s.getClass().isPrimitive());
      Size u=Size.valueOf("SMALL");
      System.out.println(s==u);  
      for(Size value:Size.values())
      {
       System.out.println(value);
      }
     }
     }
    enum Size{SMALL,MEDIUM,LARGE};

     结论:枚举类中定义的是一些确定的常量,并且可以直接使用枚举类型或者对枚举类型赋值,这两种的含义是一样的。

    动手动脑第二项:

    原码:原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值.

    反码:

    正数的反码是其本身

    负数的反码是在其原码的基础上, 符号位不变,其余各个位取反

    补码:

    正数的补码就是其本身

    负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1

    实例:+7        原码:0 0000111               反码:0 0000111       补码:0 0000111

    -7   原码:1 0000111              反码:1 1111000     补码:1 1111001

    动手动脑第三项:

    public class 枚举类{
    private static int Albert = 1;
    public static void main(String[] args) {
    int Albert = 2;
    System.out.println(Albert);
    }
    }

    动手动脑第四项:

    byte  1字节   数值范围: -128 ~ 127     short  2字节   数值范围:32768 ~ 32767      int 4字节  数值范围: -2147483648 ~ 2147483647     long 8字节   数值范围: -2^63 ~ 2^63-1      char  2字节      float4字节     double   8字节            

    从这张图中可以看出以下结论:

    byte型不能自动类型提升到char,char和short直接也不会发生自动类型提升,同时,byte当然可以直接提升到short型。

    当对小于int的数据类型(byte, char, short)进行运算时,首先会把这些类型的变量值强制转为int类型进行计算,最后会得到int类型的值。

     动手动脑第五项:

    public class 枚举类
    {
     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;

    第二个因为字符串在后面,而前面的X+Y就是数学上的加法。所以答案是300。

    课后实验题:

    public class 数学
    {
     public static int i;
     public static int n;
     public static int j;
     public static int k;
     public static int t;
     public static char o;
     public static char y;
     static Random a=new Random();
     public static List list;
     public static String shuzu[];
     public static void main(String[] args)
     {
      int l=0;
      Scanner scan=new Scanner(System.in);
      System.out.println("请输入题的数量:");
      System.out.println("请输入数值范围:");
      System.out.println("请输入操作数个数:");
      System.out.println("请选择是否需要乘除法(Y or N):");
      System.out.println("请选择是否需要括号(Y or N):");
         t=scan.nextInt();
      n=scan.nextInt();
      j=scan.nextInt();
         o=scan.next().charAt(0);
         y=scan.next().charAt(0);
         shuzu=new String[t];
      for(int p=1;p<=t;p++)
      {
          list=new ArrayList();
       System.out.print("第"+p+"题:  ");
          shu();
        shuzu[p-1]=" ";
        for(int u=0;u<list.size();u++)
        {
        shuzu[p-1]=shuzu[p-1]+list.get(u);
        }
       chachong(shuzu[p-1],p);
       System.out.println(shuzu[p-1]);
            }
     }
     public static void chachong(String str,int p)
     {
      boolean is=false;
      while(is)
      {
      for(int s=0;s<p-1;s++)
      {
       if(str.equals(shuzu[s]))
       {
        shu();
       }
       else
        k++;
      }
      if(k==p-1)
      {
       is=true;
      }
      }
     }
     public static void shu()
     {
      for(int i=0;i<2*j-1;i++)
      {
       int b=a.nextInt(n)+1;
       if((i+1)%2!=0)
       {
        list.add(b);
       }
       else
       {
        int c=a.nextInt(4)+1;
        if(o=='N')
        {
         if(c==3||c==4)
         {
          c=a.nextInt(2)+1;
         }
        }
        switch(c)
        {
        case 1:list.add('+');break;
        case 2:list.add('-');break;
        case 3:list.add('*');break;
        case 4:list.add('%');break;
        }
       }
      }
      if(y=='Y')
      {
       int v=a.nextInt(2*j-3);
       int g=a.nextInt(2*j+1);
       if((v%2==0&&g%2==0)&&(g-v>=4))
       {
        list.add(v,'(');
        list.add(g,')');
       }
      }
     }
    }

     

  • 相关阅读:
    poj 1700 Crossing River 过河问题。贪心
    Alice's Print Service
    POI 2000 ------Stripes
    Uva 1378
    hdu 3068 最长回文
    bnu Game 博弈。
    链栈的C语言实现
    链栈的C语言实现
    顺序栈C语言实现
    顺序栈C语言实现
  • 原文地址:https://www.cnblogs.com/yitiaokuailedexiaojingyu/p/13752169.html
Copyright © 2020-2023  润新知