1、Java简介
1、JVM(java虚拟机),实现java的平台无关性的关键。
2、java程序的执行流程:源文件(.java)->编译器->二进制字节码文件(.class)->解释器->Porgram
3、JDK(java软件开发工具包),两个重要的组件
(1)javac- 编译器,将源文件转为为字节码
(2)java-运行编译后的java的程序。
4、JRE(java环境运行时),包括JVM和核心类库和支持的文件。运行java程序是需要JRE的。
5、java平台:java SE(java标准版):开发桌面程序;java EE(java企业版):开发web程序(包JSP等);java ME(java移动版):开发移动程序。
2、带命令行参数的java
class ArgsDome{
public static void main(String[] args){
System.out.println("Hello World");
System.out.println(args[0]);
}
}
1、对于main后面括号中的String[] args,实际是String类型的数组,args是命令行参数
2、当我们使用javac ArgsDome.java编译这个文件后,我们去运行时一般都使用java ArgsDemo,但其实这个命令行后面可以带参数,参数会放在args这个字符串的数组中。
3、比如说我们来运行java ArgsDemo hello! 就会显示hello!如下图所示:
4、但是我们如果输入的命令是java ArgsDemo hello world!就只会显示hello,因为它把hello和world!之间有空格,它会把hello放在args数组的第一个元素args[0]中,会把world!放在args[1]中,源代码中又没有写输出args[1],所以就不会显示。如下图所示
5、但是你不写带参数的命令也不行,因为不写args数组中就没有东西,args[0]就没有值就会报错,如下图所示:
所以如果我们可以写下面的这样的代码去综合处理上面的所有问题
class ArgsDemo{
public static void main(String[] args){
if(args.length==0){
System.out.println("nothing is in here");
}else{
for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}
}
}
}
3、eclipse的使用
1、我们在eclipse中和我们实际用记事本写的有些区别,在eclipse中创建一个java Project,然后再src目录下面创建名字为com.imooc的package,然后再在com.imooc下面去创建一个HelloImooc的class。然后我们去实际的文件中看看结构。
2、首先src目录下面的com.imooc这个包实际就是一个com文件夹,里面又有一个imooc的文件夹,然后imooc里面才是HelloImooc.java文件,除了src,项目的其他文件还有bin、.settings、.project、classpath。
3、然后工程项目中bin文件夹下面有com文件,com里面有imooc,imooc有HelloImooc.calss文件,这是怎么回事?因为eclipse这个IDE在我们创建java文件并保存的时候自动帮我们进行了编译,所以帮我们省去了javac的过程。