2019-2-26

一、枚举:是由一组固定的常量组成的类型

二、使用枚举的意义:

  1、类型安全

  2、易于输入

  3、代码清晰

 三、包装类

  1、包装类把基本类型数据转换为对象

    每个基本类型在java.lang包中都有一个相应的包装类

  2、包装类的作用:

    A、提供了一系列实用的方法

    B、集合不允许存放基本数据类型数据,存放数字时,要用包装类型

  3、八大基本数据类型对应的包装类

    int:Integer  整型

    byte:Byte  字节型

    long:Long  长整型

    float:Float  浮点型

    short:Short  短整型

    double:Double  浮点型

    boolean:Boolean  布尔型

    char:Character  字符合

    

 四、包装类的构造方法

  1、所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例

    如:Integer i = new Integer(1);

  2、除Character类外,其它包装类可将一个字符串作为参数构造它们的实例

    如:Integer i = new Integer("123");

  PS:1、Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false

    2、当Number包装类构造方法参数为String类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,否编译通过,运行时       NumberFormatException异常

  

五、包装类的常用方法

  1、装箱:基本类型转换为包装类的对象

    

    方法一:包装类的构造方法

    方法二:使用valueoff()方法

    

  2、拆箱:包装类对象转换为基本类型的值

    方法一:使用XXXValue()方法;

    

    方法二:使用parseXXX()方法

    

  3、toString():以字符串形式返回包装对象表示的基本类型数据(基本类型->字符串)

  

   4、包装类的特点

    1、JDK1.5后,允许基本数据类型和包装类型进行混合数学运算

    2、包装类并不是用来取代基本数据类型的,在基本数据类型需要用对象表示时使用

六、Math类

  

  

   

作业:

  1、随机9个手机号码,第一位为1,第二位不为0、1、2

package com.java_zuoye;
/**
 * 随机9个手机号码,第一位为1,第二位不为0、1、2
 */
import java.util.Random;

public class OneJob {
	public String haoma() {
		Random rand = new Random();
		String phone = null;
		for(int i=1;i<12;i++) {
			if(i==1) {
				phone = "1";
			}else if(i==2) {
				phone = phone + (rand.nextInt(7)+3);
			}else {
				phone = phone + rand.nextInt(10);
			}
		}
		return phone;
		
	}
	public static void main(String[] args) {
		OneJob oj = new OneJob();
		for(int i = 1;i<10;i++) {
			System.out.println("第"+i+"个手机号码是:"+oj.haoma());
		}
		
/*		Random rand = new Random();
		for(int i = 1;i<10;i++) {
			int num1 = 1;
			int num2 = rand.nextInt(7)+3;
			int num3 = rand.nextInt(10);
			int num4 = rand.nextInt(10);
			int num5 = rand.nextInt(10);
			int num6 = rand.nextInt(10);
			int num7 = rand.nextInt(10);
			int num8 = rand.nextInt(10);
			int num9 = rand.nextInt(10);
			int num10 = rand.nextInt(10);
			int num11 = rand.nextInt(10);
	
			System.out.println("第"+i+"个手机号码是:"+num1+num2+num3+num4+num5+num6+num7+num8+num9+num10+num11);
		}*/
	}
}

  结果示例:

  2、随机一个6位的验证码,要求要有大小写字母与数字

package com.java_zuoye;
/**
 * 随机6位验证码,要求包含大小写字母与数字
 */
import java.util.Random;

public class TwoJob {
	public static void main(String[] args) {
		Random rand = new Random();
		int b = 0;//判断是否有数字出现
		int c = 0;//判断是否有大写字母出现
		int d = 0;//判断是否有小写字母出现
		String k;//记录验证码
		char code;
		do {
			int a = 0;
			//初始化验证码字符串
			k = "";
			do {
				int num = rand.nextInt(123);
				if(num>=48&&num<=57) {
					code = (char)num;
					k += code;
					b++;
	//				System.out.print(code);
					a++;
				}else if(num>=65&&num<=90) {
					code = (char)num;
					k += code;
					c++;
	//				System.out.print(code);
					a++;
				}else if(num>=97&&num<=122) {
					code = (char)num;
					k += code;
					d++;
	//				System.out.print(code);
					a++;
				}
			}while(a<6);
		//若随机后没有包含大小写与数字,则继续随机
		}while(!(b>=1&&c>=1&&d>=1));
		System.out.println(k);
	}
}

  结果示例:

猜你喜欢

转载自www.cnblogs.com/chenxj/p/10431672.html
今日推荐