java速学教程(入门到精通)
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
java程序的主入口必须是public static void main(string[] args),1. public确保jvm可以访问该方法;2. static允许jvm在不创建对象的情况下调用;3. void表示无返回值;4. 方法名main和参数string[] args是jvm识别入口的固定格式,其中args可改名但结构不可变;若缺少public或static会导致nosuchmethoderror;string[] args用于接收命令行参数,如java calculator 10 20中args[0]为"10"、args[1]为"20";一个程序只能有一个入口点,即一个类的main方法被jvm执行;main方法中可通过try-catch处理异常,否则异常将由jvm处理并终止程序。
要让 Java 程序跑起来,你得有个“主入口”,这个入口就是
public static void main(String[] args)。它就像一栋房子的正门,JVM (Java 虚拟机) 通过它来启动你的程序。简单来说,这是 Java 程序的起点。
解决方案:
public static void main(String[] args)详细拆解:
public: 表示这个方法是公开的,任何类都可以访问它。JVM 需要访问它来启动程序,所以必须是
public。
static: 意味着这个方法属于类本身,而不是类的实例。JVM 在执行
main方法时,不需要创建类的对象,直接通过类名调用即可。
void: 表示这个方法不返回任何值。
main方法执行完之后,程序就结束了,不需要返回任何东西给 JVM。
main(String[] args): 这是方法名,
main是一个约定俗成的名字,JVM 就认这个名字。
String[] args是一个字符串数组,用来接收命令行参数。当你运行程序时,可以在命令行中输入一些参数,这些参数会被传递到
main方法中。
一个简单的例子:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
这段代码定义了一个名为
HelloWorld的类,其中包含一个
main方法。
System.out.println("Hello, World!");会在控制台打印 "Hello, World!"。
Java 主方法必须这样定义吗?可以修改吗?
原则上,
public static void main(String[] args)的结构不能变,这是 JVM 的硬性要求。如果你改了任何一个部分,JVM 就找不到程序的入口了。
但是,
String[] args中的
args这个变量名是可以改的,你可以改成
String[] arguments,
String[] params等等,这不会影响程序的运行。例如:
public class HelloWorld { public static void main(String[] arguments) { System.out.println("Hello, World!"); } }
这段代码和上面的代码是完全一样的,只是变量名不同而已。
如果我忘记写
public或
static会怎样?
如果忘记写
public,JVM 会因为权限不足而无法访问
main方法,程序无法启动。会报类似
NoSuchMethodError: main的错误,但实际上
main方法存在,只是不可访问。
如果忘记写
static,JVM 需要先创建类的实例才能调用
main方法,但 JVM 并不知道如何创建这个实例,所以程序也会报错,同样会报
NoSuchMethodError: main错误。
String[] args有什么用?如何使用命令行参数?
String[] args允许你从命令行向 Java 程序传递参数。这些参数在程序启动时会被传递到
main方法中。
例如,假设你有一个名为
Calculator的程序,可以接收两个数字作为参数,并计算它们的和:
public class Calculator { public static void main(String[] args) { if (args.length != 2) { System.out.println("Usage: java Calculator <num1><num2>"); return; } try { double num1 = Double.parseDouble(args[0]); double num2 = Double.parseDouble(args[1]); double sum = num1 + num2; System.out.println("The sum is: " + sum); } catch (NumberFormatException e) { System.out.println("Invalid input: Please enter valid numbers."); } } }</num2></num1>
要运行这个程序,你需要在命令行中输入:
java Calculator 10 20
程序会输出:
The sum is: 30.0
在这个例子中,
args[0]是 "10",
args[1]是 "20"。程序首先检查
args数组的长度是否为 2,如果不是,则打印使用说明。然后,它尝试将
args[0]和
args[1]转换为
double类型,并计算它们的和。如果转换失败(例如,输入了非数字字符),则会捕获
NumberFormatException异常并打印错误消息。
Java 的
main方法可以有多个吗?
一个 Java 程序只能有一个
main方法作为入口点。虽然一个 Java 文件可以包含多个类,每个类都可以有自己的
main方法,但 JVM 只会执行你指定的那个类的
main方法。 如果你尝试运行一个没有
public static void main(String[] args)方法的类,JVM 会报错。
如何处理
main方法中的异常?
在
main方法中处理异常的方式和其他方法一样。你可以使用
try-catch块来捕获和处理异常。如果在
main方法中没有处理异常,那么异常会被传递给 JVM,JVM 会打印异常信息并终止程序。 在上面的
Calculator例子中,就使用了
try-catch块来处理
NumberFormatException异常。 良好的异常处理可以使你的程序更加健壮。
Java免费学习笔记:立即学习
解锁 Java 大师之旅:从入门到精通的终极指南