
JAVA基础知识
T JoKer
这个作者很懒,什么都没留下…
展开
-
Try - with - resources
Try - with - resources: //JDK 7时,操作需要关闭的资源是,我们需要经常释放资源; public static void main(String[] args) throws FileNotFoundException {/* //JDK 7时 try {FileReader fr = new FileReader("c://book.txt"); int c = fr.read(); System.out.println((c原创 2021-02-26 18:07:49 · 131 阅读 · 1 评论 -
properties 文件 和 properties 类
properties 文件 和 properties 类;public static void main(String[] args) throws IOException { //将字符写入文件中 /* Properties p = new Properties(); p.put("name","金苹果"); p.put("info","讲述了苹果的种植"); FileWriter fw = new FileWriter("c://book.propert原创 2021-02-26 18:04:30 · 90 阅读 · 0 评论 -
序列化与反序列化
public static void main(String[] args) throws IOException, ClassNotFoundException {/* //序列化 :将对象存储到文件的过程 Book b = new Book("金苹果","讲述了种植苹果的过程"); ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("c://book.txt")); oos.writeO原创 2021-02-26 18:01:55 · 150 阅读 · 1 评论 -
转换流和字节流
转换流:// “字节流” 装饰 为 “字符流” :使用了装饰设计模式public static void main(String[] args) throws IOException { // 当拿到字节流的数据时,需要一个输出的字节流 FileOutputStream fos = new FileOutputStream("c://a.txt"); // 将拿到的字节流,转换成 字符流 OutputStreamWriter osw = new OutputStreamW原创 2021-02-26 17:58:06 · 127 阅读 · 0 评论 -
IO_相、绝对路径、Flush刷新管道、字符编码
相对路径与绝对路径: 绝对路径:从盘符开始,是一个完整的路径,例如:“c://a.txt”; 相对路径:在Java代码中是相对于项目目录路径,这是一个不完整的便捷路径,在Java开发中常用,例如“a.txt”;Flush刷新管道: 1.字符流在输出时,输出的是字符,所以读取字符的字节必须完全读完,才会输出;否则会一直缓冲在内存中,不会输出;所以在输入大量字符时,要在每段字符后面加上 “. flush()”方法,来刷新缓冲,达到输出的效果; 注意:之前的代码没有用到 “. flush()”原创 2021-02-26 17:47:10 · 149 阅读 · 0 评论 -
IO_输入流和输出流、IO流常用方法演示
输入流和输出流:输入流:FileInputStream: 1.read()方法;一个字节一个字节的读 2.read(bytes)方法:一次读取一个数组,快捷常用。不知道数组需要读取几次的情况下,利用-1来判断数组的最后一位,以防止死循环或者报错;FileInputStream fis = new FileInputStream("c://a.txt"); /* while(true){ //这种方法是 一个字节一个字节 的读,不经常用; byte b =原创 2021-02-26 17:43:04 · 187 阅读 · 0 评论 -
IO_文件夹遍历
一、创建文件夹:public static void main(String[] args) throws IOException {/* //从指定文件夹移动文件到另一个指定文件夹;不建议移动电脑内部文件夹,容易出错 File file = new File("E://QQ文件//QQ图片.jpg"); File newFile = new File("D://1"); file.renameTo(newFile);*//* //创建文件 boolean原创 2021-02-26 17:29:12 · 172 阅读 · 0 评论 -
集合-forEach、常见数据结构
forEach : 增强For循环; 用于迭代数组 或 集合(collection); 语法: for(数据类型 : 变量名:集合或数组名){}Java 常见数据结构: java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现), 而程序中最终使用的数据结构是继承自这些接口的数据结构类。Collection接口包含:1.List:是有序的Collection,此接口能够精确的控制每个元素插入的位置,用户能够精确的使用索引来原创 2021-02-07 22:20:10 · 213 阅读 · 0 评论 -
迭代器:Iterator 与 ListIterator
迭代器:用于遍历集合,从集合中取数据;java中的迭代器说简单点就是为了计数用的,包括递归也是的,都是用于集合中的; ArrayList<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); /** java.util.Iterator<Integer> iterat原创 2021-02-07 21:47:17 · 203 阅读 · 1 评论 -
集合-ArrayList类
ArrayList:--是List 的一个子类; --使用数组结构,增加删除慢,查找快;public static void main(String[] args) { ArrayList<Integer> data = new ArrayList<>(); //在数组中添加值 data.add(100); data.add(200); data.add(300); data.add(400);原创 2021-02-02 21:17:39 · 117 阅读 · 0 评论 -
核心类库--常用类库
Math类:Math.abs(): 传入参数的绝对值Math.max/min(): 比较传入的多个参数的最大、最小值Math.random:初始值是随机生成0-1之间的double类型的正值;Math.round():对传入的float、double值四舍五入;Math.floor(): 返回值小于或等于传入的数字的最大值;Arrays类:Arrays.binarySearch(arr,formIndex,toIndex,key);查找数组中的指定下标的值Arrays.compa原创 2021-02-02 19:52:05 · 203 阅读 · 0 评论 -
核心类库-Object类方法总结
核心类库 Objects类: 此类包含 static 实用程序方法,用于操作对象或在操作前检查某些条件;方法总结:一、equals: public static boolean equals(Object a, Object b) a -- 一个对象 b -- 要与a 相比获得相等性的对象 system.out.println(a.equals(b));//如果参数彼此相等,为true;否则为false; 特殊情况:如果这时的a 是空值,则程序会报错“空指针异常(Nu原创 2021-02-02 19:47:42 · 152 阅读 · 0 评论 -
泛型
泛型:--在定义参数类型时,不明确所要定义的当前类型,可以定义成泛型;然后在使用、调用时传入具体的类型。定义一个泛型类:public class fx<T> { private T data; public T getData(){ return data; } public void setData(){ this.data = data;}}泛型接口:--实现接口时,可以选择指定泛型类型,也可以选择原创 2021-02-02 19:29:46 · 80 阅读 · 0 评论 -
面向对象高级
继承; * 继承是Java面向对象技术的一块基石,因为它允许创建分等级层次的类 * 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例和方法,或子类从父类继承方法,使得子类具有父类相同的行为。继承的限制: Java中只有单继承、多重继承,没有多继承super: 在一个类里面,通过super来操作它的父类 通过super:可以访问父类的构造方法; 调用构造方法的的代码,必须写在子类构造方法的第一行; 这时,super就表示被自动..原创 2021-01-18 23:08:01 · 138 阅读 · 1 评论 -
面向对象进阶
一、封装:package com.kaikeba.day8;public class Demo_fz {public static void main(String[] args) { Human p = new Human(); p.setAge(-18); p.setName("张三"); p.say();}}class Human{private String name; //封装属性private int age;public String getName原创 2021-01-16 23:29:53 · 81 阅读 · 1 评论 -
面向对象基础
一、面向对象基础:1.面向对象: 1.把相关的数据和方法组织成一个整体来看待; 2.思想上,从执行者到指挥者的转变;2.类必须写在.java文件中, 1.一个.java文件中可以存在N个类,但只能存在一个public修饰的类; 2. .java文件的名称必须与public修饰的类名完全一致;二、类与对象的关系: 1.类是一个共性的产物,是一个综合的特征,而对象,是一个个性的产物,是一个个体的特征。 2.类由属性和方法组成: (1)属性:相当于人的一个个的特征 (2原创 2021-01-16 21:11:46 · 152 阅读 · 2 评论 -
Java循环语句
1.接收用户输入:Scanner input = new Scanner(system.in);system.out.println("请输入内容");int(String、byte、float) s = input.nextint(String、byte、float)();input.next();“与”input.nextline区别:input.next();不支持空格,必须是有效值,空格代表结束;input.nextline();支持空格,必须以回车结束;2.程序执行结构:1.顺原创 2021-01-13 20:02:30 · 115 阅读 · 0 评论 -
数组基础知识
1.数组:数组是相同数据类型的多个数据的容器。格式1:数据类型 [ ] 数组名称 = new 数据类型[数组长度];格式2:数据类型 [ ] 数组名称 = {数组内容1,数组内容2…数组内容n}; 格式3:数据类型 [ ] 数组名;格式4:数据类型 [ ] 数组名称 = new 数据类型[ ]{内容1,内容2…内容n};2.下标:数组中的内容的数字序号,从0开始,对于长度为 n 的数组,下标的范围是 0 ~n-1; 可以通过下标的方式访问数组中的每个元素。3.数组长度获取: 数组名称 . le原创 2021-01-08 21:25:28 · 109 阅读 · 0 评论