⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 day16.txt

📁 达内科技上课的 java学习笔记 分为18天学完
💻 TXT
字号:
                  CoreJava(day16)  -- 李艳

国际化:
	即如何让全世界的人都能用一盘棋

	1、java.util.Locale类:(课堂代码:TestLocale.java)

			 代表国家、地区、语言

		Locale lc=Locale.CHINA; 推荐使用这种方式获得一个Locale对象

	
	2、java.text.*  格式类
		
		数字:java.text.NumberFormat  (课堂代码:TestNumber.java)

			货币:(课堂代码:TestCur.java)
				public static NumberFormat getCurrencyInstance(Locale inLocale)返回指定语言环境的货币格式。 

		日期: 关于Date的类有很多
			Date + Calendar = 日期
			
			Date和Calendar是一个时间点,参照美国海军总局,以毫秒为单位,Calendar支持年月日

		      java.util.Date :(课堂代码:TestDate.java)

				在类 Date 所有可以接受或返回年、月、日期、小时、分钟和秒值的方法中,将使用下面的表示形式: 

				年份 y 由整数 y - 1900 表示。 
				月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。 
				日期(一月中的某天)按通常方式由整数 1 至 31 表示。 
				小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m. 的时间是 12 点。 
				分钟按通常方式由 0 至 59 的整数表示。 
				秒由 0 至 61 的整数表示;值 60 和 61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的 Java 实现中。
					于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定。

				public Date(): 返回相对1970年1月1日0时0分0秒的当前时间
				
				new Date():返回当前时间。

				public long getTime(): 取时间差,自 1970 年 1 月 1 日 00:00:00 GMT 以来此日期表示的毫秒数。
							
		      java.util.Calendar:
				
				new Calendar()--->getTime()---->返回指定日期

		      	java.util.GregorianCalendar 是java.util.Calendar的子类  
			
				月份是从0开始的,会顺延的。

			java.text.DateFormat

			java.text.SimpleDateFormat : (课堂代码:TestDateFormat.java)
				
				y--->年,M--->月,d--->日,H----->小时(24小时制),h---->(12小时制),S----->毫秒数  s----->分钟内的秒数
		
	3、java.util.ResourceBundle:(课堂代码:MyResource.java,MyResource_zh_CN.java,TestNotePad.java)

		1、先写各个语言对象文字类,extends ListResoureBundle--->重写getContexts---->返回对象数组(二维:key--value)
		2、在程序中按照Locale(本地)ResourceBundle的Name(String)来选择对应的资源,调用getString/getObject取得value
		
		所有语言文字(不可能)

		 	默认(default)---->不带后缀
		 	中文---->默认名+_zh+_CN  ,zh是语言,CN是国家

			java.util.ListResourceBundle

		若都是字符文件可以使用属性文件

java 5.0的新特性:

	JAVA的发展史:
		1.0    JAVA产生(Bug多)
		1.2    成功
		1.3    区别不大
		1.4    nio--->无阻塞、反射、断言
		5.0    Sun--->历经九年--->又名Tiger
	
	1、自动封箱、自动解箱 
	2、静态导入		
	3、for--each 循环 			
	4、枚举(5.0的关键字enum,相当于interface,class)
	5、泛型(重点)
	6、自增参数(...) 自增数组+自增参数(0--n)
	7、元数据(注释) EJB 3.0中使用,项目中推广度一般
	8、Scanner (格式化IO)


	一、自动封箱、自动解箱 (课堂代码:AutoBox.java)

		简单类型---->封装类

		自动装箱时,小于127的数字==是成立的。
		null无法自动解箱,null与0是两个概念	
		Long l2=23;先装箱,后赋值,Long不能是Integer
		long l3=new Integer(23);先解箱,后赋值	

	二、for-each循环 (课堂代码:AutoBox.java)

		优点:(1)简单(2)只读时首选(3)方式统一(可以处理集合,数组)
		缺点:(1)不能同时操作两个或者以上的集合
		      (2)不支持修改、删除

		不能在循环内构造Iterator,否则死循环:(课堂代码:TestIterator.java)

	三、可变参数 (课堂代码:TestV.java)

		用于取代数组,形式为:类型...

		按数组处理,允许传递非数组的值(0--n个,中间用逗号分隔)

		一个方法中,可变参数只允许出现一次(0--1),若出现则必须出现在最后一个参数的位置(位置固定在最后)
		
	四、静态导入 (课堂代码:TestStatic.java)
		
		(1)用于导入类中的静态属性和静态方法。

		(2)格式:import static 包名.类名.属性名/方法名, 也可以用*代表所有的静态属性和静态方法,非静态的不行	
		
		(3)静态导入时,不允许导入同名的方法或属性。(不可重复)
		
		(4)使用时可省略 类名.  ,就像本类方法一样调用
	
		不建议使用,使代码的可读性降低

	五、格式化IO  (课堂代码:TestScanner.java)
			
		java.util.Scanner

	六、枚举(enum)  (课堂代码:AllColor.java,TestEnum.java)

		列表、清单,可以用class/interface替代,但一般不替代,是一个特殊类。
	
		(1)显示一些同类型的清单(例:Color)
		(2)构造器可以有,但不能是public的。
		(3)有私有的默认无参构造器,显示定义后会消失(和类一样)。
		(4)属性、方法和类一样
		(5)枚举是final的(对于外部来说无法继承),但是在枚举的内部可以去实现(Color)。
			
		在enum中可以有抽象方法,但在清单中所有类都必须实现此抽象方法。
		

		 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -