Java教程

自用 Java 学习 IO流前总结(基本数据转换)

本文主要是介绍自用 Java 学习 IO流前总结(基本数据转换),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

自己随手写出来了,不在意排版和文章思维的以下都是想到哪里写到哪里.    甚至可能还有错别字.

内部类

定义在类里面的类称之为内部类,但是根据在位置不同分为【成员内部类】【局部内部类】【匿名内部类】

成员内部类

位置:定义在类的成员位置

 

 

匿名内部类

使用匿名内部类的的前提
    1.必须要一个类或者接口
    2.格式:
        new 类/接口(){
            //复写所有的抽象方法
        }
    3.本质:匿名内部类的本质,其实是类或者接口的【子类对象】

Lambda表达式

Lambda表达式JDK8提供的新特性,Lambda表达式可以简化匿名内部类的书写。

Lambda的使用前提

1. 必须要有一个函数式接口
    要求:接口中只允许有一个抽象方法
    
2. 需要有一个方法,把函数式接口作为方法的参数使用

Lambda表达式的基本使用

第一步:定义一个函数式接口 HandlerShow接口

@FunctionalInterface
public interface HandlerShow{
    public void show();
}

第二步:在测试类中,写一个方法把HandlerShow接口作为参数

public Demo3{
    //写一个方法把HandlerShow接口作为参数
    public static void method(HandlerShow handler){
        handler.show();
    }
}

第三步:调用method方法,传递Lambda表达式 作为 HandlerShow接口的实现方式。

public Demo3{ 
    //写一个方法把HandlerShow接口作为参数
    public static void method(HandlerShow handler){
        handler.show();
    }
    
    public static void main(String[] args){
        method(() -> { System.out.println("你好世界"); });
    }
}

Lambda的格式

1.标准格式:
    (参数类型 参数名, 参数类型 参数名)->{ 方法体; return 结果; }

2.省略数据类型格式:
    (参数名,参数名)->{ 方法体; return 结果; }

3.方法体只要一条语句,可以省略{}
    (参数名,参数名)-> 方法体 

4.参数只有一个的情况下,可以省略()
    参数名-> 方法体

Lambda表达式 式JDK8才有的一个函数编程方式,他就是简写了匿名内部类,它可以做的事情匿名内部类都可以做,匿名内部类可以做的事它只能做一部分,Lambda表达式就只是简化了程序员的代码书写.  使用的前提必须明确 这个抽象类里只能有一个抽象法才可以使用

 

匿名内部类和Lambda的区别

1.使用前提不一样
    匿名内部类: 类和接口都行
    Lambda表达式: 只能在在接口的情况下使用.
​
2.限制不一样
    匿名内部类: 接口中运行有多个抽象方法
    Lambda表达式: 只能有一个抽象方法.
    
3.字节码不同
    匿名内部类:有生成字节码
    Lambda表达式: 没有字节码

接下来就开始漫漫的方法区.   所有人的方式都是查API, 我会把常用的API 拿出来用于自己查询,这样一些常用的方法可以直接进行查询,

自己整理的常用API

拿出几个非常非常非常重要的方法出来

基本数据类型包装类

每一个基本数据类型都有一个对应的包装类,并且提供了一些方法给开发人员使用。

基本数据类型        包装类
byte            Byte
short            Short
int                Integer
long            Long
float            Float
double            Double
boolean            Boolean
char            Character

获取Integer对象

Integer num1=Integer.valueOf(100);
Integer num2=Integer.valueOf("100");

面试题:传递的整数值 -128~127范围内,不会从新开辟空间; 超过范围会重新开辟空间
//获取Integer对象
Integer num1 = Integer.valueOf(100);
Integer num2 = Integer.valueOf(100);
System.out.println(num1 == num2);  //true

Integer num3 = Integer.valueOf(128);
Integer num4 = Integer.valueOf(128);
System.out.println(num3 == num4);  //false

自动装箱和自动拆箱

为了方便基本数据类型和包装类能够直接运算,所有Java提供了自动装箱和自动拆箱的机制。

//自动装箱: 基本类型(int) 自动转换为 包装类(Integer)
Integer num=100;
//自动拆箱: 包装类(Integer) 自动转换为 基本类型(int)
int num2= num +10;

 

包装类的数据转换

如果一个字符串是纯数字的字符串(如: "12345"),不能做数值的数学运算,必须把字符串转换为数值,才能做数学运算。 这样的转换方法在包装类中已经提供了.

类型转换为字符串

直接和""做拼接,因为任何一个数据和字符串做拼接结果都是字符串

可以使用String类的valueOf方法

这篇关于自用 Java 学习 IO流前总结(基本数据转换)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!