Java入门基础,从小白到高手(待完结)

public class summary {
//一个源文件只能有一个Public类,而且Public类名必须与文件名相同

//JDK中常用的包
// java.lang: 这个是系统的基础类;
// java.io: 这里面是所有输入输出有关的类,比如文件操作等;
// java.nio: 为了完善 io 包中的功能,提高 io 包中性能而写的一个新包;
// java.net: 这里面是与网络有关的类;
// java.util: 这个是系统辅助类,特别是集合类;
// java.sql: 这个是数据库操作的类。

// List<泛型> list =new LinkedList<>(); 泛型指的是类或用户自定义的类 泛型可以有多个
//arraylist.add(插入位置,插入内容)
//linkedlist.add(插入位置,插入内容)

//for循环遍历集合
// for(int index = 0;index <list.size();index++){
// System.out.println(list.get(index));
// }

//增强foreach 循环
// for(集合类型 自定义变量名: 集合){
// System.out.println(自定义变量名);
// }

//迭代器遍历集合
// Iterator<> iterator = list.iterator();
// while(iterator.hasNext()){
// String s = iterator.next();
// System.out.println(s);
// }

//判断字符串内容相同用什么方法
// 用equals方法判断内容相同(字符串),==只能判断引用是否相同
// 默认的equals方法在Object中是比较引用地址

//提供用户输入使用Javav.util.Scanner类 //扫描仪

//switch语句的规则
// 表达式expr的返回值必须是int、byte、char、short或枚举常量;
// case子句的值必须是常量,且必须是int、byte、char、short或枚举常量;
// default子句是任选的
// break语句用来执行完一个case分支后使程序跳出switch语句块

//break和continue的区别
// break是退出整个循环
// continue是退出当前循环继续下一次循环

//数组对象都是引用类型

//构造方法和普通方法的区别
// 构造方法没有返回值(void),方法名必须和类名相同,需要用new语句调用构造方法
// 普通方法可以以“类名”作为“方法名”,因为调用的语法与构造方法不同

//Java调用包
// 把一个文件放到包中,需加上包声明package语句,且放在源文件第一句
// 使用的类和当前类不在同一个包中的时候,用import导入
// Java.lang包是自动导入的
// 完整类名为 顶层包名.子包名.类名

//= 赋值语句赋给目标的是值还是引用
// 如果是基本类型则赋的是值本身,引用类型则赋的是引用地址

//Object类
// 是所有类的根类,任何类如果没有写显式的继承语句,默认都是直接继承Object类的

//Java中继承
// Java中是单继承,一个子类只能有一个父类

//访问权限修饰符
// private: 私用 只能在被类中被访问
// default: 默认 只能被同一个包中的类访问
// protected:受保护的 只能被同一个包中的类和不同包中的子类访问
// public: 公有 可以被任何类访问


//Java中有8个包装类,分别是:
// Boolean Byte Short Integer Long Character Float Double

//final修饰符
// final 修饰符可以修饰类,方法,变量
// final 类为最终类,不能被子类继承
// final 方法为最终方法,不能被子类覆盖
// final 变量为常量,只能赋一次值

//abstract修饰符
// abstract 修饰符可以修饰类和方法
// abstract 类为抽象类,是不能创建对象的
// abstract 方法为抽象方法,只有方法的声明,没有具体的实现
//
// 有抽象方法的类必须设定成抽象类
// 抽象类不一定有抽象方法
// 抽象类也有构造器,但不能创建对象实例
// 不能和private static final 一起使用

//.contains()循环判等

//toString在类里面重写方法

//避免空指针异常,用工具类Objects去判断

//set 无序且去除重复项(效率高)

//数组转换成集合用 List list = Arrays.of(数组)

//Map<键,值> map = new HashMap<>();
// Map.put(键,值); 插入地址映射
// Map.remove(键); 从地址映射中删除
// Map.containsKey(键); 快速查找该键的值
// Map.containsValue(值); 查找是否有该值存在

//文件输入流(文件导入)InputStream in = new FileInputStream("源文件路径")

// 文件输出流(文件输出)OutputStream out = new FileOutputStream("手动录入文件路径,如果没有,则自动创建")
// out.write();
// 路径转义字符“\”

//异常Exception,使用catch设置异常分类 例如:catch(FileNotFoundException e)

//try是处理异常的关键字,格式如下:
// try{
// 可能会发生异常的代码
// }catch (ExceptionType e){
// 处理异常的代码
// }

//try with resource可以自动释放资源
// try(InputStream in = new FileInputStream("源文件")){
// }
// .close();释放资源

//long end(begin) = System.currentTimeMillis(); 记录拷贝开始或结束的时间

//1.字节为单位,单字节拷贝
//2.字节为单位,自定义字节数组缓冲区,多字节拷贝
//3.字节为单位,缓冲字节流,单字节拷贝
//4.字节为单位,缓冲字节流,自定义字节数组缓冲区,多字节拷贝

//Reader字符编码工具
//字符流缓冲区定义类型为char

// 5.字符为单位,单字符拷贝
// 6.字符为单位,自定义字符数组缓冲区,多字符拷贝
// 7.字符为单位,缓冲字符流,单字符拷贝
// 8.字符为单位,缓冲字符流,自定义字符数组缓冲区,多字符拷贝

// 从cmd进入MySQL:mysql -u root -p(u后跟账户名,p跟密码)

//与DB相连接的命令
// String url = "jdbc:mysql://127.0.0.1:3306/demo" //最后跟的数据库名
// String user = "root";
// String password = "password";
// Connection conn = DriverManager.getConnection(url,user,password);
// 3306是Mysql的端口号

//readLine方法从输入流读取每一行 split方法将每行分割成单词

//File类的常用方法
// System.out.println("文件是否存在:" + file.exists());
// System.out.println("文件名:" + file.getName());
// System.out.println("文件大小:" + file.length() + "Bytes");
// System.out.println("文件相对路径:" + file.getPath());
// System.out.println("文件绝对路径:" + file.getAbsoluteFile());
// System.out.println("文件的父级对象是否为文件:" + file.isFile());
// System.out.println("文件删除是否成功:" + file.delete());



//createTempFile()方法和deleteOnExit()方法
// createTempFile()方法用于创建一个临时文件
// deleteOnExit()方法在Java虚拟机退出时自动删除临时文件



//搞清楚list Set Map Hashmap的具体意思
// 1.HashSet 无序
// 2.TreeSet 有序------按照字母自然顺序
// 3.LinkedHashSet 有序------按照插入顺序

// Map(键值对)
// 1.HashMap 提供了get()和put()方法
// 2.TreeMap 提供了firstKey() 、lastKey() 、lowerKey() 、higherKey()
// 3.LinkedHashMap keySet()//取出所有设置的键
// 4.ConcurrentHashMap //多线程环境首选Map实现类

// 方法的重载是改写参数,方法的重写是改写内容

//java制表位 : \t

//拖动文件到标题栏👉在新一个窗口中打开该文件



// ?usessl=false 把数据库连接与网外隔开

// 时间戳是当前时间距离1970年1月1日0时0分0秒经过的毫秒数

//时间
// LocalDateTime time = LocalDateTime.now();
// sout(time);
// DateTimeFormatter dtf = DateTimeFormatter.ofPattern();
// dtf.





//super与this
// super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)。
// this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句)。
// super()和this()类似,区别是,super()在子类中调用父类的构造方法,this()在本类内调用本类的其它构造方法。

//static
// static块可以用来优化程序性能,是因为它的特性:只会在类加载的时候执行一次。因此,很多时候会将一些只需要进行一次的初始化操作都放在static代码块中进行。
// 因为static是被类的实例对象所共享,因此如果某个成员变量是被所有对象所共享的,那么这个成员变量就应该定义为静态变量。

//break、continue与return的区别
// break 跳出总上一层循环,不再执行循环(结束当前的循环体)
// continue 跳出本次循环,继续执行下次循环(结束正在执行的循环 进入下一个循环条件)
// return 程序返回,不再执行下面的代码(结束当前的方法 直接返回)

//标号
// 在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。
// 1.标号只能出现在被打上标记的语句之前
// 2.标号只有在循环或开关语句中才有作用
// 3.标号的名字由冒号后面的一个单词组成,一般建议以小写字母开头
// 4.对于没有被标记的代码块,不能使用标号来标识

//多态
// 在Java中有两种形式可以实现多态:继承(多个子类对同一方法的重写)和接口(实现接口并覆盖接口中同一方法)。
// 方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。

//继承
// 可以用父类的功能,但不能选择性地继承父类。通过使用继承可以提高代码复用性。继承是多态的前提。

//Java实现多态有三个必要条件:继承、重写、向上转型。
// 继承:在多态中必须存在有继承关系的子类和父类。
// 重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
// 向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。

//无参构造方法
// Java程序在执行子类的构造方法之前,如果没有用super()来调用父类特定的构造方法,则会调用父类中“没有参数的构造方法”。
// 因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用super()来调用父类中特定的构造方法,则编译时将发生错误
// 因为Java程序在父类中找不到没有参数的构造方法可供执行。解决办法是在父类里加上一个不做事且没有参数的构造方法。

//构造方法
// 一个类即使没有声明构造方法也会有默认的不带参数的构造方法。
// 名字与类名相同;
// 没有返回值,但不能用void声明构造函数;
// 生成类的对象时自动执行,无需调用。

//构造器
// 构造器不能被继承,因此不能被重写,但可以被重载。

//swap函数
// swap()函数的意思是交换两个变量的值
// 是一个通用函数,在不同类型的变量之间进行值的交换。
// 通常情况下,swap()函数使用临时变量来交换两个变量的值

//值传递
// 值传递:指的是在方法调用时,传递的参数是按值的拷贝传递,传递的是值的拷贝,也就是说传递后就互不相关了。
// Java程序设计语言对对象采用的不是引用调用,实际上,对象引用是按值传递的。
// 一个方法不能修改一个基本数据类型的参数(即数值型或布尔型》
// 一个方法可以改变一个对象参数的状态。
// 一个方法不能让对象参数引用一个新的对象。

//BIO,NIO,AIO 的区别
// BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。
// NIO:Non IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。
// AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。

//Files的常用方法
// Files. exists():检测文件路径是否存在。
// Files. createFile():创建文件。
// Files. createDirectory():创建文件夹。
// Files. delete():删除一个文件或目录。
// Files. copy():复制文件。
// Files. move():移动文件。
// Files. size():查看文件个数。
// Files. read():读取文件。
// Files. write():写入文件。



}

  • 22
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值