在简单了解完JAVA的历史后,配好JAVA的环境变量后,那么就要开始正式开始JAVA基础的学习了。按照惯例,一门编程语言都是从输出hello world入手。不过在新手学习编程语言输出hello world时,我觉得JAVA是比较让人困惑的,为啥这样说呢?
我们先看一下hello world在一些其他语言的输出方式
C语言的hello world
#include<stdio.h>
int main(){
printf("hello world\n");
return 0;
}
有初中英语水平再加上老师的引导我们就能马上理解这段代码的意思:
-
#include <stdio.h>
:这是一个预处理指令,用于包含标准输入输出库(stdio.h),它提供了输入和输出的函数。 -
int main()
:main
函数是每个C程序的入口点。它返回一个整数值,通常为0表示成功执行。在这个例子中,main
函数没有参数。 -
printf("hello world");
:printf
是标准库中的一个函数,用于输出文本到控制台。在这里,它用于打印字符串 "hello world",\n表示下一行。 -
return 0;
:return
语句用于将值返回给调用者。在这个例子中,返回值为0,表示程序成功执行并正常终止。
Python的hello world
print("hello world")
哈哈,不得不说,是真的简洁:
print("hello world")
:print()
是Python的一个内置函数,用于将指定的内容打印到控制台。在这里,我们传递了字符串 "Hello, World!" 作为参数,它会在控制台上显示这个字符串。
C++的hello world
#include <iostream>
int main() {
std::cout << "hello, world" << std::endl;
return 0;
}
C++的在学完C基础比较好理解,不过它是有面向对象的特征,稍难:
-
#include <iostream>
:这是一个预处理指令,用于包含输入输出流库(iostream),它提供了输入和输出的功能。 -
int main()
:main
函数是C++程序的入口点。它返回一个整数类型的值,通常为0表示成功执行。在这个例子中,main
函数没有输入参数。 -
std::cout << "hello world" << std::endl;
:std::cout
是C++标准库中的输出流对象,用于打印文本到控制台。<<
是输出流对象的插入运算符,用于将字符串 "hello world" 插入到输出流中。std::endl
是一个操纵符,用于输出一个换行符并刷新输出流。 -
return 0;
:return
语句用于将值返回给调用者。在这个例子中,返回值为0表示程序成功执行并正常终止。
JAVA的hello world
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello world");
}
}
咋说呢,这些单词基本上也是都能认识,但连在一起就不太懂了:
-
public class HelloWorld
:这是定义一个公共类的语法,类名为 HelloWorld,类名与文件名必须相同。 -
public static void main(String[] args)
:main
方法是每个Java程序的入口点。它是程序的起点,也是程序开始执行的地方。public
表示该方法可以被其他类访问,static
表示该方法属于类而不是类的实例,void
表示该方法没有返回值,main
是方法名,String[] args
是传递给main
方法的参数,表示命令行参数(很多老师在教学生时还会用记事本编写,然后用命令行去执行这些代码)。 -
System.out.println("hello world");
:System.out
是一个用于标准输出的对象,println
是一个输出方法,用于在控制台打印一行文本。在这里,我们将字符串 "hello world" 作为参数传递给println
方法,它会在控制台上显示这个字符串。
其实在main方法的里面的代码还是比较容易理解的,但外面的修饰符知识点,类名是个啥,还有main方法要被一个类包裹起来就比较让人难以理解了(这个我觉得直接记住就行)。因为我在学习JAVA基础时只学了C基础,根本没有面向对象编程的概念,唯一看到的一个与C里面也有的static修饰符在使用上也有差异。不过如果有和我一样的新手看到这些代码很迷惑也没事,我直到学完JAVA基础后也只是能看懂,并不懂真正合理的使用。
甚至到了后面学习反射时,我对访问权限修饰符(private,public,protected,default)的作用会感到更加迷惑,因为你即使设定了访问权限,而反射去可以无视它们。所以新手继续学下去就行,不用纠结这个hello world,哈哈,所以我又说完了一段废话。