Java学习笔记_第一阶段_1.1 Java概述

1.1 Java概述

如何快速学习Java技术

graph TD A(需求: 1.工作需要 2.跳槽,对方要求 3.技术控)-->B(看看是否使用传统技术解决: 1.能解决,但是不完美 2.解决不了) B-->C(引出我们学习的新技术和知识点) C-->D(学习新技术或者知识点的基本语法和基本语法 不要考虑细节) D-->E(快速入门 基本程序,crud) E-->F(开始研究技术的注意事项,使用细节,使用规范,如何优化=>没有止境,技术魅力) F-->F F-->A

Java历史

​ Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

​ 任职于Sun微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的编程语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun微系统放弃了该项计划。随着1990年代互联网的发展,Sun微系统看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

Java特点

  • 面向对象(oop)

  • 强类型机制、异常处理、垃圾的自动收集等

  • 跨平台性:因为有了JVM,同一个Java程序在三个不同的操作系统中都可以执行

    graph TD; A(Test.jave程序) --编译 javac--> B(Test.class); B --运行 java--> C1(Windows操作系统); B --运行 java--> C2(Linux操作系统); B --运行 java--> C3(Mac操作系统); C1 --- D1(Win版的JVM); C2 --- D2(Linux版的JVM); C3 --- D3(Mac版的JVM);

    Java核心机制-Java虚拟机[JVM java virtual machine]

    基本介绍:

    1)JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器,包含在JDK中。

    2)对于不同的平台,有不同的虚拟机。

    3)Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”

  • 解释型

    解释型语言:编译后的代码,不能直接被机器执行,需要解释器来执行 eg:javascript,PHP,java

    编译型语言:编译后的代码,可以直接背机器执行 eg:c,c++

开发工具

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~");
    }
}
graph LR A(.java文件-源文件)--javac编译-->B(.class文件-字节码文件) B--java运行-->C(结果)
  • 编译:

    javac Hello.java

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

    1. 有了可执行的java程序(Hello.class字节码文件)
    2. 通过运行工具java.exe对字节码文件进行执行,本质就是.class装载到JVM机执行

JDK

  • 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

转义字符

常用转义字符 功能
\t 一个制表位,实现对齐的功能
\n 换行符
\\ 一个\
" 一个"
' 一个‘
\r 一个回车,光标移至最前
public class ChangeChar{
    public static void main(String[] args){
        System.out.println("北京\t天津\t上海");
        System.out.println("jack\nsmith\nmary");
        System.out.println("D:\\Programming\\JavaProjects");
        System.out.println("老韩说:\"要好好学习java,有前途\"");
        System.out.println("老韩说:\'要好好学习java,有前途\'");
        System.out.println("韩顺平教育\r北京");
    }
}
  • 练习1.1:

    使用一句输出语句,达到输出如下图形的效果

    image

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

Java开发规范

  • java程序开发注意事项和细节说明

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

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

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

      public static void main(String[] args)

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

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

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

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

      public class Hello{
          
      }
      
      class Dog{
          
      }
      
      class Tiger{
          
      }
      

      编译后,每一个类,都对应一个.class文件

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

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

      public class Hello{
          public static void main(String[] args){
              System.out.println("hello,world~");
          }
      }
      
      class Dog{
          public static void main(String[] args){
              System.out.println("hello,小狗狗~");
          }
      }
      
      class Tiger{
          public static void main(String[] args){
              System.out.println("hello,小老虎~");
          }
      }
      
  • 初学Java易犯错误

    1. 找不到文件:源文件名不存在或者写错,或者当前路径错误。
    2. 主类名和文件名不一致:声明为public的主类与文件名一致,否则编译失败。
    3. 缺少分号:编译失败,注意错误出现的行数,再到源代码中找到指定位置改错。
  • Java代码规范

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

注释(comment)

  • 介绍

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

    public class Comment{
        //编写一个main方法
        public static void main(String[] args){
            //示意 => 可读性很好
            //下面代码完成 两个数相加
            //定义变量
            int n1 = 10;
            int n2 = 30;
            //求和
            int sum = n1 + n2;
            //输出结果
            System.out.println("结果=" + sum);
        }
    }
    
  • Java中的注释类型

    1. 单行注释

      格式://注释文字

    2. 多行注释

      格式:/* 注释文字 */

    3. 文档注释

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

      /**
      * @author	小明
      * @version	1.0
      */
      
      public class TestComment{
          public static void main(String[] args){
              
          }
      }
      

      javadoc -d d:\\temp -author -version TextComment.java

      标签 描述 标签类型
      @author 作者标识 包、 类、接口
      @deprecated 标识当前API已经过期,仅为了保证兼容性依然存在,以此告之开发者不应再用这个API 包、类、接口、值域、构造函数、 方法
      @docRoot 指明当前文档根目录的路径
      @exception 标志一个类抛出的异常 构造函数、 方法
      @inheritDoc 从直接父类继承的注释
      @link 链接到某个特定的成员对应的文档中 包、类、接口、值域、构造函数、 方法
      @linkplain 插入一个到另一个主题的链接,但是该链接显示纯文本字体 包、类、接口、值域、构造函数、 方法
      @param 方法的入参名及描述信息,如入参有特别要求,可在此注释 构造函数、方法
      @return 对函数返回值的注释 方法
      @see 引用,查看相关内容,如类、方法、变量等 包、类、接口、值域、构造函数、 方法
      @serial 说明一个序列化属性
      @serialData 说明通过writeObject( ) 和 writeExternal( )方法写的数据
      @serialField 说明一个ObjectStreamField组件 @
      @since 描述文本,API在什么程序的什么版本后开发支持 包、类、接口、值域、构造函数、 方法
      @throws 构造函数或方法所会抛出的异常 构造函数、 方法
      @value 显示常量的值,该常量必须是static属性 静态值域
      @version 版本号 包、 类、接口

    使用细节:

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

Java API

  • API(Application Programming Interface,应用程序编程接口)是Java提供的基本编程接口(Java提供的类还有相关的方法)。中文在线文档:https//www.matools.com

  • Java语言提供了大量的基础类,因此Oracle公司也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。

  • Java类的组织形式

    graph LR A(JDK8,11)-->B1(包1) A(JDK8,11)-->B2(包2) A(JDK8,11)-->B3(包...) B1-->C1(接口) B1-->C2(类) B1-->C3(异常) C2-->D1(字段...) C2-->D2(构造器 构造方法) C2-->D3(成员方法 方法)
posted @ 2022-11-10 19:03  Hisakawa  阅读(41)  评论(0编辑  收藏  举报