java tutorial class_Java tutorial 02

一、EnumTest.java枚举类型

1 public classEnumTest {2 public static voidmain(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};

4eb7a14a964611b8159f912377d58435.png

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

二、TestDouble.java测试浮点数

1 public classTestDouble {2

3 public static voidmain(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 }

b063e02e8813c3b7d70c45dc43a6f50c.png

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

三、System.out.println()

1 public classTestAdd {2 public static voidmain(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 }

f2591f6934d4cc42000e77f09a2144d8.png

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

四、回文数(1-99999)

1 importjavax.swing.JOptionPane;2 public classNumber3 {4 public static voidmain(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 }

e522ffab85df5c983db54afcf1ac62fb.png

bb3229faebf94eff58750e7c147ce0fe.png

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

1 import javax.swing.JOptionPane; //import class JOptionPane

2 public classNumberCal {3 public static voidmain( 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 }

688994bd85ee129c9b5f78ec717dd96d.png

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

1 import java.util.Random; //引入随机类包

2 importjavax.swing.JOptionPane;3 public classIdentifyingCode {4 public static voidmain(String[] args) {5 Random ra=new Random(),flag=newRandom();6 String identifyCode="",inputCode;7 intnumberA,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 }

9a07d0345eb43cb49044066296811f4f.png

78ec2a31371519e2b3a5be11096fca11.png

3af5265b4b5c061f8bafeb9c0fb470fe.png

七、猜数字游戏

1 import java.util.Random; //引入随机类包

2 importjavax.swing.JOptionPane;3 public classGuess {4 public static voidmain(String[] args) {5 Random ra=newRandom();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

21 if(flagNumber>guessNumber){22 JOptionPane.showMessageDialog(null,"猜小了!","结果",JOptionPane.WARNING_MESSAGE);23 }//猜小了 继续循环

24 }25 }26 }

84aa640556f631d9b10aca2246f5ab2e.png

a563206674967ba0b5113452801b30a2.png

6c683c1db3b8117611dc46f7e21d8bb1.png

c73bc8af2e6288eabd3357df3ff287c6.png

507c4bd279789b8217def4da832e9dd7.png

2bea62ecb702a07bd72126ab11b04d0c.png

f384dfb7a78d31fc680954e82d9ef543.png

e718ca14f8f601e562b3af82e72080b9.png

cdec9ce547efb48da4ed563bad14019c.png

71c326385f128b455a75202870980c5e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值