一、计算机基础
-
裸机
没有安装任何软件的计算机(无操作系统、无应用软件)
-
计算机的应用
1、科学计算
科学计算也称数值计算。计算机最开始是为解决科学研究和工程设计中遇到的大量数学问题的数值计算而研制的计算工具。例如,人造卫星轨迹的计算,房屋抗震强度的计算,火箭、宇宙飞船的研究设计都离不开计算机的精确计算。就连我们每天收听收看的天气预报都离不开计算机的科
学计算。
2、数据处理
在科学研究和工程技术中,会得到大量的原始数据,其中包括大量图片、文字、声音等信息处理就是对数据进行收集、分类、排序、存储、计算、传输、制表等操作。
3、自动控制
自动控制是指通过计算机对某一过程进行自动操作,它不需人工干预,能按人预定的目标和预定的状态进行过程控制。例如,无人驾驶飞机、导弹、人造卫星和宇宙飞船等飞行器的控制,都是靠计算机实现的。
4、计算机辅助设计
计算机辅助设计(Computer Aided Design,简称CAD)是指。借助计算机的帮助,人们可以自动或半自动地完成各类工程设计工作。目前CAD技术已应用于飞机设计、船舶设计、建筑设计、机械设计、大规模集成电路设计等。在京九铁路的勘测设计中,使用计算机辅助设计系统绘制一张图纸仅需几个小时,而过去人工完成同样工作则要一周甚至更长时间。可见采用计算机辅助设计,可缩短设计时间,提高工作效率,节省人力、物力和财力,更重要的是提高了设计质量。
5、人工智能
人工智能(Artificial Intelligence,简称AI)是指计算机模拟人类某些智力行为的理论、技术和应用。例如,用计算机模拟人脑的部分功能进行思维学习、推理、联想和决策,使计算机具有一定“思维能力”。我国已开发成功一些中医专家诊断系统,可以模拟名医给患者诊病开方。 还有就是机器人也是计算机人工智能的典型例子。
6、多媒体应用
随着电子技术特别是通信和计算机技术的发展,人们已经有能力把文本、音频、视频、动画、图形和图像等各种媒体综合起来,构成一种全新的概念—“多媒体”(Multimedia)。比如一些flash广告,网页游戏等。
7、计算机网络
计算机网络是由一些独立的和具备信息交换能力的计算机互联构成,以实现资源共享的系统。如在全国范围内的银行信用卡的使用,火车和飞机票系统的使用等。 -
计算机硬件
- 计算机硬件(Computer Hardware)是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。
- 计算机硬件通常由CPU、主板、内存、电源、主机箱、硬盘、显卡、键盘、鼠标,显示器等多个部件组成。
-
计算机软件
-
系统软件
DOS(Disk Operating System), Windows, Linux, Unix, Mac, Android, iOS
-
应用软件
-
-
软件结构的划分
- C/S 结构 client-server 客户端和服务器端交互
特点:客户端软件必须升级才能使用高版本功能
- B/S 结构 browser-server 浏览器和服务器交互
特点:只要有浏览器,无版本限制,都可以访问服务器
二、软件开发
- 软件
按照特定顺序组织的计算机数据和指令的集合 - 开发
软件的制作过程 - 软件开发
借助开发工具与计算机语言制作软件
三、人机交互
-
交互方式:
-
图形界面
-
命令行方式
-
-
常用DOS命令
rd 删除 /s 询问删除 /s /q 不询问删除 dir 查看当前文件夹 cls 清屏 cd 改变目录结构 cd \ 回退根目录 md 创建目录 rd 删除空目录 rd /s 删除带内容的目录 rd /s /q 强制删除(不询问) touch 创建文件
四、Java语言历史及平台版本
-
Java职业发展规划
- java开发工程师(主业)–>项目经理 -->java架构师
- JavaWeb
- 运维开发
- 测试开发
-
Java发展历史
- 推出时间:1995年(1995年正式改名为java)
- Java之父:詹姆斯.高斯林
-
java版本
- J2SE(Java 2 Platform Standard Edition)标准版
是为开发普通桌面和商务应用程序提供的解决方案
该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发 - J2ME(Java 2 Platform Micro Edition)小型版
是为开发电子消费产品和嵌入式设备提供的解决方案 - J2EE(Java 2 Platform Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案
该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发 - Java5.0版本后,更名为 JAVAEE JAVASE JAVAME
- J2SE(Java 2 Platform Standard Edition)标准版
-
Java特性
- 简单性 解释性
- 面向对象 高性能
- 分布式处理 多线程
- 健壮性 动态
- 结构中立 安全性
- 开源
- 跨平台
五、jdk/jre/jvm
-
介绍:
- JVM(Java Virtual Machine): Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java最具吸引力的特性之一。我们编写的Java代码,都运行在JVM上。
- JRE(Java Runtime Environment):是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。
- JDK(Java Development Kit):是Java程序开发工具包,包含JRE和开发人员使用的工具。
-
jdk目录详解
-
jdk jre jvm 关系
六、编写案例
class HelloWord{
public static void main(String [] args){
System.out.println("hello world");
}
}
七、Java环境变量的配置
-
配置path
- 方式一
1)将jdk的bin目录的路径复制
win10/win11—>此电脑—>右键----属性----->高级系统上设置---->环境变量
---->系统变量,不要在用户变量找path,在系统变量找path (用户变量,一个计算机可以有多个用户)
path不要删除别的东西,别的东西都是系统配置,谨慎不要随意删除!
将1)里面jdk的bin目录的路径复制过来放在path里面,
D:\jdk\bin2)弊端:
1)当我们jdk版本升级,需要手动更改系统变量的里面path,可能改动过程中不小心将别的环境变量误删了,为了避免这个问题,我们最好改动path,使用方式2配置! (主要原因)
2)一些软件在启动时会用到JAVA_HOME,如Tomcat- 方式2(推荐):
相当于将方式1分解为两部分。
1)复制jdk安装目录的路径,不是bin目录 D:\jdk
2)此电脑---->右键---->选择属性---->高级系统设置---->环境变量---->系统变量
系统变量----->新建一个变量名: JAVA_HOME
变量值:1)的路径即D:jdk3)在path里面 引入JAVA_HOME对应的变量值的路径
-
path执行流程
-
classpath临时环境变量设置(不推荐使用)
早期使用的,目的就是为了单纯执行指定的字节码文件!
java 字节码文件的前缀 类名---->jvm在运行这个类,解析这个类—从程序入口main方法进入(固定格式public static void main(String[] args)…)配置方式:
此电脑—>右键属性—>高级系统设置—>环境变量---->系统变量
新建一个变量名:classpath
变量值:就是指定字节码文件的路径 d:/
执行流程:
现在系统变量的classpath去找,指定路径下是否有字节码文件,如果有,就直接通过java 字节 码文件前缀
直接运行;
如果没有,找不到任何字节码文件,它直接提示"错误: 找不到或无法加载主类 HelloWorld"
八、注释
-
单行注释
// 内容
-
多行注释
/* 内容 */
-
文档注释
特殊注释,可以被解析
/** 内容 */
九、关键字、标识符、常量
-
关键字
被Java语言赋予特定含义的单词,称为关键字
注意:goto/const这两个字 作为"保留字"去使用!
-
保留字
保留字:在JDK的新版本中可能提升为关键字
-
标识符
给类,接口,方法,变量等起名字时使用的字符序列
1. 组成规则: 标识符可以包含 英文字母26个(区分大小写) 0-9数字 $(美元符号) _(下划线) 2. 注意事项 不能以数字开头 不能是Java中的关键字 区分大小写 3. 命名规范 单级包:字母全小写 多级包:中间用 . 隔开 类名、接口名遵循大驼峰命名法 变量名、方法名遵循小驼峰命名法
-
常量
指在Java程序中固定不变的数据
- 字面值常量
- 自定义常量
-
十、运算符
-
运算
运算:对常量和变量进行操作的过程称为运算
-
运算符
对常量和变量进行操作的符号称为运算符
-
操作数
参与运算的数据称为操作数
-
表达式
用运算符将常量或者变量连接起来,符合java语法的式子称为表达式
-
算术运算符
拓展运算符++/--
1. 不参与运算,无论是在变量前还是后,都是对变量自增或自减
2. 参与运算时,在变量前 先自增/自减再赋值 m = ++ a
在变量后 先赋值再自增/自减 m = a ++
3.
-
位运算符
基本的位运算符号: 位与& 位或| 位异或^ 反码~ 移位符号: << 左移 结论 >> 右移 结论 >>> 无符号右移
-
+
的几种作用- 加法
- 正数
- 字符串连接符
示例:
class Demo{ public static void main(String[] args){ System.out.println("helloworld"+'a'+1) ; System.out.println('a'+1+"hello"+"高圆圆") ; System.out.println("5+5="+5+5) ; System.out.println(5+5+"=5+5") ; System.out.println('A'+2+"hello") ; System.out.println('0') ; } } 输出结果: helloworlda1 98hello高圆圆 5+5=55 10=5+5 67helloo 0 "字符串" + 任意字符序列 = "新的字符串" 所以在System.out.println("helloworld"+'a'+1) ; 中,"helloworld"+'a'将拼接为字符串helloworlda,然后再拼接1。 在System.out.println('a'+1+"hello"+"高圆圆") ;中,'a'+1 先计算,得到98,在与“高圆圆”进行拼接。
-
/
默认取整。 -
赋值运算符
= , +=, -=, *=, /=, %= =为基本的赋值运算符,其他的为扩展的赋值运算符 使用时需要注意数据类型,只需要记住:byte,short,char三者不互相转换,一旦参与运算,优先提升为int。
class OperatorTest{ public static void main(String[] args){ short num = 3; // num = num + 1; 编译报错。short类型的num参与运算会优先提升为整型默认的int类型,num+1 计算的类型为int类型,赋值给num会损失精度。 num += 1 //拓展运算符隐含强制转换,其相当于num = (short)(num + 1) } }
-
比较运算符
>,<,>=,<=,!=
-
逻辑运算符
-
短路与(&&)与短路或(||)
单&时,左边无论真假,右边都进行运算。 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。 “|”和“||”的区别同理,双或时,左边为真,右边不参与运算 异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。 &:有false则false |:有true则true ^:相同false,不同true 帮助理解:情侣必须是男女或者女男 !:非false则true,非true则false &&,||和&以及|的区别 结果相同,但是有短路效果,一般建议使用&&,||
-
-
三元运算符
1. 格式 (关系表达式)?表达式1:表达式2; 如果条件为true,运算后的结果是表 达式1; 如果条件为false,运算后的结果是表达式2; 如: int x=3,y=4,z; z = (x>y)?x:y; //z变量存储的就是两个数的大数。
十一、进制
-
进制由来
-
任意进制转换为十进制
-
十进制转换为其他进制
十二、变量
-
定义:在程序执行过程中,值发生变化的量。
-
定义的两种方式:
1. 先定义,后赋值初始化 如: int sum; sum = 123; 2. 定义+赋值初始化 如:int sum = 123;
-
变量三要素
局部变量无法加访问修饰符,其访问权限跟方法一样。
数据类型 变量名 变量值
-
数据类型
基本数据类型(四类八种) 1.整数类型 byte 占1个字节 字节类型 范围:-128—127 short 占2个字节 短整型 int 占4个字节 默认 long 占8个字节 长整型 定义时需要在初始化值后名加入标记L或l 2.浮点类型 float 占4个字节 单精度类型,定义时需要在初始化值后名加入标记F或f double 占8个字节 双精度类型 3.字符类型 ''中的内容 4.布尔类型 引用数据类型
-
java的显示转换
显示转换也叫强制类型转换,指的是需要手动去处理才能完成的类型转换。该转换会存在精度损失。
将大的数据类型转换小的数据,不仅支持基本数据类型,也支持引用数据类型
-
java的隐式转换
byte,short,char三者不转换,一旦参与运算,优先提升为int,–>long -->float --double
-
有符号位的数据表示法(计算机中对数据的运算,底层是补码进行计算)
十三、键盘录入
-
基本流程
//1)导包 import java.util.Scanner ; class ScannerDemo{ public static void main(String[] args){ //2)创建文本扫描器(创建Scanner类对象) 固定写法,变量名自己起 Scanner sc = new Scanner(System.in) ; //3)提示 System.out.println("请您输入一个数据(int):") ; //4)录入int类型数据 int result = sc.nextInt() ; //.nextInt() :调用文本扫描器的提供功能 (固定写法) //5)输出或者使用 //使用这个结果变量完成其他逻辑操作 System.out.println("录入的数据是:"+result); } }
十四、流程控制语句
-
选择结构语句
-
if
1. 格式1(单个条件) if(表达式){ 语句1; }else{ 语句2; } 2. 格式2(多个条件) if(表达式1){ 语句1; }else if(表达式2){ 语句2; ... ... ... }else{ 语句n; }
-