第一部分 Java基础

文章目录

  • 第一部分 Java基础
    • 1.1 什么是程序
    • 1.2 Java的诞生
    • 1.3 Java技术体系
    • 1.4 Java重要特点
    • 1.5 Java开发工具
    • 1.6 Java运行机制及运行过程
    • 1.7 什么是JDK,JRE
    • 1.8 下载、安装JDK
    • 1.9 配置JDK
    • 1.10 Java 快速入门
    • 1.11 Java运行机制
    • 1.12 Java开发细节
    • 1.13 Java转义字符
    • 1.14 常见错误
    • 1.15 注释
    • 1.16 Java代码规范
    • 1.17 DOS命令
  • 持续更新中......

1.1 什么是程序

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

1.2 Java的诞生

  • 1990 Sun公司启动绿色计划。
  • 1992 创建oak(橡树)语言->java。
  • 1994 gosling参加硅谷大会演示java功能,震惊世界。
  • 1995 sun正式发布java第1个版本。
  • 2009 甲骨文公司宣布收购Sun。2011,发布java7。

1.3 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。

1.4 Java重要特点

  1. Java语言是面向对象的(oop)。
  2. Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。
  3. Java语言是跨平台性的。(一个编译好的.class文件可以在多个系统下运行,这种特性称为跨平台性。JAVA虚拟机机制)
  4. Java语言是解释型的。

​ 解释性语言:javascript,PHP,java

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

1.5 Java开发工具

  • editplus、notepad++
  • Sublime Text
  • IDEA
  • eclipse

1.6 Java运行机制及运行过程

Java程序的跨平台性如何实现?

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

Java核心机制-Java虚拟机[JVM java virtual machine]基本介绍:

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

1.7 什么是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标准类库。
  3. JDK=JVM+Java SE标准类库+开发工具集。
  4. 如果只想运行开发好的.class文件只需要JRE。

1.8 下载、安装JDK

  1. 安装路径不要有中文或者特殊符号如空格等。
  2. 当提示安装JRE时,可以选择不安装,也可以安装。

1.9 配置JDK

“不是内部或外部命令,也不是可运行的程序或批处理文件”错误分析

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

1.10 Java 快速入门

//这是 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~");
}
}

1.11 Java运行机制

.java文件——.class文件——结果

源文件 字节码文件

编译

javac Hello.java

1.有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件。
2.在该源文件目录下,通过javac编译工具对Hello.java文件进行编译。
3.如果程序没有错误,没有任何提示,但在当前目录下会出现一个Hello.class文件,该文件称为字节码文件,也是可以执行的java的程序。

运行

java Hello

1.有了可执行的java程序(Hello.class字节码文件)
2.通过运行工具java.exe对字节码文件进行执行,本质就是.class装载到jvm机执行。
注意事项
对修改后的Hello.java源文件需要重新编译,生成新的class文件后,再进行执行,才能生效。

public class Hello{public static void main(String[] args){System.out.println("Mr.Q,hello");
}
}

1.12 Java开发细节

  1. Java源文件以.java为扩展名。源文件的基本组成部分是类(class),如本类中的Hello类。
  2. Java应用程序的执行入口是main()方法。它有固定的书写格式:
public static void main(String[] args){...}
  1. Java语言严格区分大小写。

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

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

  4. 一个源文件中最多只能有一个public类。其它类的个数不限。每一个类都对应一个.class文件。

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

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

1.13 Java转义字符

Java 常用的转义字符

在控制台,输入 tab 键,可以实现命令补全

\t :一个制表位,实现对齐的功能
\n :换行符
\\ :一个\
\" :一个"
\' :一个'
\r :一个回车    System.out.println("城市\r 北京");回车后把光标定义在当前行的第一个字符,然后用后面的字符替换前面的字符。
//演示转义字符的使用
public class ChangeChar {
//编写一个 main 方法 public static void main(String[] args) { //\t :一个制表位,实现对齐的功能 System.out.println("北京\t 天津\t 上海"); // \n :换行符 System.out.println("jack\nsmith\nmary"); // \\ :一个\ \\ System.out.println("C:\\Windows\\System32\\cmd.exe"); // \" :一个" System.out.println("小明说:\"要好好学习 java,有前途\""); // \' :一个' System.out.println("小明说:\'要好好学习 java,有前途\'"); // \r :一个回车 System.out.println("城市\r 北京"); // 解读 // 1. 输出 城市 // 2. \r 表示回车 System.out.println("城市\r 北京"); // 北京}
}

1.14 常见错误

  • 找不到文件

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

  • 主类名和文件名不一致

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

  • 缺少分号

​ 解决方法:编译失败,注意错误出现的行数,再到源代码中指定的位置改错。

1.15 注释

介绍

用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性(可读性);注释是一个程序员必须要具有的良

好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。

注释的类型

  1. 单行注释

    //
    格式://注释文字
    
  2. 多行注释

    /* */
    格式:/*    注释文字    */
    
  3. 文档注释

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

    /** */
    格式:
    /**
    *
    */
    

    生成指令:

    javadoc -d 文件夹名 -xx -yy Demo3.java
    //-xx和-yy指的是要生成的标签名称
    

    javadoc标签:

    标签 描述 示例
    @author 标识一个类的作者 @author Mr.Q
    @deprecated 指明一个过期的类或成员 @deprecated Mr.Q
    {@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 the same meaning as the @exception tag.
    {@value} 显示常量的值,该常量必须是static属性。 Displays the value of a constant, which must be a static field.
    @version 指定类的版本 @version info

使用细节

  1. 被注释的文字,不会被 JVM(java 虚拟机)解释执行。
  2. 多行注释里面不允许有多行注释嵌套。
//演示注释使用public class Comment01 {//编写一个main方法public static void main(String[] args) {//单行注释//多行注释/*   示意 => 可读性很好下面代码完成 两个数相加定义变量 注释注释int n1 = 10;... System.out.println("ok~~");*/int n1 = 10;int n2 = 30;//求和int sum = n1 + n2;//输出结果System.out.println("结果=" + sum);}
}
/*** @author  Mr.Q* @version  1.0*/
public class Comment02 { //编写一个main方法public static void main(String[] args) {}
}

1.16 Java代码规范

  1. 类、方法的注释,要以javadoc的方式来写。
  2. 非Java Doc的注释,往往是给代码的维护者看的,着重告述读者为什么这样写,如何修改,注意什么问题等。
  3. 使用tab操作,实现缩进,默认整体向右边移动,时候用shift+tab整体向左移。
  4. 运算符和=两边习惯性各加一个空格。比如:2+4*5+345-89
  5. 源文件使用UTF-8编码。
  6. 行宽度不要超过80字符。
  7. 代码编写次行风格和行尾风格。

1.17 DOS命令

DOS介绍

Dos:Disk Operating System 磁盘操作系统。

DOS原理

  1. 接收指令
  2. 解析指令
  3. 执行指令

相对路径与绝对路径

  • 相对路径:从当前目录开始定位,形成的一个路径。
  • 绝对路径:从顶级目录开始定位,形成的路径。

常用DOS命令

  1. 查看当前目录是有什么内容 dir
dir d:\abc2\test200
  1. 切换到其他盘下:盘符号 cd
cd c:
  1. 切换到当前盘的其他目录下 (使用相对路径和绝对路径演示), …\表示上一级目录
cd d:\abc2\test200 cd ..\..\abc2\test200
  1. 切换到上一级: cd …
cd ..
  1. 切换到根目录:cd \
cd \
如果切换不过去需要加开关/D
  1. 查看指定的目录下所有的子级目录 tree
tree
  1. 清屏 cls [苍老师]
cls
  1. 退出 DOS exit
exit
  1. 创建目录 md
md [创建目录]
  1. 删除目录 rd
rd [删除目录]
  1. 拷贝文件 copy
copy ok.txt d:\ok.txt
  1. 删除文件 del
del [删除文件]
  1. 输入内容到文件 echo
echo hello > ok.txt
  1. 剪切 type,move
move ok.txt d:\ok.txt

持续更新中…

JAVA从入门到起飞相关推荐

  1. 【黑马】Java基础从入门到起飞目录合集

    视频链接: Java入门到起飞(上部):BV17F411T7Ao Java入门到起飞(下部):BV1yW4y1Y7Ms 学习时间: 2023/02/01 -- 2023/03/09 断断续续的学习,历 ...

  2. weblogic从入门到起飞!(weblogic安装、domain配置、管理控制台)(一)

    目录 weblogic术语 weblogic安装 下载weblogic linux安装(centos6.5,其他版本类似) 配置weblogic的domain domain介绍 配置domain do ...

  3. weblogic从入门到起飞(nodemanager)(五)

    目录 nodemanager的工作机制 nodemanager和mServer.AdminServer关系 nodemanager是如何启动管理服务器的(只能用wlst命令) nodemanager如 ...

  4. weblogic从入门到起飞(wlst)(四)

    目录 介绍wlst 简单使用 wlst的主要步骤和命令 wlst实例1创建domain和管理server生命周期 创建domain模板: 使用domain模板(创建domain): 用wlst启动和管 ...

  5. Java小白入门200例14之求最大公约数

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  6. Java小白入门200例81之Java接口

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  7. Java小白入门200例56之鸡兔同笼问题

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  8. Java小白入门200例80之Java继承(extends)

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  9. Java新手入门200例124之用JDBC连接Mysql数据库

    文章目录 作者简介 引言 导航 热门专栏推荐 一.创建web项目 二.加入Mysql驱动 三.编写查询代码 四.测试查询代码 五.编写插入代码 六.编写修改代码 七.编写删除代码 小结 导航 热门专栏 ...

最新文章

  1. VMware vSphere学习整理
  2. 怎样定义网页里的关键字关键词
  3. BAT 批处理命令 - 文件批量复制、克隆功能实例演示
  4. 【C language】函数指针
  5. C++中void和void*指针的含义 (指针类型的含义)
  6. 从客户端检测到有潜在危险的Request.Form 值
  7. SBO部分SQL查询奉献
  8. 【多线程】并发执行指定数量的线程
  9. odi 12.2.1.1新特性
  10. 宋宝华: CPU是如何访问到内存的?--MMU最基本原理
  11. vs201检查更新不成功_Kubernetes玩转Pod滚动更新123
  12. CSS-fishc学习笔记
  13. 双十一报告:服饰企业借助团队管理工具飞项高效协作
  14. Scan2CAD中文版
  15. python catia二次开发_CATIA VBA二次开发教程|使用零件的Body生成Product
  16. coherence mysql_Coherence代理的负载均衡
  17. 新西兰梅西大学有计算机专业吗,新西兰大学计算机排名第一之梅西大学计算机专业...
  18. 12个开源的后台端管理系统
  19. # C语言使用树设计族谱
  20. 阿里云账号注销踩坑实践记录

热门文章

  1. PowerDesigner 15学习笔记:十大模型及五大分类
  2. C++ 常用生僻函数小记
  3. 使用switch-case来实现银行存款问题 计算存款利息。有N元,想存M年。有3种方法可选: (1)活期,年利率为r1 0.36% (2)一年期定期,年利率为r2 2.25% 从键盘获取存款年
  4. Unity官方图形教程 学习笔记(三) -- 线性工作流
  5. 2023年中央财经大学数量经济学考博必看上岸前辈复习经验分享
  6. 项目踩坑日记:网易企业邮箱发送邮件报错:421 4.4.5 HL:ICC
  7. oracle 创建 em
  8. [原创]WIN8系统的远程桌面漏洞 利用QQ拼音纯净版实现提权
  9. RISCV MMU 概述
  10. 【Android工具】更新观影渠道,安卓、iOS、PC三端通用,免费电影在线观看