目录
1.1 软件开发之Java开发
1.2 CUP、内存与硬盘
1.3 人机交互方式
1.4常用的DOS命令
1.5 计算机语言简史
1.6 Java技术体系平台
1.7 什么是JDK、JRE
1.8 Java程序的入口
1.9 两种常见的输出语句
1.10 源文件名与类名
1.11 注释
1.12 Java API文档
1.13 Java语言的优点
1.14 Java语言的缺点
1.15 JVM功能说明
*作者自学,方便查找专用*
移动应用领域(集成Android平台):Java在Android端是主要开发的语言,占有重要的地位。
企业级应用领域(JavaEE后台):用来开发企业级的应用程序,大型网站如淘宝、京东、12306,以及各大物流、银行、金融、社交、医疗、交通、各种OA系统等都是用JavaEE技术开发的。
大数据分析、人工智能领域:流行的大数据框架,如Hadoop、Flink都是用Java编写的。Spark使用Scala编写,但可以用Java开发应用。
CPU(Central Processing Unit,中央处理器):
人靠大脑思考,电脑靠CPU来运算、控制。
硬盘(Hard Disk Drive):
计算机最主要的存储设备,容量大,断电数据不丢失。
正常分类:机械硬盘(HDD)、固态硬盘(SSD)以及混合硬盘(SSHD)。
固态硬盘在开机速度和程序加载速度远远高于机械硬盘,缺点就是贵, 所有无法全取代机械硬盘。
内存(Memory):
负责硬盘上的数据与CPU之间数据交换处理。
具体的:保存从硬盘读取的数据,提供给CPU使用;保存CPU的一些临时执行结果,以便CPU下次使用或保存到硬盘。
断电后数据丢失。
图形化界面(Graphical User Interface,GUI),这种方式简单直观,使用者易于接受,容易上手操作。
命令行方式(Command Line Interface,CLI),需要在控制台输入特定的指令,让计算机完成一些操作。需要记忆一些指令,较为麻烦。
DOS(Disk Operating System,磁盘操作系统)是Microsoft公司在Windows之前推出的一个操作系统,是单用户、单任务(即只能执行一个任务)的操作系统。现在被Windows系统取代。
常用指令:
操作1:进入和回退
操作 |
说明 |
盘符名称: |
盘符切换。E:回车,表示切换到E盘。 |
dir |
列出当前目录下的文件以及文件夹 |
cd 目录 |
进入指定单级目录。 |
cd 目录1\目录2\... |
进入指定多级目录。cd atguigu\JavaSE |
cd .. |
回退到上一级目录。 |
cd \ 或 cd / |
回退到盘符目录。 |
操作2:增、删
操作 |
说明 |
md 文件目录名 |
创建指定的文件目录。 |
rd 文件目录名 |
删除指定的文件目录(如文件目录内有数据,删除失败) |
操作3:其它
操作 |
说明 |
cls |
清屏。 |
exit |
退出命令提示符窗口。 |
← → |
移动光标 |
↑ ↓ |
调阅历史操作命令 |
Delete和Backspace |
删除字符 |
第一代:机器语言(相当于人类的石器时代)
1946年2月14日,世界上第一台计算机ENAC诞生,使用的是最原始的穿孔卡片。这种卡片上使用的是用二进制代码表示的语言,与人类语言差别极大,这种语言就称为机器语言。
第二代:汇编语言(相当于人类的青铜&铁器时代)
使用英文缩写的助记符来表示基本的操作,这些助记符构成了汇编语言的基础。比如:LOAD、MOVE等,使人更容易使用。因此,汇编语言也称为符号语言。
优点:能编写高效率的程序。
缺点:汇编语言是面向机器的,不同计算机机型特点不同,因此会有不同的汇编语言,彼此之间不能通用。程序不易移植,较难调试。
第三代:高级语言(相当于人类的信息时代)
高级语言发展于20世纪50年代中叶到70年代,是一种接近于人们使用习惯的程序设计语言。它允许程序员使用接近日常英语的指令来编写程序,程序中的符号和算式也与日常用的数学式子差不多,接近于自然语言和数学语言,容易为人们掌握。高级语言独立于机器,有一定的通用性;计算机不能直接识别和执行用高级语言编写的程序,需要使用编译器或者解释器,转换为机器语言才能被识别和执行。
此外,高级语言按照程序设计方法的不同,又分为:面向过程的语言、面向对象的语言。
1. C、Pascal、Fortran面向过程的语言
2. C++面向过程/面向对象
3. Java跨平台的纯面向对象的语言
4. C#、Python、JavaScript、Scala…
Java SE(Java Standard Edition)标准版
Java EE(Java Enterprise Edition)企业版
Java ME(Java Micro Edition)小型版
JDK (Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。
JRE (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库。
Java程序的入口是main方法:
public static void main(String[] args){
}
System.out.println("输出内容");
System.out.print("输出内容");
举例说明1:个人信息输出
public static void main(String[] args){
System.out.println("姓名:无言");
System.out.println();//换行操作
System.out.println("性别:男");
System.out.println("家庭住址:北京程序员聚集地:回龙观");
}
}
举例说明2:输出:心形
public static void main(String[] args){
System.out.print("\t"+"*"+"\t\t\t\t\t\t\t\t\t\t\t\t"+"*"+"\t"+"\n");
System.out.print("*"+"\t\t"+"*"+"\t\t\t\t"+"I love Java"+"\t\t\t\t"+"*"+"\t\t\t"+"*"+"\n");
System.out.print("\t"+"*"+"\t\t\t\t\t\t\t\t\t\t\t\t"+"*"+"\t"+"\n");
System.out.print("\t\t"+"*"+"\t\t\t\t\t\t\t\t\t\t"+"*"+"\t\t"+"\n");
System.out.print("\t\t\t"+"*"+"\t\t\t\t\t\t\t\t"+"*"+"\t"+"\n");
System.out.print("\t\t\t\t"+"*"+"\t\t\t\t\t\t"+"*"+""+"\t"+"\n");
System.out.print("\t\t\t\t\t"+"*"+"\t\t\t\t"+"*"+""+"\t\t"+"\n");
System.out.print("\t\t\t\t\t\t"+"*"+"\t\t"+"*"+""+"\t\t"+"\n");
System.out.print("\t\t\t\t\t\t\t"+"*"+"\n");
}
}
注意事项:
换行输出语句,括号内可以什么都不写,只做换行处理。
直接输出语句,括号内什么都不写的话,编译报错。
(1)源文件名是否必须与类名一致?public呢?
如果这个类不是public,那么源文件名可以和类名不一致。但是不便于代码维护。
如果这个类是public,那么要求源文件名必须与类名一致。否则编译报错。
我们建议大家,不管是否是public,都与源文件名保持一致,而且一个源文件尽量只写一个类,目的是为了好维护。
(2)一个源文件中是否可以有多个类?public呢?
一个源文件中可以有多个类,编译后会生成多个.class字节码文件,但是一个源文件只能有一个public的类。
什么是注释?
Java中的注释类型:
单行注释:
//注释文字
多行注释:
/*
注释文字1
注释文字2
注释文字3
*/
注释的作用:
跨平台性:这是Java的核心优势。Java在最初设计时就很注重移植和跨平台性。比如:Java的int永远都是32位。
面向对象性:适合大型软件的设计和开发。面向对象编程支持封装、继承、多态等特性,让程序更好达到高内聚,低耦合的标准。
健壮性:吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制。
安全性高:Java适合于网络/分布式环境,需要提供一个安全机制以防恶意代码的攻击。安全防范机制(ClassLoader类加载器),可以分配不同的命名空间以防替代本地的同名类、字节代码检查。
简单性:Java就是C++语法的简化版,我们也可以将Java称之为“C++--”。比如:头文件,指针运算,结构,联合,操作符重载,虚基类等。
高性能:Java最初发展阶段,总是被人诟病“性能低”;客观上,高级语言运行效率总是低于低级语言的,这个无法避免。Java语言本身发展中通过虚拟机的优化提升了几十倍运行效率。比如,通过JIT(JUST IN TIME)即时编译技术提高运行效率。Java低性能的短腿,已经被完全解决了。
JVM(Java Virtual Machine ,Java虚拟机):是一个虚拟的计算机,是Java程序的运行环境。JVM具有指令集并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器。
功能1:实现Java程序的跨平台性
我们编写的Java代码,都运行在JVM 之上。正是因为有了JVM,才使得Java程序具备了跨平台性。
功能2:自动内存管理(内存分配、内存回收)