零基础学习Java(一)—知识铺垫
(一)零基础入门的基础知识
0.学习JAVA的前期铺垫
计算机包括硬件和软件
-
硬件也就是计算机中看得见摸得着的物理组成部分
-
软件是一系列按照特定顺序组织的计算机数据和指令的集合。分为:系统软件、应用软件
例如:系统软件:windows \ mac os \ ios \ android \ linux \ unix \ ....
应用软件:qq\ 360 \ ....
计算机通过这些指令控制硬件并且让硬件去完成特定的任务
程序设计:是通过去创造和开发软件,指定计算机去做什么
程序设计语言:我们需要一门语言去与计算机沟通,在开发中也需要一门强大的语言去创建软件
程序设计语言有很多种,都是为了某种特定的目的去发明的,而事实上没有最好的,只有更合适的
因此要想成为经验丰富的程序员,我们需要知道各种语言擅长的场景
1.计算机的硬件组成
计算机硬件包括:
- 中央处理器(ps:计算机的大脑,主要是负责从内存中获取指令,然后执行指令)
- 控制单元:用于控制和协调其他组件的动作
- 算术/逻辑单元:用于完成像加减乘除这样的数值运算和类似于比较这样的逻辑运算
- 内存(可以把它当作主要并且是暂时性存储数据的地方,内存中的信息在断电的时候会丢失)
- 内存是用来存储数据的,计算机内部的电路开关会存在0和1,也就是关和开这两种状态
- 计算机中最小的存储单位是比特,即对应的0或者1
- 计算机最基本的存储单元是字节,每个字节是由八个比特构成,即1byte=8bit,字节的单位有B、KB、MB、GB
- 内存由一个有序的字节序列组成,一个程序和它的数据在被CPU执行前必须移到计算机的内存中
- 每个字节都有一个唯一的地址,使用这个地址确定字节的位置,方便存储和获取数据,通常情况下计算机拥有的内存越大,运行速度越快
- 内存通常会起到①保存从硬盘中读取的数据,并提供给CPU使用,以及②保存CPU的哟写临时执行结果,以便CPU下次使用或保存到硬盘的作用
- 存储设备(如磁盘、光盘、磁带)
- 磁盘驱动器
- 光盘驱动器
- USB驱动器
- 输入设备(如键盘、鼠标)
- 输出设备(如显示器、打印机)
- 通信设备(如调制解调器、网卡)
- 总线
冯诺依曼体系结构是现在大多数计算机的组成结构,这个结构具有的功能有
- ①把需要的程序和数据送到计算机中
- ②必须具有长期记忆程序、数据、中间结果以及最终运算结果的能力
- ③能够完成各种算数、逻辑运算和数据传送等数据加工处理的能力
- ④能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作
- ⑤能够按照要求将处理结果输出给用户
操作系统:是运行在计算机上的最重要的程序,它可以管理和控制计算机的活动。
通常计算机与人之间的交互方式有两种: 图形化界面方式 vs 命令行的方式
2.JAVA语言的学习
学习JAVA之前,先把关于几个常见的DOS命令了解一下:
- dir:列出当前目录下的文件以及文件夹
- md:创建目录
- rd:删除目录
- cd:进入指定目录
- cd..:退回到上一级目录
- cd:退回到根目录
- del:删除文件
- exit:推出DOS命令行
- echo javase>1.doc:编译1doc文件
计算机语言的发展迭代史:
- 第一代语言:机器语言,指令以二进制代码形式存在
- 第二代语言:汇编语言,使用助记符表示一条机器指令
- 第三代语言:高级语言,有C++面向过程/面向对象,JAVA跨平台的纯面向对象的语言,C、Pascal、Fortran面向过程的语言,.Net跨语言的平台、Python、Scala...
Java语言应用的领域:
- ① Java企业级后台开发
- ② Android应用开发
- ③ 大数据应用开发
Java语言的特点:
-
① 面向对象性:两大元素:类、对象,三大特征:封装、继承、多态
-
② 健壮性: 1.吸收了C/C++语言的优点,但是去掉了其影响程序的健壮性的部分(例如指针、内存的申请与释放等等), 2.提供了一个相对安全的内存管理和访问机制:自动的垃圾回收机制 (依赖于JVM),但是仍然会出现内存泄露和内存溢出问题。
-
③ 跨平台性:通过Java语言编写的应用程序可以在不同的系统平台上都可以运行, write once ,run anywhere (一次编译,到处运行) (依赖于JVM)
3.JAVA开发第一个程序---HELLOWORLD
Java的编译和运行开发过程中是先编写.java源文件,然后利用javac.exe指令对其进行编译,生成.class字节码文件,最后用java.exe去运行得到结果
- 编写 :创建了java文件:HelloWorld.java
- 编译:javac HelloWorld.java
- 运行:java HelloChina
通常DOS命令行编写常见问题的解决:
1.存在的问题:
- 源文件名不存在或者写错
- 当前路径错误
- 后缀名隐藏问题
2.存在的问题:
- 类文件名写错,尤其文件名与类名不一致时
- 类文件不在当前路径下,或者不在classpath指定路径下
3.存在的问题:
- 声明为public的类应以文件名一致,否则编译失败
4.存在的问题
- 编译失败,注意错误出现的行数,再到源代码中指定位置改错
总结第一个Java程序
1.实现hello world的执行散步:
①编写:将java代码编写在.java结尾的文件中,比如HelloWorld.java
②编译:使用javac.exe命令编译好的java文件中(即为java源文件),例如javac HelloWorld.java
③运行:使用java.exe命令解释运行已有的java类,例如:java类命
2.一个java文件中可以声明多个java类,在编译以后,也会对应的生成多个字节码文件
3.一个java文件中做多有一个类声明为public的,而且要求声命为public的类命与文件名相同。在一个源文件中,不能声明多个相同类名的类!
4.一个java文件使用javac进行编译以后,会生成一个或多个的字节码文件,并且每个字节码文件的名字与java类的类名相同
5.要想使用java.exe命令解释运行java程序,必须保证此类中声明有main()方法
方式一:
public static void main(String[] args)
方式二:
public static void main(String args[])
方式三:
public static void main(String a[])
6.java语言是严格区分大小写的
7.java语言中类和方法后面都有成对出现的{},执行语句时必须以;结束
8.System.out.println():输出信息以后,需要换行,而System.out.print():不需要
9.转义字符
- \n:换行操作
- \t:制表符,也就是一个Tab相隔的空隙
10.单行注释、多行注释不参与编译。 注释不能嵌套使用!
11. 要想程序在执行时,不出现乱码,要求编写代码使用的字符集和执行代码使用的字符集必须相同。默认命令行使用的字符集是gbk,
通常editplus默认创建的文件的字符集是:ANSI,在中文操作系统下即为:gbk
class HelloChina{
public static void main(String[] args){
System.out.println("hello!");
}
}
关于Java注释的内容
1.注释:(comment)
分类:
方式一:单行注释//
方式二:多行注释/......../
方式三:文档注释(java特有)
作用:
1.单行注释、多行注释的作用:
① 解释说明代码中相关结构
② 调试程序。
2.文档注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
特点:
① 单行注释、多行注释的特点:被单行注释或多行注释注释掉的文字或代码,不会被编译。进而生成的字节码文件中,不会保留注释掉的信息。
② 多行注释不能嵌套使用
2.Java API 文档:
API (Application Programming Interface,应用程序编程接口是 Java 提供的基本编程接口。
为了方便的使用java提供的api,官方提供了api文档。类似于《新华字典》
需要养成良好的编程风格
-
正确的注释和注释风格
-
使用文档注释来注释整个类或整个方法
-
如果注释方法中的某一个步骤,使用单行或多行注释
-
正确的缩进和空白
-
使用一次tab操作,实现缩进
-
运算符两边习惯性各加一个空格。比如:2+4*5。
-
块的风格
-
JAVA API源代码选择了行尾风格