一. 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 思维导图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!