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技术体系平台

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 文件可以在多个系统下运行,这种特性称为跨平台性

  4. Java语言是解释型的。

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

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

Java的开发工具

  • editplus、notepad++

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

  • IDEA

  • eclipse

Subline Text 安装

下载地址


下载后,解压:

双击sublime_text.exe:

汉化:从菜单栏单开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)—》 主题 --》找到 “桌面图标设置” ,勾选 计算机 框框

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

window安装JDK步骤:(JDK8)

安装路径 和 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~");}}

注意:javac -encoding UTF-8 xxx.java 采用的是UTF-8 字符编码
因为本机是 GBK 字符编码:

运行原理示意图:

Java执行流程分析:

什么是编译:

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 文件

  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转义字符

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深圳");//深圳的天气}}

执行:

课堂练习:
要求:请使用一句话输出语句,达到输出如下图形效果

代码:

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

初学java容易犯的错误

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

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

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

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

    举例:

注释(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

打开 F:\data

用浏览器打开 index.html 文件

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 磁盘操作系统

常用的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");}
}

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

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

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零基础Ⅰ-- 1.java 概述相关推荐

  1. Java零基础学习Java编程语言基础知…

    很多Java编程初学者在刚接触Java语言程序的时候,不知道该学习掌握哪些必要的基础知识.下面就说说Java零基础学习Java编程语言基础知识的几个要点.希望能够对Java编程基础入门学习的新手有帮助 ...

  2. 视频教程-由浅入深Java零基础入门-Java

    由浅入深Java零基础入门 负责过多个软件项目的研发.设计和管理工作,拥有项目管理师认证.项目监理师中级认证.出版过的图书有<微信小程序开发图解案例教程><Axure RP8原型设计 ...

  3. java零基础学习java规划

    Java软件开发是一门工程学科,注重的就是实践,"君子动口,不动手"对软件开发人员来讲根本就是错误的,他们提倡"动手至上",但别害怕,他们大多温文尔雅,有前辈高 ...

  4. 【Java零基础】Java初学者走向大师之路(2)

    Java标识符 标识符用来表示变量.方法或类等的名字. 定义的规则如下: 只能包含字母.数字.下划线和美元符号$. 不能以数字开头 严格区分大小写,如 a 和 A 是不同的标识符 没有长度限制 注意: ...

  5. 零基础学Java编程一定要上Java培训机构吗

    在当下各个行业的发展之中,IT行业发展的速度蹭蹭往上涨,从事IT行业的朋友薪资也是比其他行业要乐观的多,甚至可以说是遥遥领先.当下很多朋友对Java开发技术相当的感兴趣,大家又说Java开发比较难学, ...

  6. 【零基础学Java】—继承的概述(十九)

    [零基础学Java]-]继承的概述(十九) 一.面向对象的三大特征 面向对象的三大特征:封装性,继承性,多态性 继承是多态的前提,如果没有继承,就没有多态 继承解决的主要问题就是:共性抽取 继承关系的 ...

  7. 【零基础学Java】—static关键字概述(十六)

    [零基础学Java]-static关键字概述(十六) 一.static关键字 二.static关键字修饰成员变量 /*** @author :CaiCai* @date : 2022/4/8 11:1 ...

  8. 【零基础学Java】—字符串的概述和特点(十五)

    [零基础学Java]-字符串的概述和特点(十五) 一.字符串的特点 java.lang.String类代表字符串 API当中说:Java程序中的所有字符串字面值(如:"abc")都 ...

  9. 【零基础学Java】—ArrayList集合概述和基本使用(十四)

    [零基础学Java]-ArrayList集合概述和基本使用(十四) 一.什么是ArrayList类以及注意事项 java.util.ArrayList是大小可变的数组的实现,存储在内的数据称为元素,此 ...

  10. 【零基础学Java】—Random的基本概述和使用(十二)

    [零基础学Java]-Random的基本概述和使用(十二) Random类用来生成随机的数字,使用起来也是三个步骤 导包:import java.util.Random; 创建:Random r=ne ...

最新文章

  1. CUDA实践指南(六)
  2. 命名规范、MVC 开发模式
  3. ORA-02266错误处理
  4. 95-38-040-Buffer-AbstractReferenceCountedByteBuf引用计数
  5. 重庆自考学历计算机应用基础考试,2017年自考计算机应用基础模拟试题1
  6. GitHub实现G D O S自动签到
  7. 矩阵理论(一)基本概念的个人理解
  8. 我国的5年计划与软件项目计划-滚动计划
  9. 00【mmtracking】mmtracking 目标跟踪 介绍
  10. vue中用cdn引入优化vender.js大小,和cdn 引入mint-ui的问题
  11. 狂神JUC——CAS
  12. 远程终端工具Xshell、Xftp传输工具、VMware 、CentOS7的下载、安装和使用教程(完整版)
  13. Web界面应用的测试内容
  14. 多态父类引用指向子类对象时,如何调用子类的独有方法?
  15. 基于肌肉骨骼模型的预测仿真
  16. 【游戏面包屑】简单的导航栏设计
  17. css伪类炫酷迷幻边框
  18. EOJ 3452 唐纳德先生和假骰子
  19. 本地开发申请ssl证书并在宝塔上给网站配置ssl
  20. sal2edge.py显著性mask生成边缘标签

热门文章

  1. Elastic-Job使用
  2. 金阊oracle服务器,配置 KDC 服务器
  3. 3D MAX 2014学习地址
  4. 第22节项目6-定期存款利息计算器
  5. 李嘉诚语录/汪涵语录/史玉柱趣事
  6. 解决笔记本同时连接局域网和外网网络后上网很卡的问题
  7. 数据结构_树与二叉树总结
  8. 《俗人笔记》之《Java基础语法下》
  9. stata基础使用教程(操作版)
  10. 蒙特卡洛(Monte Carlo)方法的理解