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 实例。

时间: 2024-08-24 02:17:08

Java第四周学习日记(绪)的相关文章

Java第四周学习日记

Day01 双列集合: 在现实生活中有些数据是以映射关系存在的,也就是成对存在的,比如夫妻等.单例集合无法表现出映射关系,所以学习双列集合. 双列集合无迭代器. 1.Map 双列集合: ————————| Map 如果是实现了Map类接口的集合类,具备的特点:存储的数据都是以键值对的形式存在的,键不可重复,值可以重复. ————————————| Hashmap 底层也是基于哈希表实现的. ————————————| Treemap ————————————| Hashtable 1-1 Has

20165210 Java第四周学习总结

20165210 Java第四周学习总结 教材学习内容 第五章学习总结 子类与父类: 子类: class 子类名 extends 父类名 { ... } 类的树形结构 子类的继承性: 子类和父类在同一包中的继承性 子类和父类不在同一包中的继承性 继承关系的UML图 protected的进一步说明 子类与对象 子类对象的特点 关于instanceof运算符 成员变量的隐藏的方法重写 成员变量的隐藏: 子类对象以及子类自己定义的方法操作与父类同名的成员变量是指子类重新声明的这个成员变量. 子类对象仍

JAVA 第四周学习总结

20175308 2018-2019-2 <Java程序设计>第四周学习总结 教材学习内容总结 继承是一种由已有的类创建新类的机制.Java不支持多重继承,子类只能有一个父类. 使用extends来定义一个类的子类,如: class People{ ..... } class ChinesePeople extends People{ ....} ChinesePeople类即被定义为People的子类. 如果子类和父类都在一个包中,那么子类自然地继承了父类中不是private的成员变量/方法

java第四周学习总结

学号20145336 <Java程序设计>第4周学习总结 教材学习内容总结 继承 继承符合(Don't Repeat Yourself)原则,即在自己的代码中不要重复自己编写的信息,这在多层框架中十分有用. 在上图中RPG.java是测试代码,继承的消除了SwordMan.java, Magician.java RPG.java中的重复代码 + 多态与is-a 编译程序就是语法检查器,要知道程序片段为何可以通过编译,为何无法通过编译,就是将自己当做编译程序,检查语法逻辑是否正确,方式是从=号的

java第四周学习

这一周学习的还是面向对象的方法和应用 Java中方法的使用和注意事项 如果没有返回值,就不允许通过return关键字返回结果 方法中不允许嵌套使用 Return返回值只允许返回一个值,不允许返回多个 逻辑代码不能写在方法的外面 一个类中允许出现两个相同的方法名,但是参数不能相同 方法的重载 指的是方法名一致,参数的类型不一致或者参数的个数不一致,参数类型的位置不一致,或者返回值类型不一致的定义方法 方法的重载可以提高编程效率 对象编程和面向过程编程 面向对象编程的好处: 1.更接近人类的一个思维

java第二周学习日记

day01 1.抽象类 (1)抽象类的应用场景: 我们在描述一类事物的时候,发现该种事物确实存在着某种行为,但是这种行为目前不是具体的,那么我们可以抽取这种行为的声明,但是不去实现该种行为,这时候这种行为我们称作为抽象的行为,我们就需要使用抽象类. (2)抽象类要注意的细节: 1.如果一个函数没有方法体,那么该函数必须要使用abstract修饰,把该函数修饰成抽象的函数. 2.如果一个类出现了抽象的函数,那么该类也必须使用abstract修饰. 3.如果一个非抽象类继承了抽象类,那么必须把抽象类

20165220 Java第四周学习总结

教材学习内容总结 super:使用关键字super来访问和调用被子类隐藏的成员变量和方法. 接口:用关键字interface来定义一个接口.接口由类来实现以便使用接口中的方法,用关键字implements声明来实现一个或多个接口. 当子类新声明的变量名与继承的变量名相同时,继承的变量名会被隐藏.但是我们仍可以通过继承的方法来对隐藏的变量名进行操作.(继承的方法所操作的成员变量一定是被子类继承或隐藏的成员变量.) 上转型对象.通过把子类创建的对象的引用赋给父类创建的对象来得到上转型对象.上转型对象

java异常说明学习日记

在java中异常说明是一种java强制使用的方法,目的是为了以一种礼貌的方式告知客户端程序员某个方法可能会抛出的异常类型. 写法写法如下: void f() throws Exception1,Exception2....{ code block } 表示本方法不会抛出以上的这些异常(除了从RuntimeException继承的异常,它们可以在没有异常说明的情被下呗抛出), 不过这里有一个可以作弊的地方,可以声明方法将抛出异常,但是实际上并没有抛出.编译器相信了这个异常并为这个异常先占位置,以后

20165221 JAVA第四周学习心得

教材内容总结 子类与继承 子类与父类 定义的标准格式为 class 子类名 extends 父类名 { ... } 如果一个类的声明中,没有使用extends关键字,则默认为Object类. 子类的继承性 判断是否继承的标准是看子类能否操作父类的该成员变量,若子类与父类在同一个包中,继承不是private的方法,不在同一个包中,子类只继承protected与public类. 子类与对象 关于instanceof运算符应该有左面的操作元是对象,右面的操作元是类 成员变量的隐藏和方法重写 编写子类时