一. java 概述

一. java 概述

1.1 javase 概述

1.2 程序 program

  • 可以在计算机中执行的代码。

  • 计算机可以识别的数据和指令的集合。

1.3 计算机语言发展史

  • 机器语言:计算机可以直接识别的语言(二进制语言)

    • 1+2 1010 0001 0010

    • 优点:计算机可以直接识别,执行的效率高。

    • 缺点:可读性差,编写门槛很高。

  • 汇编语言:

    • 1+2 ADD 0001 0010

    • ADD 需要转换为 机器语言 1010. 过程称为汇编。

  • 高级语言:

    • 1+2 转换为机器语言:

      • 转换方式

        • 使用一个工具:编译器:编译为机器语言。

        • 使用一个解释工具:解释器:类似于翻译。

    • 优点:可读性好,编写门槛低。

    • 缺点:计算机不能直接识别,需要一个编译或者解释的过程,效率低。

    • c、c++、c#、java。

1.4 java 语言发展史

  • jdk1.2

    • j2se--java 2 standard edtion (java 2 标准版) 针对客户端开发。针对桌面程序开发的。

    • j2me--java 2 mirco edtion (java 2 微型版)手持设备开发

    • j2ee--java 2 enterprise edtion (java 2 企业版) 服务器开发。

  • jdk1.5

    • j2se--javase

    • j2me--javame

    • j2ee--javaee

  • jdk 8.0 和 jdk1.8

1.5 java 语言的三个版本

  • j2se--java 2 standard edtion (java 2 标准版) 针对客户端开发。针对桌面程序开发的。

  • j2me--java 2 mirco edtion (java 2 微型版)手持设备开发

  • j2ee--java 2 enterprise edtion (java 2 企业版) 服务器开发。

1.6 java 语言的特点

  • 强类型语言(任何数据必须都具有java可以识别的类型)

  • 基于模板(图纸)的纯粹的面向对象的

  • 可以实现跨平台(可以在多个平台执行)。

1.7 java程序的执行机制

  • 先编写java的源代码。(计算机不能识别)

  • 使用jdk 提供的编译工具 javac.exe 将源代码编译为 字节码文件。(计算机不能识别)

  • 使用 jdk 提供的 解释器 将 字节码 解释给 计算机执行。

  • java 程序先编译、后解释执行。

1.8 java 和 c 的跨平台原理比较

  • java的跨平台是通过不同的平台下安装不同的jvm实现的。(知道)

  • c 需要多次编译,多次执行。(了解)

1.9 java的环境搭建和介绍

  • jdk:java development kit java开发工具包。

    • java的编译器就被包含在jdk 中。

    • jvm 也被包含在jdk 中。

    • 不同的平台需要安装不同的jdk。

  • jre:java runtime environment。 java 运行环境。

    • 主要就是jvm。

    • 解释器 java.exe 作为 jvm的主要成员。

  • jvm:java virtual machine java 虚拟机。

    • 使用软件实现的一个计算机。

    • 就有自己的指令集。class 文件中的所有的指令都被包含在jvm的指令集中。

  • 目录介绍:

    • bin:binary 二进制。

      • javac.exe 编译工具

      • java.exe 解释工具。

    • jre:

      • jdk 包含的一个单独的运行环境

1.10 cmd 介绍和使用

  • cmd:command 命令。

  • 打开cmd 窗口:window键+R -->输入 cmd 回车即可。

  • cmd.exe 介绍:

    • 是 microsoft 公司最早的一个操作系统。DOS操作系统

    • DOS 操作系统 (disk operation system)磁盘操作系统。所有的对计算机的操作都是通过指令(Command)来完成的。

    • cmd.exe 就是使用软件实现的dos 操作系统。

  • 常用的指令:

    • dir:directory 目录。

      • 显示当前目录下的所有的内容。

    • cls:clear screen

      • 清屏的

    • 切换盘符:

      • 盘符名: 回车 即可

        • c: 回车。

    • cd:(change directory)切换目录

      • cd 目录名称 回车

    • tab 键具有自动补齐的功能。

    • . 代表了当前目录

    • .. 代表了 当前目录的上一级目录。

    • cd \ 回到当前盘符的根目录。

    • exit 退出cmd 窗口。

    • start 开启一个新窗口

  • 环境变量

    • 我的电脑--右键属性-高级系统设置--高级--环境变量--将jdk的bin目录添加到path的末尾即可。

    • 配置环境变量的目的:为了可以更方便的使用java开发工具。

1.11 第一个java程序--HelloWorld.java

  • class HelloWorld{
       //程序的入口,main方法。
    public static void main(String[] args){
           //将小括号中的内容打印到标准输出设备:控制台cmd窗口。
    System.out.println("Hello World!");
    }
    }
  • 编写.java 源代码。如上面的内容,使用记事本即可。

  • 使用 javac HelloWorld.java 将源代码 编译为字节码 class文件。

  • 使用 java HelloWorld 将字节码解释执行。

1.12 .class文件介绍

  • 与本地平台无关的字节码文件,和 jvm 有关系。

1.13 java的基本编码规范介绍

  • 注释 comments

    • 作用:帮助我们阅读理解代码的。

    • 注释不会参与代码的编译。只保留在源代码中。

    • 注释的分类:

      • 单行注释。//后面的内容都是注释的内容。

      • 多行注释。/** 注释的内容 **/

    • class Hello{
      public static void main(String[] args){
      //这是代码注释。
      System.out.println("hello");
      System.out.println("hello");//这是短注释

      /*System.out.println("hello");
      System.out.println("hello");
      System.out.println("hello");
      System.out.println("hello");
      System.out.println("hello");*/

      System.out./*我是一个捣乱的注释*/println("hello");
      }

      }
  • 缩进

    • 通过锁紧表达代码的包含的关系。

  • 标识符

    • 注意代码的命名

1.14 进制介绍

  • 冯.诺依曼核心理论

    • 使用二进制

      • 计算机底层都是使用二进制表示和存储数据的。

    • 存储程序执行

      • 程序必须先加载到内存中才能执行。

    • 计算机由:运算器,控制器,存储设备、输入输出设备构成。

  • 进制介绍

    • 二进制

      • 二进制的数字由2个不同的符号构成。[0-1] ,逢二进一。

    • 八进制

      • 八进制的数字由8个不同的符号构成。[0-7] ,逢八进一。

    • 十进制:

      • 十进制的数字由10个不同的符号构成。[0-9] ,逢十进一。

    • 十六进制

      • 十六进制的数字由16个不同的符号构成。[0-9] [a-f] [A-F] 6个符号代表 [10-15] ,逢十六进一。

    • 二进制     八进制     十进制     十六进制
         0 0 0 0
         1 1 1 1
         10 2 2 2
         11 3 3 3
         100 4 4 4
         101 5 5 5
         110 6 6 6
         111 7 7 7
         1000 10 8 8
         1001 11 9 9
         1010 12 10 a
         1011 13 11 b
         1100 14 12 c
         1101 15 13 d
         1110 16 14 e
         1111 17 15 f
    • 如何在java程序中表示不同的进制。

      • class Radix{
        public static void main(String[] args){
        //使用四种进制来表示十进制的10。
        //二进制 0b
        System.out.println(0b1010);//10
        //八进制 0
        System.out.println(012);//10
        //十进制
        System.out.println(10);//10
        //十六进制 0x
        System.out.println(0x2a);//42
        }
        }
    • 进制之间的转换:

      • 任意进制转到十进制。

        • n进制的一个数 abc 。

        • a*n^2 + b*n^1 + c
      • 十进制转换为二进制:

        • 除以二取余法。逆序排序。

        • 除以八取余法。逆序排序。

        • 除以十六取余法。逆序排序。

      • 二进制和八进制的转换 ??自学

      • 二进制和十六进制的转换??自学

    • 字节

      • 把计算机中的一个二进制位 称为 1bit,它是计算机中最小的存储单元。只能表示2个不同的状态:0 和 1.

      • n位 bits 可以表示 2^n 个不同的状态。

      • 8个bits 称为1byte(字节)计算机中都是使用字节为单位处理处理。

  • 码制介绍

    • 机器码:数据保存在硬件上的编码格式。

    • 原码:10:0000 1010 -10: 1000 1010

      • 规则:最高位为符号位,0代表正数,1代表负数。剩余的位表示数值的大小。

      • 问题:

        • 存在 +0 和 -0 之分 00000000 10000000

        • 如果考虑符号位的运算的规则,那么对于cpu的设计增加难度。

    • 反码:

      • 规则:正数的反码和原码一直。如果是负数,符号位不变,其他的位1变0 0变1.

      • -10:原码:1000 1010--- 反码:1111 0101

    • 补码

      • 规则:正数的补码和原码一致。三码合一。 负数,原码求反码然后再+1.

      • -10:原码:1000 1010--- 反码:1111 0101 --补码:1111 0110。

      • -1:原码:1000 0001---反码:1111 1110 补码:1111 1111

      • -0:1000 0000 1111 1111 1 0000 0000

1.15 计算机存储单位介绍

  • 1byte 1个字节。

  • 1KB==1024bytes

  • 1024KB == 1MB

  • 1024MB== 1GB

  • 1024GB== 1TB

1.16 计算机存储设备介绍

  • 硬盘:hard disk。

    • 读写(IO)速度慢、价格比较低、断电数据不丢失。

  • 内存:RAM:random access memory

    • 读写速度比较快,价格比较高,断电数据丢失。

  • cpu的寄存器:

    • 读写速度非常快,价格非常高,断电数据丢失。

1.17 总结

  • java三个版本。

    • j2se

    • j2me

    • j2ee

  • java的跨平台原理。

    • jvm

  • java的程序的运行的进制

    • 编写源代码

    • 编译 -- 编译期, 编译器会对源代码进行语法检查和代码的基本优化,生成class。

    • 运行 -- 运行期, 使用解释器对代码逐行解释给本地平台执行。

  • jdk:开发环境:

  • jre:运行环境

  • jvm:java虚拟机

  • 如何配置开发环境

    • 安装jdk

    • 配置path

  • cmd的简单实用

  • 入口方法的语法。

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

  • java的注释

    • //

    • /**/

  • 进制

    • 进制的转换

  • 位、字节...

    • bit--比特位

    • 8bits 一个字节。 byte。

1.18 思维导图

 

 

posted @   ITboy搬砖人  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示