首页 > 代码库 > Java tutorial 02
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); //true12 //列出它的所有值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("\n%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 string12 firstNumber =13 JOptionPane.showInputDialog( "Enter first integer" );14 symbol=JOptionPane.showInputDialog("Enter symbol(+-*/)");15 // read in second number from user as a string16 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 results26 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 }
Java tutorial 02
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。