java知识点整理(onenote)

1. Lambda表达式

【JAVA8】快速理解Consumer、Supplier、Predicate与Function_阳阳的博客-优快云博客_supplier和function

2. Static和Final

java中static和final修饰符 - 韦邦杠 - 博客园 (cnblogs.com)

1、static变量

按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。两者的区别是:对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问,当然也可以通过对象来访问(但是这是不推荐的)。

2、静态方法

静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。因为实例成员与特定的对象关联!因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract

3、final修饰类中的属性

无论属性是基本类型还是对象类,final所起的作用都是变量里面存放的“值”不能变。这个值,对于基本类型来说,变量里面放的就是实实在在的值,如1,“abc”等。 而引用类型变量里面放的是个地址,所以用final修饰引用类型变量指的是它里面的地址不能变,并不是说这个地址所指向的对象或数组的内容不可以变,这个一定要注意。

final修饰属性,声明变量时可以不赋值,而且一旦赋值就不能被修改了。对final属性可以在三个地方赋值:声明时、初始化块中、构造方法中。总之一定要赋值。

3. Java中的集合

Java集合中List,Set以及Map等集合体系详解(史上最全)_君羊-优快云博客_java集合

4. 函数式接口

java8 四大核心函数式接口Function、Consumer、Supplier、Predicate

原文:https://blog.youkuaiyun.com/a879611951/article/details/80104014

Function<T, R>

T:入参类型,R:出参类型

调用方法:R apply(T t);

定义函数示例:Function<Integer, Integer> func = p -> p * 10; // 输出入参的10倍

调用函数示例:func.apply(10); // 结果100

Consumer

T:入参类型;没有出参

调用方法:void accept(T t);

定义函数示例:Consumer consumer= p -> System.out.println§; // 因为没有出参,常用于打印、发送短信等消费动作

调用函数示例:consumer.accept(“18800008888”);

Supplier

T:出参类型;没有入参

调用方法:T get();

定义函数示例:Supplier supplier= () -> 100; // 常用于业务“有条件运行”时,符合条件再调用获取结果的应用场景;运行结果须提前定义,但不运行。

调用函数示例:supplier.get();

Predicate

T:入参类型;出参类型是Boolean

调用方法:boolean test(T t);

定义函数示例:Predicate predicate = p -> p % 2 == 0; // 判断是否、是不是偶数

调用函数示例:predicate.test(100); // 运行结果true

来自 https://blog.youkuaiyun.com/u012448083/article/details/84937491?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-1.not_use_machine_learn_pai

5. 字符串

C语言与Java字符串的异同

C语言中字符数组需要结束符’\0’才会结束,而Java不需要

来自 https://blog.youkuaiyun.com/weixin_30539625/article/details/98595479

6. Stream数据流

7. Input和Output

Scancer:

next()方法输入字符串不能读取空格,可以使用nextLine()来读取一行。

总结:next碰到空格,换行都结束输入。而nextLine只以换行(回车)才会结束输入。

User Input Command Line Argument只能在运行程序的时候将输入传进程序,在程序运行的过程中就没办法使用 了。我们可以使用 Scanner 类来解决这个问题。Scanner的作用类似C语言的 scanf ,但是给我们提供 了更多的功能(method)。Scanner (Java Platform SE 8 ) (oracle.com)

Read Files :

第一种方法,使用 FileReader和 Scanner

优点: scanner能帮我们Parse data => nextInt()

第二种方法,使用 FileReader 和 BufferedReader

优点:buffer更大,效率更高 => 可以读取更大的文件,更快

Differences:

scanner的nextLine(): 如果没有内容了会报错,用hasNextLine()先检查 但是br的readLine()不会报错,如果没有内容会返回null。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值