java零基础Ⅰ-- 1.java 概述

java零基础Ⅰ-- java 概述

  • 什么是程序
  • Java 诞生小故事
  • Java技术体系平台
  • Java 重要特点
  • Java的开发工具
    • Subline Text 安装
  • Java运行机制及运行过程
  • 什么是JDK、JRE
  • 下载、安装JDK
    • 配置环境变量 path
  • Java快速入门
    • Java 开发注意事项和细节说明
  • Java转义字符
    • 初学java容易犯的错误
  • 注释(comment)
    • Javadoc 标签
  • Java代码规范
  • DOS(了解)
  • 作业

连接视频


什么是程序

程序:计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合



Java 诞生小故事

1990 sun公司 启动 绿色计划

1992 创建 oak(橡树 – 被注册) --> java

1994 James Gosling(詹姆斯·高斯林 – Java之父) 参加 硅谷大会 演示java功能,震惊世界

1995 sun 正式发布java第1个版本

2009年,甲骨文公司宣布收购Sun。2011,发布java7

其他java版本发现详情 https://www.oracle.com/java/technologies/java-se-support-roadmap.html

java零基础Ⅰ-- 1.java 概述_第1张图片



Java技术体系平台

Java SE(Java Standard Edition)标准版

支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE

Java EE(Java Enterprise Edition)企业版

是为开发企业环境的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE

Java ME(Java Micro Edition)小型版

支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,次版本以前称为J2ME



Java 重要特点

  1. Java语言是面向对象的(oop)

  2. Java语言是健壮的。Java的强制类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。

  3. Java语言是跨平台性的。【即:一个编译好的.class 文件可以在多个系统下运行,这种特性称为跨平台性

    java零基础Ⅰ-- 1.java 概述_第2张图片

  4. Java语言是解释型的。

解释性语言:Javascript,PHP,java 编译性语言:c / c++

区别是: 解释性语言,编译后的代码,不能直接被机器执行,需要解释器来执行,编译性语言,编译后的代码,可以直接被机器执行,c / c++



Java的开发工具

  • editplus、notepad++

  • Subline Text
    下载地址:https://www.sublimetext.com/download

  • IDEA

  • eclipse

Subline Text 安装

下载地址
java零基础Ⅰ-- 1.java 概述_第3张图片
java零基础Ⅰ-- 1.java 概述_第4张图片
下载后,解压:

双击sublime_text.exe:
java零基础Ⅰ-- 1.java 概述_第5张图片
汉化:从菜单栏单开tool,从下拉菜单找到command palete,输入package control,安装插件,再次输入package control 找到package control:installpackage,输入chinese,选择chineseLacalizations,也就是中文汉化包安装



Java运行机制及运行过程

  • Java语言的特点:跨平台

比如:Test.java程序 --> 编译成Test.class(命令:javac Test.java) —> 【Win版本的JVM、linux版本的JVM、Mac版本的JVM运行】(命令:java Test)

说明:因为有了 JVM,同一个Java 程序在三个不同的操作系统中都可以执行。
这样就实现了Java 程序的跨平台性

  • Java核心机制 - Java虚拟机【JVM java virtual machine】

基本介绍:

  1. JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在JDK中
  2. 对于不同的平台,有不同的虚拟机。
  3. Java虚拟机机制屏蔽了底层运行平台的差别,实现了 “一次编译,到处运行



什么是JDK、JRE

JDK 基本介绍:

1、JDK 的全称(Java Development Kit Java开发工具包
JDK = JRE + java的开发工具【java,javac,javadoc,javap等】

2、JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。
所以安装了JDK,就不用在单独安装JRE了。


JRE基本介绍:

1、JRE(Java Runtime Environment Java运行环境
JRE = JVM + Java的核心类库【类】

2、包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,
如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。


JDK、JRE和JVM的包含关系:

  1. JDK = JRE + 开发工具集(例如Javac,java编译工具等)
  2. JRE = JVM + Java SE标准类库(java核心类库)
  3. 如果只想运行开发好的.class 文件只需要JRE



下载、安装JDK

window系统 如果在桌面找不到 “我的电脑” 图标,操作设置:
在桌面任意位置点击鼠标右键—》个性化(R)—》 主题 --》找到 “桌面图标设置” ,勾选 计算机 框框

java零基础Ⅰ-- 1.java 概述_第6张图片


官网网址:
https://www.oracle.com/java/technologies/javase-downloads.html

window安装JDK步骤:(JDK8)
java零基础Ⅰ-- 1.java 概述_第7张图片

java零基础Ⅰ-- 1.java 概述_第8张图片

安装路径 和 jre 的存放位置 可以根据自己的需求进行设置,也可以直接使用默认的路径

配置环境变量 path

进入 doc 命令行【快捷键方式 win + r】 输入 cmd

为什么要配置path:
在dos命令行中敲入 javac,出现错误提示。

原因分析:
错误原因:当前执行的程序在当前目录下如果不存在,wind10系统会在系统中已有的一个名为path的环境变量指定的目录中查找。如果仍未找到,会出现错误提示。所以进入到 jdk安装路径\bin目录下,执行javac,会看到javac参数提示信息。


配置环境变量path的步骤:

  1. 我的电脑 – 属性 – 高级系统设置 – 环境变量
  2. 增加 JAVA_HOME 环境变量,指向 jdk的安装目录
  3. 编辑 path 环境变量,增加 %JAVA_HOME%\bin
  4. 打开DOS目录行,任意目录下敲入javac/java。如果出现javac 的参数信息,配置成功。



Java快速入门

需求说明:
要求开发一个Hello.java 程序,可以输出 “hello,world!”

开发步骤

  1. 将 Java代码编写到扩展名为 Hello.java 的文件中。
  2. 通话 javac 命令对该 java 文件进行编译,生成 .class 文件。
  3. 通过 java 命令对生成的 class 文件进行运行
//这是java的快速入门,演示java的开发步骤
//对代码的相关说明
//1、public class Hello 表示Hello是一个类,是一个public(公有)的类
//2、Hello{ }  表示一个类的开始和结束
//3、public static void main(String[] args) 表示一个主方法,即我们程序的入口
//4、main(){ } 表示方法的开始和结束
//5、System.out.println("hello,world~"); 表示输出"hello,world~"到屏幕
//6、 ; 表示语句结束

public class Hello{

	//编译一个main方法
	public static void main(String[] args){
		System.out.println("hello,world~");
	}

}

java零基础Ⅰ-- 1.java 概述_第9张图片

注意:javac -encoding UTF-8 xxx.java 采用的是UTF-8 字符编码
因为本机是 GBK 字符编码:
java零基础Ⅰ-- 1.java 概述_第10张图片

在这里插入图片描述

运行原理示意图:
java零基础Ⅰ-- 1.java 概述_第11张图片

Java执行流程分析:
java零基础Ⅰ-- 1.java 概述_第12张图片

什么是编译:

javac Hello.java

1、有了java源文件,通过编译器将其编程成JVM可以识别的字节码文件

2、在该源文件目录下,通过javac编译工具对Hello.java文件进行编译。

3、如果程序没有错误,没有任何提示,但在当前目录下会出现一个Hello.class文件,该文件称为字节码文件,也是可以执行的java的程序


什么是运行:

1、有了可执行的java程序(Hello.class字节码文件)

2、通过运行工具java.exe对字节码文件进行执行,本质就是.class装载到 jvm 虚拟机上执行

java程序开发注意事项

对修改后的Hello.java源文件需要重新编译,生成新的class文件后,再进行执行,才能生效。


Java 开发注意事项和细节说明

  1. Java源文件以 .java 为扩展名。源文件的基本组成部分是类(class),如类中的Hello类

  2. Java应用程序的执行入口是main()方法。它有固定的书写格式:

    public static void main(String[] args){ … }

  3. Java语言严格区分大小写。

  4. Java方法由已条条语句构成,每个语句以 “;” 结束。

  5. 大括号都是成对出现的,缺一不可。【习惯,先写 {} 再写代码】

  6. 一个源文件中最多只能有一个public类。其它类的个数不限。

    public class Hello{
    
    	//编译一个main方法
    	public static void main(String[] args){
    		System.out.println("hello,world~");
    	}
    
    }
    
    // 一个源文件中最多只能有一个public类。其它类的个数不限。
    // Dog 和 Tiger 是一个类
    // 编译后,每一个类,都对应一个 .class 
    class Dog{}
    
    class Tiger{}
    

    生成了Dog.class 和 Tiger.class 文件
    java零基础Ⅰ-- 1.java 概述_第13张图片

  7. 如果源文件包含一个public类,则文件名必须按该类名命名!

  8. 一个源文件中最多只有一个public类。其它类的个数不限,也可以将main方法写在非public类中,然后指定运行非public 类,这样入口方法就是非public 的main方法

    // 一个源文件中最多只能有一个public类。其它类的个数不限。
    // Dog 和 Tiger 是一个类
    // 编译后,每一个类,都对应一个 .class 
    class Dog{
    	//一个源文件中最多只有一个public类。其它类的个数不限,也可以将main方法写在非public类中,然后指定运行非public 类,
    	//这样入口方法就是非public 的main方法
    
    	public static void main(String[] args){
    		System.out.println("hello,小狗");
    	}
    }
    
    class Tiger{
    	public static void main(String[] args){
    		System.out.println("hello,小狗");
    	}
    }
    

    java零基础Ⅰ-- 1.java 概述_第14张图片



Java转义字符

Java常用的转义字符:

1)\t :一个制表位,实现对齐的功能
2)\n :换行符
3) \\ :一个\ 注意:代码写 \\\\ -->控制台输出两个 \\
4)\" :一个"
5)\’ :一个’
6)\r :一个回车 System.out.println(“xxx\tzzp”)

public class ChangeChar{

	public static void main(String[] args){
		//1)\t :一个制表位,实现对齐的功能
		System.out.println("北京\t天津\t上海\t深圳"); //
		//2)\n :换行符
		System.out.println("jack\nsmith\nmary");
		//3) \\ :一个\ 
		System.out.println("C:\\Window\\System32\\cmd.exe");
		//4)\" :一个"
		System.out.println("我说:\"好好学习,天天向上\"");
		//5)\’ :一个’
		System.out.println("我说:\'好好学习,天天向上\'");
		//6)\r :一个回车 System.out.println(“xxx\tzzp”)
		// 1、输出zzp
		// 2、 \r表示回车 
		System.out.println("北京的天气\r深圳");//深圳的天气
	}

}

执行:
java零基础Ⅰ-- 1.java 概述_第15张图片

课堂练习:
要求:请使用一句话输出语句,达到输出如下图形效果
在这里插入图片描述

代码:

public class ChangeCharExer01{

	public static void main(String[] args){
		System.out.println("书名\t作者\t价格\t销量\r\n三国\t罗贯中\t120\t1000");
	}
}

java零基础Ⅰ-- 1.java 概述_第16张图片

初学java容易犯的错误

  1. 找不到文件
    解决方法:源文件名不存在或者写错,或者当前路径错误

  2. 主类名和文件名不一致
    解决方法:声明为public的主类应与文件名一致,否则编译失败

  3. 缺少分号
    解决方法:编译失败,注意错误出现的行数,再到源代码中指定位置改错

  4. 常见错误总结:
    学历编程最容易犯的错误是语法错误。Java要求你必须按照语法规则编写代码。如果你的程序违反了语法规则,例如:忘记写分号、大括号、引号,或者拼错误了单词,java编译器都会报语法错误。尝试者去看懂编译器会报的错误信息。

    举例:
    java零基础Ⅰ-- 1.java 概述_第17张图片
    java零基础Ⅰ-- 1.java 概述_第18张图片



注释(comment)

介绍

用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性(可读性);注释是一个程序员必须需要具有的良好编程习惯。将自己的思想通过注解先整理出来,再用代码去体现。

Java中注释类型:

  1. 单行注释
  2. 多行注释
  3. 文档注释

单行注释

基本格式
格式: //注解文字

多行注释

基本格式
格式: /* 注解文字 */

使用细节

1)被注释的文字,不会被JVM (java虚拟机)解释执行
2)多行注释里面不允许有多行注释嵌套

//演示注释使用

public class Comment01{

	//编写一个main方法
	public static void main(String[] args){

		// 单行注释

		// 多行注释
		/*
			下面代码完成 两个数相加
			定义变量
			int n1 = 10; ...
		*/
		int n1 = 10;
		int n2 = 30;
		//求和
		int sum = n1 + n2;
		// 输出结果
		System.out.println("结果=" + sum);
	}
}

文档注释

注释内可以被JDK通过的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档,一般写在类上

基本格式:

//文档注释
/**
 * @author zzp
 * @version 1.0	
 * /
public class Comment02{

	//编写一个main方法
	public static void main(String[] args){
	}
}

如何生成对应的文档注释:

javadoc -d 文件夹名 -xx -yy Comment02.java

java零基础Ⅰ-- 1.java 概述_第19张图片

打开 F:\data
java零基础Ⅰ-- 1.java 概述_第20张图片
用浏览器打开 index.html 文件
java零基础Ⅰ-- 1.java 概述_第21张图片


Javadoc 标签

javadoc 工具软件识别以下标签:

标签 描述 示例
@author 标识一个类的作者 @author description
@deprecated 指一个过期的类成员 @deprecated description
{@docRoot} 指当前文档根目录的路径 Directory Path
@exception 标志一个类抛出的异常 @exception exception-name explanation
{@inheritDoc} 从直接分类继承的注解 Inherits a comment from the immediate surperclass.
{@link} 插入一个到另一个主题的链接 {@link name text}
{@linkplain} 插入一个到另一个主题的链接,但是该链接显示纯文本字体 Inserts an in-line link to another topic.
@param 说明一个方法的参数 @param parameter-name explanation
@return 说明返回值类型 @return explanation
@see 指一个到另一个主题的链接 @see anchor
@serial 说明一个序列化属性 @serial description
@serialData 说明通过 writeObject() 和 writeExternal() 方法写的数据 @serialData description
@serialField 说明一个 ObjectStreamField 组件 @serialField name type description
@since 标记当引入一个特定的变化时 @since release
@throws 和 @exception 标签一样 the @throws tag has same meaning as the @exception tag.
{@value} 显示常量的值,该常量必须是static 属性 Displays the value of a constant, which must be a static field.
@version 指定类的版本 @version info



Java代码规范

1、类、方法的注释,要以javadoc的方式来写。

2、非Java Doc的注释,往往是给代码的维护者看的,着重告诉读者为什么这样写,如何修改,注意什么问题等

3、使用tab操作,实现缩进,默认整体向右移动,使用的时候用 shift + tab 整体向左移

4、运算符和 = 两边习惯各加一个空格。比如: 2 + 4 *5 + 365 - 89

5、源文件使用utf-8编码

6、行宽不要超过80字符

7、代码编写次行风格行尾风格

行尾风格:

public void xxx(){ // 行尾风格
	... 
}

次行风格:

public void xxx()
{ // 次行风格
	... 
}



DOS(了解)

DOS介绍:

Dos:Disk Operating System 磁盘操作系统
java零基础Ⅰ-- 1.java 概述_第22张图片

常用的dos命令:

  1. 查看当前目录是有什么内容:dir

    dir    dir d:\abc\test200
    dir / -b  #查看当前目录下列表文件
    
  2. 切换到其他盘下:盘符号 cd: change directory
    案例演示:切换到 c盘

    cd /D c:
    
  3. 切换当前盘的其他目录下(使用相对路径和绝对路径)
    案例演示:

    cd \acb\test200  
    cd ..\..\abc\test200   #..\ 表示上一级目录
    
  4. 切换到上一级
    案例演示:

    cd ..
    
  5. 切换到根目录:cd
    案例演示:

    cd \
    
  6. 查看指定的目录下所有的子级目录 tree

    tree e:   # 根目录
    tree e:\abc  # 指定目录
    
  7. 清屏 cls

    cls
    
  8. 退出DOS exit

    exit
    
  9. 说明:因为后面使用DOS 非常少,所以下面的几个指令,

    md  #创建目录
    md abc  #在当前目录创建abc目录文件
    md abc1 abc2 #创建多个
    
    rd  #删除目录
    rd abc1 abc2 #删除多个目录
    
    copy #拷贝文件
    copy abc.txt f:\abc.txt #把当前的abc.txt文件拷贝到f盘下的abc.txt文件
    
    del #删除文件
    del hello.txt #删除hello.txt文件
    
    echo #输入内容到文件
    echo hello > hello.txt #创建内容为hello的hello.txt文件
    
    type #输入空内容到文件
    type nul > abc.txt #创建空的abc.txt文件
    
    move #剪切
    move abc.txt f:\abc.txt #把当前目录的abc.txt文件剪切到f盘下的abc.txt文件
    



作业

1、编写hello,world程序【Homework01.java】

public class Homework01{
	//编写一个main方法
	public static void main(String[] args){
		//编写hello,world程序
		System.out.println("hello,world");
	}
}

java零基础Ⅰ-- 1.java 概述_第23张图片

2、将个人的基本信息(姓名、性别、籍贯、住址)打印到控制台上输出。各条信息分别占一行。【Homework02.java】

//将个人的基本信息(姓名、性别、籍贯、住址)
//打印到控制台上输出。各条信息分别占一行。
public class Homework02{
	//编写一个main方法
	public static void main(String[] args){
		// 转义字符
		System.out.println("姓名\t性别\t籍贯\t住址\nzzp\t男\t地球\t中国");
	}
}

java零基础Ⅰ-- 1.java 概述_第24张图片

3、JDK,JRE、JVM关系【Homework03.java】

1. JDK = JRE + java开发工具
2. JRE = JVM + 核心类库

4、环境变量path配置及其作用【Homework04.java】

1. 环境变量的作用是为了在dos的任意目录,可以去使用java 和 javac命令
2. 先配置 JAVA_HOME = 指向jdk安装的主目录
3. 编辑path环境变量,增加 %JAVA_HOME%\bin

5、Java编写步骤【Homework05.java】

1. 编写java的源代码
2. javac 编译,得到对应的 .class 字节码文件
3. java 运行,本质就是把 .class 加载到jvm 运行

6、Java编写7个规范【Homework06.java】

1. 类,方法的注释,使用javadoc的方式,即文档注释
2. 非javadoc注释,往往是对代码的说明(给程序的维护者),说明如何修改,注意事项
3. 使用tab,主题将代码右移,使用 shift+tab 整体左移
4. 运算符和 = 的两边,给空格,代码看上去清除 int n = 1 + 5;
5. 源文件使用 utf-8编码
6. 行宽字符不要超过 80字符
7. 代码编程风格有两种 次行风格 和 行尾风格(推荐)

7、初学者java容易犯的错误【Homework07.java】

1. 编译或者运行时,找不到文件 javac hell0.java,把文件名或者目录找对
2. 主类名和文件名不一致,修改时保持一致即可
3. 缺少; 分号
4. 拼写错误,比如: 1 -> l o->0, void -> viod ,要求写代码时,一定要小心

你可能感兴趣的:(java基础,java,jdk,jre)