java学习笔记第18天2018.09.20-System类、集合

复习:
String:
常量,不可改变,可以改变的引用
常量池: 如果字符串存在,则不开辟新空间,直接使用。
常用方法:
StringBuffer/StringBuilder:
可以改变的字符序列。
append():追加

包装类:
	基本类型---》包装类,Integer  Character
	字符串,包装类,基本类型间的转换
	自动装箱和自动拆箱
	Integer in = 123;
	int num = in;

正则表达式:
	由 字母  数字  符号 组成的有规则的字符串,可以去校验指定的字符串。
	1.匹配	matches
	2.切割  split
	3.替换	replaceAll
	4.获取	
		1.将正则规则封装到正则对象      Pattern  p = Pattern.compile(regex);
		2.将正则对象与要操作的字符串相结合,得到匹配器对象   Mathter m = p.matcher(str);
		3.使用匹配器对象,获取符合规则内容,	先判断后获取     m.find(),m.group()

System:
该类final类,继承Object,不能实例化。
字段:
out: 标准的输出设备
err: 标准的错误输出设备
in: 标准的输入设备
方法:
void exit(0) :系统退出
long currentTimeMills():获取当前系统时间毫秒值
Property getproperties():获取系统所有的属性名和属性值
String getProperty(name):根据name属性返回属性值

Math:
该类final类,继承Object,类中方法和属性都是静态的,不需要对象。
属性:
E :自然底数
PI:圆周率
方法:
ceil(double a):>= a 的最小整数
floor(double a): <= a 的最大整数
round(double a): 四舍五入
pow(a,b): a的b次幂
random(): 随机数
Random:
java.util
nextInt(num) :返回的是 [0,num)间的随机整数
jdk5.0特性:

1.静态导入
	import  包名.类名;  导入指定的类
	静态导入:导入的是静态成员(变量和方法)
	语法格式:
		import static  包名.类名.静态成员名;
		import static  包名.类名.*;
	好处:
		简化了代码的编写
	弊端:
		阅读性变差
2.可变参数
	格式:  数组类型...   变量名
		eg: int... num 
	底层原理是:一个数组,可以按照数组的方式进行操作
	注意:可变参数在方法参数列表上,只能出现一次,并且放在参数列表的最后边

3.for-each语句
	for(数据类型  变量名 : 被遍历的对象(数组/集合)){
		
	}
	作用:遍历操作

java.util包
Date类:
日期类,可以精确到毫秒。该类大部分方法已过时,用Calendar类替代。
构造方法:
new Date()
new Date(long time)
DateFormat:
抽象类
static getInstance():获取DateFormat的实例对象
String format(Date date):可以将date进行默认格式化

--SimpleDateFormat:
	new SimpleDateFormat(模式):当调用format方法时,可以按照指定的模式去进行格式化。
	
	eg:
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
	String date = sdf.format(new Date());

	eg:
	可以将一段表示时间日期的字符串,按照模式进行解析,解析为Date对象
	String  str = "2018-09-20 11:22:55";
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
	Date date = sdf.parse(str);

Calendar:
日历类,抽象类
static getInstance():可以获取Calendar实例对象
int get(Field):根据Field获取对应的数据
eg:
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);

集合:
数组:
1.元素统一
2.长度固定
3.即可以存储引用类型也可以存储基本类型
集合:
1.不同类型的数据
2.长度可变
3.存储引用类型

 集合框架:
 java.util包:

 Collection:
 	---List
	    ---ArrayList
	    ---LinkedList
	    ---Vector
	---Set
	    ---HashSet
	    ---TreeSet

 Map:
 	---HashMap
	---TreeMap
import java.util.Random;
/*
 * math类练习
 */
public class Demo {
	public static void main (String [] args) {
//		System.out.println(Math.sqrt(16));//开平方
//		System.out.println(Math.pow(2,3));//第一个数为底数,第二个数为指数,
//		System.out.println(Math.random());//[0.0-1.0)之间的随机数
//		System.out.println(Math.E);//自然底数
//		System.out.println(Math.PI);//常量
//		System.out.println(Math.ceil(4.56));//大于当前数的最小整数
//		System.out.println(Math.floor(4.56));//小于当前数的最大整数
//		System.out.println(Math.round(4.67));//四舍五入
//		
//		Random r = new Random();//创建产生随机数的那个对象
////		System.out.println(r.nextInt(6));//产生随机数
//////		for(int i = 0;i<6;i++) {
////			System.out.println(r.nextInt(6)+1);
////		}
//		System.out.println(r.nextDouble());//。[0.0-1.0)
		
		
		
	}
}

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.junit.Test;

/*
 * 日期时间类
 */
public class Demo02 {
  @Test
  public void test() throws ParseException {
//	  Date d = new Date();//把当前时间封装成Date对象
//	  long s = d.getTime();//获取DATE对象所表示的当前时间对应的毫秒值
//	  System.out.println(d);//毫秒值
//	  System.out.println(s);//当前时间
	  
//	  Date s2 = new Date(999900001231L);//给定一毫秒值
//	  System.out.println(s2);//打印输出的是对应的时间信息
	  
	  
//	  DateFormat format = DateFormat.getInstance();//获取到DateFormat对象
//	  Date d = new Date();
//	  String s = format.format(d);//按照默认格式,显示日期和时间
//	  System.out.println(s);
	  
//	  Date d = new Date();
	  SimpleDateFormat sdf = new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH:mm: ss");
//	  String Date1= sdf.format(d);
//	  System.out.println(Date1);//按照自定义模式解析
	  
	  
	  String  str = "2018 年 09 月 20 日 19:47: 06";
	  Date date2 = sdf.parse(str);
	  System.out.println(date2);
  }
}

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

import org.junit.Test;

/*
 * 集合Collection
 */
public class Demo03 {
	@Test
	public void test() {
		Collection coll = new ArrayList();
		coll.add("我爱学编程");// 将一个对象添加到集合容器中
////	System.out.println(coll);
		coll.add("0903Java");
		coll.add("123");
////		System.out.println(coll);
////		coll.remove("0903Java");//从集合中移除指定的单个实例
//		System.out.println(coll);
		
//		boolean b = coll.contains("123");// 判断集合中是否包含此元素,包含返回true,反之返回false.
//		System.out.println(b);
		
//		boolean cs = coll.isEmpty();// 判断此集合是否为空,空为true,非空为false。
//		System.out.println(cs);
		
//		System.out.println(coll.size());// 获取此集合的元素个数,返回值为int类型
		Collection coll1 = new ArrayList();
		coll1.add("123");
		coll1.add("567");
//		coll.addAll(coll1);// 将指定集合中的所有元素添加到另一个集合中
//		System.out.println(coll);
		
//		boolean c = coll.containsAll(coll1);// 此集合中是否包含指定集合的所有元素,包含返回true,反之为false。
//		System.out.println(c);
		
//		coll.retainAll(coll1);//保留了此集合中指定集合包含的元素。
////	System.out.println(coll);
		
//		coll.removeAll(coll1);//移除此集合中指定集合包含的元素。
//		System.out.println(coll);
		
//		coll.clear();//移除此集合中的所有元素
//		System.out.println(coll);
		
		Iterator it =coll.iterator();//迭代器的使用
		while(it.hasNext()) {
			System.out.println(it.next());		
		}
	}
}

/*
 * 可变参数
 */
public class Demo04 {
	public static void main(String [] args) {
	   int s = getSum(1,2,3,4,5);
	   System.out.println(s);
	}
	//可变参数列表中可变参数只有一个,且写在最后面。
	private static int getSum(int x,int...arr) {
		int sum = 0 ;
		for(int i =0;i<arr.length;i++) {
			sum +=arr[i];
		}
	    return sum;
	}
}

import java.util.Properties;
/*
 * System类练习
 */
//import static java.lang.System.out;
public class Demo05 {
	public static void main(String[] args) {
//		System.out.println("我爱学编程");
		
//		out.println("我爱java");//静态导入包后
		
//		System.err.println("我爱北京天安门");//输出错误的语句,字体为红色。
		
//		Scanner input = new Scanner(System.in);//标准的输入设备,需使用Scanner。
//		int s = input.nextInt();
//		System.out.println("s="+s);
		
//		System.exit(0);//强制退出JVM,系统退出。
		
//		long time = System.currentTimeMillis();//获取当前时间的毫秒值
//		System.out.println(time);
		
//		String s = System.getProperty("System.year");//根据指定的属性名获取属性值
//		System.out.println(s);
		
		Properties prop = System.getProperties(); //获取所有的属性名和属性值,存储到Properties对象中
		prop.list(System.out);  //列出所有的属性名和属性值
		
	
	}
}

import java.util.Calendar;

/*
 * Calendar日历类
 */
public class Demo06 {
	public static void main(String[] args) {
		Calendar c = Calendar.getInstance();//获取Calendar对象
		System.out.println(c);//包含所有信息
		
		int year =c.get(Calendar.YEAR);
		System.out.println(year);
		int month = c.get(Calendar.MONTH);
		System.out.println(month+1);
		int day = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(day);
		int hour = c.get(Calendar.HOUR);
		System.out.println(hour);
		int minute = c.get(Calendar.MINUTE);
		System.out.println(minute);
		int second = c.get(Calendar.SECOND);
		System.out.println(second);
	}
}

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

/*
 * List接口
 */
public class Demo07 {
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add("ABC01");
		list.add("abc02");//向集合的尾部增加元素
//		System.out.println(list);
//		list.add(1,"bcd03");//向集合指定的位置插入元素
//		System.out.println(list);
//		System.out.println(list.get(0));//根据索引返回元素
//		System.out.println(list.remove(0));//根据索引删除元素,并返回删除的元素
//		System.out.println(list.set(1, "HELLO"));//根据索引替换指定内容,并返回原内容
		
		//遍历
		for(int i =0 ; i<list.size();i++) {
			System.out.println(list.get(i));
		}
		//list特有的迭代器
		System.out.println("--------------------------");
		ListIterator li = list.listIterator();//从前往后遍历
		while(li.hasNext()) {
			System.out.println(li.next());
		}
		while(li.hasPrevious()) {//从后往前遍历
			System.out.println(li.previous());
		}
		//增强for循环遍历
		for(Object obj : list) {
			System.out.println(obj);
		}
	}
	
}

import java.util.ArrayList;
import java.util.Collection;

import org.junit.Test;

/*
 * 集合遍历小细节,类型转换
 */
public class Demo08 {
	@Test
	public void test() {
		Collection coll =new ArrayList();
		coll.add(new Person("小明1",18));
		coll.add(new Person("小明2",20));
		coll.add(new Person("小明3",22));
		
		for(Object obj:coll) {
			Person p =(Person)obj;
			p.method();
		}
	}
}


class Person{
	String name;
	int age;
	
	public Person(String name,int age) {
		this.name = name;
		this.age = age;
	}
	public void method() {
		System.out.println("name:"+name+"\t"+"age:"+age);
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_43117449/article/details/82793543