java基础学习1

来源:互联网 发布:windows calculator 编辑:程序博客网 时间:2024/06/18 06:06
某个软件只编写一次,可以在不同平台上运行

Java跨平台的原理
为什么不直接编写class文件:
Class文件只能被java虚拟机所识别

Java跨平台的原理:
  1. 编译后生产与平台无关的字节码文件
  2. 得依赖不同平台的虚拟机(Jvm)
JVM是不跨平台的。
Write once,use anywhere!














JDK-JRE-JMV

JRE(java runtime environment):Java运行环境,如果要运行java程序,就需要jre的支持,JRE里面包含JVM。
JDK(Java Development Kit):java开发工具,包含java程序所有的工具,javac和java,JDK里面包含JRE
JVM(java虚拟机):java的运行环境,jvm读取并处理编译过后的与平台无关的字节码(class)文件,从而实现java的跨平台性。但是JVM本身是不跨平台的,win需要win的JVM

环境搭建

  1. 安装jdk,选择不同版本的JDK
  2. 配置PATH环境变量:
PATH变量用于指定Java开发工具的位置,PATH=D:\OpenSource\Java\jdk1.7.9_80\bin
(一定要指定到\bin)



Bin:存放了Java的操作工具,比如编译的Javac,启动JVM的java等
Db:数据库
Include:存c++的头文件。
JRE:java的运行环境,里面有JVM
Lib:Java运行和依赖的核心库。
Src.zip:java的源代码。

环境变量:在用户变量下可以添加(执行程序时候,现寻找用户变量再寻找系统变量)
PATH=D:\OpenSource\Java\jdk1.7.9_80\bin

需求:在控制台界面输出:hello,world !

开发步骤:
  1. 在合适路径下新建一个文本文档,命名为hello.java
注意java是文件的后缀名
  1. 在hello.java键入代码:
3.打开命令控制台,进入当前源文件所在的目录,对文件进行编译
编译成功之后,会生成Hello.class字节码class文件
4.启动JVM,加载Hello.class这份字节码,并解释执行。
注意:java 执行的是类的名称,不能是类名.class
上述错误是缺少main方法
改变了源文件必须重新编译

public class Hello
{
public static void main(String[] args)
{
System.out.println("hello,world!");
}
}
Java语言是编译语言,同时也是解释性语言
CLASSPATH就是class文件的路径,表示JVM从哪里去寻找class文件
CLASSPATH= c:\test就是表示执行java命令时从c:\test去寻找要被执行的class文件
Java5之前默认classpath为当前路径

这里有个问题
如果有很多java文件,编译后会生成更多的字节码class文件,这样就会很烦,能不能将class文件放到一个新的文件夹里,而不影响现有的源代码呢?

java
-d <目录> 指定放置生成的类文件的位置
这样就将编译后的class文件放入 classes文件夹中了,同理,运行的时候
Java -classpath PATH hello即可以了!
Java基本语法
  1. java语法严格区分大小写,main和Main是不同的概念
  2. 一个java源文件里可以定义多个java类,但是最多只能有一个类被定义为public。若源文件里包括了public类,源文件必须和该public类同名
因为public 类为Hello,故我的java文件应该为Hello.java 而不能是 hello.java
  1. 一个源文件中包含n个java类时,编译后会生成n份字节码文件,即每个类都会生成一个单独的class文件,且字节码文件名和其对于的类名相同。
  2. 若一个类必须运行,则必须有main方法,main方法是程序的入口

建议:
一个java源文件里制定一个类,不同的类使用不同的源文件定义
将每个院文件中单独定义的类都定义为public
保持java源文件的住文件名与源文件中的类名一致
Java注释是给程序员看的,提供三类注释:
  1. 单行注释;
  2. 多行注释;
  3. 文档注释;

单行注释://; //注释信息,从//开始到本行结束
多行注释:/* */; /*注释信息*/ ,之间的所有信息
文本注释:/** */; /** 注释信息*/,和多行一样,除此之外还可以专门生产文档信息api
文档注释和多行注释不能交叉嵌套

//单行注释 定义一个类,类名为Hello
public class Hello
{
public static void main(String[] args)
{
System.out.println("hello,world!");
}
}
关键字:编程中事先定义的,有特殊含义和用途的单词
保留字:和关键字一样是事先定义好的,只是暂时没有特殊的用途,但是说不定以后某天会被赋予特殊意义,goto和const是java保留字。


分隔符
标识符:为了增强程序阅读性而自定义的名称
Editplus打开java源代码更清晰
并且可以添加编译和运行

原创粉丝点击