• java语法基础


    1.EnumTest.java程序:

    package damo;

     

    public class EnumTest {

       enum Size{SMALL,MEDIUM,LARGE};

       public static void main(String[] args) {

          Size s=Size.SMALL;

          Size t=Size.LARGE;

          //s和t引用同一个对象?false

          System.out.println(s==t);  //

          //是原始数据类型吗?false

          System.out.println(s.getClass().isPrimitive());//判断是什么数据类型

          //从字符串中转换

          Size u=Size.valueOf("SMALL");//将small的值赋给u

          System.out.println(s==u);  //true

          //列出它的所有值

          for(Size value:Size.values()){//遍历

             System.out.println(value);

          }

       }

       //enum Size{SMALL,MEDIUM,LARGE};

    }

    运行结果

     

    首先判断s==t?不等所以输出false;第二个判断是否是原始数据类型,不是原始的数据类型,false;第三个s表示SMALL将SMALL赋给了u,u=s,ture;第四、五、六个是遍历,Size{SMALL,MEDIUM,LARGE}中有三个数据,所以遍历是三个数据。

    结论:

    枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象

    2.数值的二进制

    数在计算机中是以二进制形式表示的。
    数分为有符号数和无符号数。
    原码、反码、补码都是有符号定点数的表示方法。

    原码就是这个数本身的二进制形式。正数的反码和补码都是和原码相同,负数的反码是将其原码除符号位之外的各位求反,负数的补码是将其原码除符号位之外的各位求反之后在末位再加1。

    3.TestDouble.java程序

    源程序:

    package damo;

     

    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类型的数值进行运算得不到“数学上精确”的结果

    java中double类型数据是用64位来表示的,精度肯定是有限的,浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。在需要更高精度的运算过程中,有两种方法可供参考:1. 自己用超过64位来表示一个double类型,比如用100个byte[]来表示一个double(800bytes);这样的话,double的加减乘除就需要自己实现一遍了。很多IT公司有这样的面试题。2. 用java自带的BigDecimal类可以方便做高精度的运算。(c++中是没有BigDecimal这种方面的类的,所以只能用第一种方法)

    4.

    int X=100;

          int Y=200;

          System.out.println("X+Y="+X+Y);

          System.out.println(X+Y+"=X+Y");

    程序结果

     

    原因:+X+Y表示连续输出x和y的值,第二个表示两数相加

    5.验证码

    (1).设计思想:

    因为验证码都是随机产生的,所以要用到Math.random()来产生随机数,验证码是字符串,所以要用强制类型转换,将数字转换成字符串。再将字符串输出,以对话框的形式输出来,这就要用到JOptionPane了,需要导入JOptionPane。先随机产生97-122的数,保证强制转换后是字符,然后将产生的随机数强制转换成字符,用JOptionPane.showInputDialog将产生的随机数显示在对话框上,并且用户输入,然后判断输入的和随机产生的是否一样,一样就显示验证码输入正确,否则显示验证码输入不正确。还要用到JOptionPane.showMessageDialog显示信息对话框。

    (2).源程序

    package demo;

     

    import javax.swing.JOptionPane;

     

    public class yanzhengma {

           public static void main(String[] args)

           {

                  String result = "";//定义一个空字符串

                  String result1;//定义一个字符串用于输出

                  //进行6次循环

                  for(int i = 0 ; i < 6 ; i ++)

                  {

                         int intVal = (int)(Math.random() * 26 + 97);//生成一个97~122的int型的整数,有26个数

                         result = result + (char)intVal;//强制类型转换,将intValue强制转换为char后连接到result后面

                  }

                  result1=JOptionPane.showInputDialog("验证码是:"+result +"请输入");//将“验证码是:”、随机产生的验证码、“请输入”显示在对话框上

                  if(result1.equals(result))//判断输入的和随机产生的是否一样

                         JOptionPane.showMessageDialog(null,"验证码输入正确!","result",JOptionPane.PLAIN_MESSAGE);

                  else

                         JOptionPane.showMessageDialog(null,"验证码输入有误!","result",JOptionPane.PLAIN_MESSAGE);

          }

    }

     

    (4).实验总结(包括调试过程中出现的错误)

    随机产生的数字必须是在97-122之间,这样才能保证强制转换后的字符串是字母,在进行比较时要用到equals函数,判断输入的是否和随机产生的一样。如果输入一样会显示输入正确,但是输入不正确就不能再重新输入了,也不能回到随机产生的验证码的页面了。还需要找一个方法去改。JOptionPane.showInputDialog("验证码是:"+result +"请输入")括号里的内容也要注意,多一个逗号就有可能会出错。“”内的会全部输出,”+”表示输出result的值。用两个加号连接前后两个引号内的东西。

  • 相关阅读:
    Python 多线程就这么简单
    Linux中使用SecureCRT上传、下载文件命令sz与rz用法实例
    LAMP第四部分 mysql相关
    LAMP第三部分php配置和mysql配置
    LAMP第二部分apache的配置
    LAMP第一部分安装mysql -apache -php
    LAMP总四部分
    用户和组管理
    系统操作命令
    2017网易---统计回文
  • 原文地址:https://www.cnblogs.com/qianwangxingfu/p/5937258.html
Copyright © 2020-2023  润新知