To start the Launcher, Java must be installed on your system.
Why Java 8 with JavaFX?
Minecraft: Java Edition uses Java to work and in most of its versions it used Java 8, but since Release 1.17 it needs Java 16 (and Java 17 for Release 1.18 and who knows which one in the future).
The problem is that SKlauncher uses JavaFX library which is only in Java 8.
This is only to start the launcher, to play you can use a different Java or let SKlauncher download the required version.
For example: AdoptOpenJDK doesn't contain JavaFX and you can't use it to start the launcher.
⚠️ Unless you know what you're doing, ideally you should remove any Java you have installed, restart the PC and then install Liberica Full JDK 8 (Package: Full JDK).
Should I install different Java or just Java 8?
You only need to install Java 8 since the Launcher will take care of downloading the required Java version for the game.
And if for some reason you want another Java (for example, to make a dedicated server in Release 1.17) I strongly recommend you to use the compressed version (portable).
Can I install Liberica Full JDK 8 and 16?
⚠️ If you aren't sure what you're going to do, it's best to just get Java 8 and then let SKlauncher download the required Java version.
For example: if you're going to play Release 1.17 (requires Java 16), the launcher will download it itself and you won't have to do anything.
If you want to do it anyway, I recommend you to use Option A. Nothing better than trying what you want without having to install something.
Both options contemplate that you only have one Java 8 installed, not if you have Java 8 from Liberica, Oracle, <other>, etc. (and that you're on Windows).
Option A: Download ZIP (Portable)
Install Liberica Full JDK 8 with all options and restart the PC.
Use the Liberica Full JDK 16Download ZIP option and extract the file into a simple location.
Personally I extracted it into C:\Programs\Java\BellSoft and renamed the folder to LibericaJDK-16-Full
If everything is OK, SKlauncher will start without any problems.
Note
To use Java 16 you'll have to specify it manually in your profile (if it's for SKlauncher) or from the CMD (if it's for something else, like a dedicated server).
For example: I've my Release 1.17 dedicated server, so I open CMD and type this: "C:\Programs\Java\BellSoft\LibericaJDK-16-Full\bin\java.exe" -Xmx1024M -Xms1024M -jar minecraft_server.1.17.jar nogui
Option B: Download MSI (Installer)
Install Liberica Full JDK 8 with all options and restart the PC.