首页 > 代码库 > Java第四周学习日记(绪)

Java第四周学习日记(绪)

1.静态导入的作用:简化书写
静态导入可以作用一个类的所有静态成员
静态导入格式:import static 包名.类名
静态导入要注意的事项:
1.如果静态导入的成员与本类的成员存在同名的情况下,那么默认使用本类的静态成员,如果需要制定使用静态导入的成员,那么需要在静态成员前面加上类名。


2.增强for循环
增强for循环的作用,简化迭代器的书写格式
增强for循环的适用范围:如果是实现了Iterabl接口的对象或者是数组对象,,都可以使用增强for循环
增强for循环的格式:
for(变量类型 变量名:遍历的目标){

}
增强for循环要注意的事项:
1.增强for循环的底层还是使用了迭代器遍历,只不过不需要我们去获取这个迭代器,所以在使用增强for循环变量元素的过程中不准使用集合对象对集合的元素个数进行修改。
2.迭代器遍历元素与增强for循环遍历元素的区别:使用迭代器遍历集合的元素时可以删除集合的元素,而增强for循环遍历集合的元素时,不能调用迭代器的remove方法删除素。
3.普通for循环与增强for循环的区别:普通for循环可以没有遍历的目标,而增强for循环一定要有遍历的目标。
4.Map集合没有实现Iterable接口,所以map集合不能直接使用增强for循环,如果需要使用增强for循环,需要借助与collection的集合遍历。凡是一个数组对象,内存地址都是以中括号开头的。


3.可变参数
可变参数的格式是:
    数据类型...变量名
可变参数要注意的细节:
    1.如果一个函数的形参使用上了可变参数之后,那么调用该方法的时候可以传递参数也可以不传递参数。
    2.可变参数实际上是一个数组对象。
    3.可变参数必须位于形参中的最后一个。
    4.一个函数最多只能有一个可变参数,因为可变参数要位于形参中的最后一个的位置

4.自动装箱和拆箱
自动装箱:自动把java中的基本数据类型转换成对象类型的数据。
java是面向对象的语言,任何事物都可以使用类进行描述,sun就使用了一些类
自动拆箱:把引用类型的数据转换成基本类型的数据。
描述java中八种基本数据类型标准。
基本数据类型    包装类型
byte        Byte
short        Short
int        Integer
。。。

小知识点:Integer类内部维护了缓冲数组,该缓冲数组存储了-127~128这些数据在一个数组中,如果你获取的数据是落入到这个范围之内的,那么就直接从该缓冲区中获取对应的数据。


5.枚举值

  问题:某些方法所接收的数据必须是在固定范围之内的。

  解决方案:自定义一个类,然后私有化构造函数,在自定义类中创建本类的对象来解决。

JDK1.5对以上问题提出了新的解决方案,就是使用枚举类解决。一些方法在运行时,他需要的数据不是任意的,而必须是一定范围内的值,JDK1.5后采用枚举类予以解决。

枚举类的定义格式:

  enum 类名{

      //枚举值

  }

枚举要注意的细节:

  1.枚举类也是一个特殊的类。

  2.枚举值默认的修饰符是public ststic final 。

  3.枚举值的数据类型是枚举值所属的类的数据类型,枚举值是指向了本类的对象的,其实枚举值就是枚举类的对象。

  4.枚举类的构造方法默认的修饰符是private。

  5.枚举类可以定义自己的成员变量与成员函数。

  6.枚举类可以自定义构造函数,但是构造函数的修饰符必须是private,否则就可以随意创建枚举类的对象了,失去了枚举类的存在意义。

  7.枚举类可以存在抽象的方法,但是枚举值必须要实现抽象的方法。

  8.枚举值必须要位于枚举类的第一个语句,否则报错。

 

枚举类的应用:

针对情况:

一些方法在运行时,他需要的数据不是任意的,而必须是一定范围内的值。

  比如:方向  性别  季节  星期

switch语句使用的类型:

  byte  char  short  int  String  枚举类型

enum Season{    spring,summer,autumn,winter;}enum Person2{    student,worker;}public eclass Demo8 {    public static void main(String[] args) {        Season season = Season.summer;        switch(season){            case spring://只需要写枚举值即可,不需要再声明是该枚举值是属于哪个类的。                System.out.println("春天...");                break;            case summer:                System.out.println("夏天...");                break;            case autumn:                System.out.println("秋天...");                break;            case winter:                System.out.println("冬天...");                break;                }    }}

 

IO流(input output)

IO技术主要的作用是用于解决设备与设备之间的数据传输问题。比如说:键盘--->内存  内存的数据--->硬盘  

IO技术的应用场景:

  导出报表,上传大头照,下载,解释xml文件

数据保存到硬盘上,该数据就可以做到永久性的保存。数据一般是以文件的形式保存到硬盘上的。

所以sun就使用了一个File类描述了文件或文件夹的。

File类的构造方法:

File(File parent, String child)
          根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String pathname) 指定文件或文件夹的路径创建一个File对象。
          通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(String parent, String child)
          根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

 

Java第四周学习日记(绪)