新手初步学习Java——从c语言到Java
新手初步学习Java——从C语言到Java
作为一个从C语言的学习突然转向Java的学习的大一新生,C语言与Java二者之间的区别确实让我在开始学习Java的一段时间难以接受。但在经历三周时间的学习,我开始由一开始使用Java时对其使用的要求的不明所以到现在的初步了解。虽然仍然对Java的理解仍然不深,甚至可能有误,但是我还是想分享我作为一个Java小白在学习Java时的一个小小感悟。如有错误,还望大佬在评论区指正。
C语言与Java程序运行的入口
在C语言中main函数为C语言程序的入口,一个项目中只能有一个main函数。
#include<stdio.h>#include<stdlib.h>intmain(){printf("Hello world!\n");return0;}而在Java中public static void main(String[] args)为Java程序的人口,jar包中只能指定一个主类,但项目中每个类都可以有自己的main方法。
publicclassMain{publicstaticvoidmain(String[]args){System.out.printf("Hello and welcome!");for(inti=1;i<=5;i++){System.out.println("i = "+i);}}}在一开始Java的学习当中,我曾把上述示例代码写成这样:
publicclassMain{publicstaticvoidmain(){System.out.printf("Hello and welcome!");for(inti=1;i<=5;i++){System.out.println("i = "+i);}}}我一开始觉得public static void main(String[] args)只是传入一个可有可无的字符串数组便将其删掉,却直接让编译器中的文件不可执行。在查找资料的过程中我才发现Java与C语言的区别:C语言main的调用者为操作系统,在编译后为机器码并直接在CPU上跑;Java的调用者为Java虚拟机(JVM),在初次编译后将其编译为机器码,再通过操作系统在CPU上运行。JVM从public static void main(String[] args)处开始运行程序,String[] args为JVM设计之初约定的固定写法用来接受命令行参数,public让JVM可以调用,static是因为JVM启动时还没有对象,JVM只认void返回值和main。
对于Java程序入口的认识让我了解到了Java的JVM对其的重要性,也是我学习Java的开始。如有其他见解,欢迎评论区交流。
