• Java tutorial 02


    一、EnumTest.java枚举类型

     1 public class EnumTest {
     2     public static void main(String[] args) {
     3         Size s=Size.SMALL;
     4         Size t=Size.LARGE;
     5         //s和t引用同一个对象?
     6         System.out.println(s==t);  //
     7         //是原始数据类型吗?
     8         System.out.println(s.getClass().isPrimitive());
     9         //从字符串中转换
    10         Size u=Size.valueOf("SMALL");
    11         System.out.println(s==u);  //true
    12         //列出它的所有值
    13         for(Size value:Size.values()){
    14             System.out.println(value);
    15         }
    16     }
    17 }
    18  enum Size{SMALL,MEDIUM,LARGE};

        

    结论:枚举类型是引用类型,不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

      二、TestDouble.java测试浮点数

    1 public class TestDouble {
    2 
    3     public static void main(String args[]) {
    4         System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
    5         System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
    6         System.out.println("4.015 * 100 = " + (4.015 * 100));
    7         System.out.println("123.3 / 100 = " + (123.3 / 100));
    8     }
    9 }

        

    结论:浮点数不能用数值精确赋值,因为浮点数只能近似表示有理数,还有二进制小数与十进制小数的互相转换产生的误差。

      三、System.out.println()

    1 public class TestAdd {
    2     public static void main(String args[]){
    3         int X=100;
    4         int Y=200;
    5         System.out.println("X+Y="+X+Y);
    6         System.out.println(X+Y+"=X+Y");
    7     }
    8 }

        

    结论:在System.out.println()中,如果在string字符串后面是+和变量,会把变量转换成string类型,加号起连接作用,然后把两个字符串连接成一个新的字符串输出;如果先有变量的加减运算再有字符串,那么会从左到右先计算变量的加减,然后再与后面的string结合成一个新的字符串。也就是说加号只有在两个string类型或者其中一个是string类型的时候才起到连接作用,否则仍然是运算符。

      四、回文数(1-99999)

     1 import javax.swing.JOptionPane; 
     2 public class Number 
     3 {   
     4     public static void main(String args[]) 
     5     { 
     6         int number=0,d5,d4,d3,d2,d1; 
     7         String str=JOptionPane.showInputDialog("输入一个 1 至 99999 之间的数"); 
     8         number=Integer.parseInt(str); 
     9         if(number>=1&&number<=99999) //判断 number 在 1 至 99999 之间的条件 
    10             { 
    11                 d5=number/10000;
    12                 d4=(number/1000)%10;
    13                 d3=(number/100)%10;
    14                 d2=(number/10)%10; 
    15                 d1=number%10; 
    16               if(d5>0)  //判断 number 是 5 位数的条件 
    17                 { 
    18                   System.out.println(number+"是 5 位数"); 
    19                   if(d5==d1&&d4==d2) //判断 number 是回文数的条件 
    20                    { 
    21                       System.out.println(number+"是回文数"); 
    22                    } 
    23                   else 
    24                    {  
    25                      System.out.println(number+"不是回文数"); 
    26                    } 
    27                 } 
    28               else if(d5==0&&d4>0)  //判断 number 是 4 位数的条件 
    29                 { 
    30                    System.out.println(number+"是 4 位数"); 
    31                    if(d4==d1&&d3==d2) //判断 number 是回文数的条件码 
    32                    { 
    33                         System.out.println(number+"是回文数"); 
    34                    } 
    35                   else 
    36                    {  
    37                       System.out.println(number+"不是回文数"); 
    38                    } 
    39                 } 
    40                 else if(d5==0&&d4==0&&d3>0)  //判断 number 是 3 位数的条件 
    41                 { 
    42                    System.out.println(number+"是 3 位数"); 
    43                    if(d3==d1) //判断 number 是回文数的条件 
    44                    { 
    45                         System.out.println(number+"是回文数"); 
    46                    } 
    47                   else 
    48                    {  
    49                     System.out.println(number+"不是回文数"); 
    50                    } 
    51                 } 
    52              else if(d2!=0) 
    53                 { 
    54                   System.out.println(number+"是 2 位数"); 
    55                    if(d1==d2) 
    56                    { 
    57                        System.out.println(number+"是回文数"); 
    58                    } 
    59                   else 
    60                    {  
    61                      System.out.println(number+"不是回文数"); 
    62                    } 
    63                 } 
    64              else if(d1!=0) 
    65                 { 
    66                    System.out.println(number+"是 1 位数"); 
    67                    System.out.println(number+"是回文数"); 
    68                 } 
    69             } 
    70          else 
    71             { 
    72                System.out.printf("
    %d 不在 1 至 99999 之间",number); 
    73             } 
    74     } 
    75 }

        

      五、编写一个程序,要求用户输入两个整数,求出其加减乘除,并用消息框显示计算结果

     1 import javax.swing.JOptionPane;  // import class JOptionPane
     2 public class NumberCal {
     3    public static void main( String args[] )
     4    {
     5       String firstNumber,   // first string entered by user
     6              secondNumber;  // second string entered by user
     7       int number1,          // first number to 
     8           number2,          // second number to 
     9           result_ = 0;             
    10       String symbol;            //四则运算符号
    11       // read in first number from user as a string
    12       firstNumber =
    13          JOptionPane.showInputDialog( "Enter first integer" );
    14       symbol=JOptionPane.showInputDialog("Enter symbol(+-*/)");
    15       // read in second number from user as a string
    16       secondNumber =
    17          JOptionPane.showInputDialog( "Enter second integer" );
    18       number1 = Integer.parseInt( firstNumber ); 
    19       number2 = Integer.parseInt( secondNumber );  
    20       if(symbol.equals("+"))         {result_=number1+number2;}
    21       if(symbol.equals("-"))          {result_=number1-number2;}
    22       if(symbol.equals("*"))          {result_=number1*number2;}
    23       if(symbol.equals("/"))          {result_=number1/number2;}
    24      
    25       // display the results
    26       JOptionPane.showMessageDialog(
    27          null,number1+symbol+number2+"="+result_ , "Results",
    28          JOptionPane.PLAIN_MESSAGE );
    29 
    30       System.exit( 0 );  
    31    }
    32 }

        

      六、示例程序每次运行时,都会生成不同的字符串(验证码)

     1 import java.util.Random;           //引入随机类包
     2 import javax.swing.JOptionPane;
     3 public class IdentifyingCode {
     4     public static void main(String[] args) {
     5         Random ra=new Random(),flag=new Random();
     6         String identifyCode="",inputCode;
     7         int numberA,numberB,i;
     8         while(true){                    //使用Random随机产生五个大写或小写字符 并加入到验证码字符串identifyCode中
     9             for(i=0;i<5;i++){
    10                 numberA=flag.nextInt(2)+1;
    11                 numberB=ra.nextInt(26)+1;
    12                 if(numberA==1)
    13                     identifyCode+=(char)(numberB+64);
    14                 if(numberA==2)
    15                     identifyCode+=(char)(numberB+96);
    16             }
    17             inputCode=JOptionPane.showInputDialog("请输入验证码:"+identifyCode);
    18             if(inputCode.equals(identifyCode)){
    19                 JOptionPane.showMessageDialog(null,"输入正确!","结果",JOptionPane.PLAIN_MESSAGE);
    20                 break;                     //消息框输入验证码 若正确 则结束程序
    21             }
    22             else{
    23                 JOptionPane.showMessageDialog(null,"输入错误,请重新输入!","结果",JOptionPane.WARNING_MESSAGE);
    24                 identifyCode="";           //验证码输入错误 则重新进入循环 重新输入新的验证码  直至输入正确为止
    25             }
    26         }
    27     }
    28 }

        

      七、猜数字游戏

     1 import java.util.Random;           //引入随机类包
     2 import javax.swing.JOptionPane;
     3 public class Guess {
     4     public static void main(String[] args) {
     5         Random ra=new Random();
     6         int flagNumber=ra.nextInt(100)+1,//随机产生1-100整数
     7                 guessNumber=0;
     8         String strNumber;
     9         while(true){//循环直至猜对才结束
    10             strNumber=
    11                     JOptionPane.showInputDialog("请猜一个1-100范围内的整数:");
    12             //消息框输入所猜整数
    13             guessNumber=Integer.parseInt(strNumber);
    14             if(flagNumber==guessNumber){
    15                 JOptionPane.showMessageDialog(null,"猜对了!","结果",JOptionPane.PLAIN_MESSAGE);
    16                 break;  //猜对了  结束
    17             }
    18             if(flagNumber<guessNumber){
    19                 JOptionPane.showMessageDialog(null,"猜大了!","结果",JOptionPane.WARNING_MESSAGE);
    20             }//猜大了  继续循环
    21             if(flagNumber>guessNumber){
    22                 JOptionPane.showMessageDialog(null,"猜小了!","结果",JOptionPane.WARNING_MESSAGE);
    23             }//猜小了  继续循环
    24         }
    25     }
    26 }

        

        

        

        

        

  • 相关阅读:
    SqlServer该如何合适的索引
    SqlServer该如何合适的索引
    SQLServer跨库查询分布式查询
    SQLServer跨库查询分布式查询
    sqlserver 字符串能不能执行
    WPF添加类库并引用
    StringUtils类常用方法
    如何理解.NET开发中的x86/x64/AnyCPU
    JS获取url参数
    MySQL CONCAT函数:字符串拼接
  • 原文地址:https://www.cnblogs.com/yifengyifeng/p/5933786.html
Copyright © 2020-2023  润新知