乙巳🐍年

acc8226 的博客

对于 Java 5 之前程序员而言,使用集合经常会面临一个很尴尬的问题:放入一个种特定类型,但是取出时候全部是 Object 类型,于是在具体使用时候需要将元素强转换为特定类型。但是强制类型转换是有风险的,如果不进行判断就臆断进行类型转换会发生 ClassCastException 异常。

泛型的引入可以将这些运行时异常提前到编译期暴露出来,这增强了类型安全检查。Java 5 之后提供泛型(Generics)支持,使用泛型可以最大限度地重用代码、保护类型的安全以及提高性能。泛型特性对 Java 影响最大是集合框架的使用。

阅读全文 »

File 类

将文件和文件夹封装成对象,方便操作文件和文件夹

1
2
3
File(String pathname); 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 
File(String parent, String child); 根据parent路径名字符串和 child 路径名字符串创建一个新 File 实例。   
File(File parent, String child); 根据parent抽象路径名和 child 路径名字符串创建一个新 File 实例。

提示:所有在 java.io 中的类都将相对路径名解释为以用户工作目录开始,你可以通过调用 System.getProperty("user.dir") 来获得这个信息

警告: 由于反斜杠字符在 Java 字符串中是转义字符,因此要确保在 Windows 风格的路径名中使用 \\(例如,C:\\Windows\\win.ini)。在 Windows 中,还可以使用单斜杠字符(C:/Windows/win.ini),因为大部分 Windows 文件处理的系统调用都会将斜杠解释成文件分隔符。但是,并不推荐这样做,因为 Windows 系统函数的行为会因与时俱进而发生变化。因此,对于可移植的程序来说,应该使用程序所运行平台的文件分隔符,我们可以通过常量字符串 java.io.File.separator 获得它。

阅读全文 »

完整的流家族

IO(Input Output)流

  • IO 流用来处理设备之间的数据传输
  • Java 对数据的操作时通过流的方式
  • Java 用于操作流的对象都在 IO 包中
  • 流按操作数据分为两种: 字节流和字符流
  • 流按类型分为: 输入流, 输出流

输入流与输出流的层次结构

Reader 和 Writer 的层次结构

IO 流常用基类

  • 字节流的抽象基类对象: InputStream, OutputStream
  • 字符流的抽象基类对象: Reader, Writer

注:有这四个类派生出来的子类名称都是由其父类名作为子类名的后缀

如: InputStream 的子类 FileInputStream
如: Reader 的子类 FileReader

阅读全文 »

Java SE 提供 java.net 包,其中包含了网络编程所需要的最基础一些类和接口。

这些类和接口面向两个不同的层次:基于 Socket 的低层次网络编程和基于 URL 的高层次网络编程,所谓高低层次就是通信协议的高低层次,Socket 采用 TCP、UDP 等协议,这些协议属于低层次的通信协议;URL 采用 HTTP 和 HTTPS 这些属于高层次的通信协议。低层次网络编程,因为它面向底层,比较复杂,但是“低层次网络编程”并不等于它功能不强大。恰恰相反,正因为层次低,Socket 编程与基于 UR L的高层次网络编程比较,能够提供更强大的功能和更灵活的控制,但是要更复杂一些。

数据交换格式

数据交换格式主要分为纯文本格式、XML 格式和 JSON 格式,其中纯文本格式是一种简单的、无格式的数据交换方式。

JSON 文档结构

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。所谓轻量级,是与 XML 文档结构相比而言的,描述项目的字符少,所以描述相同数据所需的字符个数要少,那么传输速度就会提高,而流量却会减少。

构成 JSON 文档的两种结构为对象和数组。对象是“名称-值”对集合,它类似于Java中Map类型,而数组是一连串元素的集合。

JSON 对象

对象是一个无序的“名称/值”对集合,一个对象以{(左括号)开始,}(右括号)结束。每个“名称”后跟一个:(冒号),“名称-值”对之间使用,(逗号)分隔。JSON 对象的语法表如图。

阅读全文 »

三种基本结构

顺序结构、循环结构和选择结构是程序设计中常见的三种基本结构,它们共同构建了程序的执行流程:

  1. 顺序结构:就像一条直线,代码按照从上到下的顺序依次执行,一个步骤接着一个步骤。这种结构简单直接,适用于执行一系列连续的操作。
  2. 选择/分支结构:它就像是一个岔路口,根据不同的条件来决定走哪条路。通过选择结构,我们可以根据不同的情况执行不同的代码块,实现灵活的决策和分支处理。
  3. 循环结构:就像一个循环的圈圈,它让代码在满足特定条件的情况下,重复执行一段代码。循环结构可以帮助我们处理大量相似或重复的任务,节省代码量并提高效率。

这三种结构相互结合,使得程序能够根据不同的情况和需求进行灵活的控制和执行。它们是编程的基础,帮助开发者构建出各种功能和逻辑复杂的程序。

顺序结构详解

顺序结构是指按照代码的自然顺序依次执行语句,一个语句执行完后接着执行下一个语句。

选择/分支结构详解

选择结构根据特定的条件来决定执行哪部分代码,可以使用 if-else 语句、switch 语句等。

阅读全文 »
0%