**1.核心概念:
-
JDK:java开发工具箱、JRE:java运行时环境、JVM:Java虚拟机
-
JVM-java virtual machine在真实机器中用软件模拟实现的一种想象机器。JVM虚拟机将java字节码程序翻译成机器语言。然后由计算机执行
-
JRE-java运行时环境,是由JVM和java platform核心类以及相关支撑文件组成
-
Java的开发平台JDK是开发人员用来构建Java应用程序的软件包,它包括:Java虚拟机(JVM)、 Java编译器(javac)、Java归档(jar)实用程序、Java文档(javadoc)实用程序等
-
所谓的Java运行环境JRE是JDK的子集,包括JVM、运行时类库和执行Java字节码所需要的 Java应用程序启动器,但省略了Java编译器等开发工具。如果只需要运行Java而不需要开发 Java程序,则不需要完全安装JDK,只选择安装JRE即可
4、安装JDK,配置环境主要是下面这些方面
JAVA_HOME CLASSPATH 修改path
5、IDE工具:IDEA、Eclipse、STS
6、Hello. java
Java是面向对象的编程语言
下面展示一些 。
//在一个文件中可以定义无数个类,但是只能有一个公共类
public class Hello{//public class表示定义公共类,要求类名称和文件名称必须一致,包括大小写
public static void main(String[] args){//主方法,是整个程序执行的起始点
System.out.println("Hello Java"); //System.out.println用于在屏幕上输出指定内容。“”用于表示字符串,这是需要输出的内容
}
}
- javac Hello.java用于编译源代码,会自动生成二进制文件.class字节码文件(ML中间性质的语言,这是java跨平台的秘密)
- java Hello,这里是类名称,不是文件名称,所以不能是Hello.java。解释执行字节码文件
注释
从软件工程的角度上说,一个源程序中20%-30%的编码量为注释是合理的;如果不写注释是不建议
Java语法中提供了3种注释:注释是供程序员阅读的,用于对代码进行说明,从而避免需要了解方法的功能时,还需要进行代码阅读的限制,偶尔用于开发中,阻止一段代码的执行。注释在代码编译时会自 动被编译器所忽略
- // 单行注释
- /* 多行注释 */
- /** 文档注释 */ 可以通过javadoc命令生成html文档【不要求,了解即可】—swagger-UI
/**
* 类上的说明信息
*
* 系统为了生成在线文档,预定义的常见的注解有:
* @author指定程序的作者
* @version指定源文件的版本
* @param方法的参数说明信息
* @return方法的返回值说明信息
* @see用于指定参考的内容
* @exception抛出异常的类型
* @throws抛出的异常,和@exception同义
*
* @author yanjun
* @version 1.0.0
*/
public class Hello {
public static void main(String[] args) {
String ss=sayHello("小气");
System.out.println(ss);
}
/**
* 该方法用于生成问候字符串
* @param name 传入的问候对象,允许为空
* @return 生成问候语
*/
public static String sayHello(String name) {
if(name==null || name.trim().length()<1)
name="Java";
return "Hello "+name+"!";
}
}
可以使用javadoc生成对应的html页面,生成的命令为:javadoc -d 文档存放目录 源文件名.java
源文件布局
xxx .java就是一个Java源文件,可包含三个“顶级”要素
- 一个包声明(可选)package com.yan; ,包可以理解为命名空间,但是不能理解为目录
- 任意数量的导入语句 import java.io.*; 引入其它定义的程序
- 类和接口声明 [public] class A{}
三要素必须以上述顺序出现。即,任何导入语句出现在所有类定义之前;如果使用包声明,则包声明必 须出现在类和导入语句之前。每个Java的编译单元可包含多个类或接口,但是每个编译单元最多只能有 一个类或者接口是公共的
- 一个公共的类存放在同名称的文件中,一个文件可以存放多个类定义,但是只能有一个和文件名称相同的public class
- Java是一种自由格式的语言,可以用任意个空格、制表符、换行符隔开每个词。同时也允许将多行 代码写在一行上,注意使用分号隔开;所有的语句末尾以分号;收尾
- 一般建议使用通用习惯的格式存放文件。先随便格式进行定义,然后使用【ctrl+shift+F】快捷键对 代码进行格式化处理
常见的编程错误
目前的要求:将所有的程序都必须写在方法内部,不能写在方法外 (目前要求)
使用临时变量,Java 要求必须是先定义后使用,必须是先赋初值后使用
Java 标识符
起名称的规范,类、变量、常量、方法
Java一般规则:由Unicode字母【中英文…】、数字、下划线、美元符号构成,没有长度限制,不允许数字开头
- Java中针对字符采用的是Unicode编码字符集
- ali规范,遵循一般的SUN规范
- 在Java中严格区分大小写
有关关键字值得我们注意的地方:
- 不允许使用关键字或者保留字
- 关键字就是在语法中具备特殊含义的单词
- 保留字就是没有在语法中定义特殊含义,但是不允许用户使用的单词
- 严格地讲,它们不是关键字, 而是文字。然而,这种区别是理论上的 goto和const不是Java编程语言中使用的关键字,但是这两个单词属于保留字
- true、false和null为小写,而不是象在C++语言中那样为大写。
变量
一个可以操作的命名存储数据的空间,可以使用名称指代一个具体的存放位置
- IP地址和域名----DNS
变量定义包括变量名、变量类型[决定存储空间的大小]和作用域三个部分
- Java是一种强类型编程语言,也就是说定义变量时必须指定对应的数据类型
- 数据类型指明变量或表达式的状态和行为,数据类型决定了数的取值范围和运算符号
- 作用域决定了变量名称的有效范围,Java要求变量必须先声明后使用,临时变量必须先赋初值后使用
在Java语言数据类型可以分为两大类:基本类型和引用类型
- 基本类型是指不能再分解的数据类型,其数据在函数的调用中是以传值方式工作的
- 简单数据类型代表单值,而不是复杂的对象
Java是完全面向对象的,但简单数据类型却不是,它们类似于其他大多数非面向对象语言中的简单数据 类型。这样做的原因是出于效率方面的考虑。在面向对象中引入简单数据类型不会对执行效率产生太多的影响
- Java是以执行效率为代价换取高安全