Java语言程序设计第4版 章节小结

  • 第一章 Java 起步入门

1.1 java的起源与演进

        1、Java语言最初是由James Gosling等开发的一种面向对象编程语言。

       2、最初命名为Oak(橡树),后因为团队去注册商标的时候,被律师告知 OAK 已被 Oak Technologies 注册为商标,然后由于创始人喜欢喝一种美味的咖啡于是起名为java并且java的图表也是像java一样。

1.1.1  Java的发展历程

        1、Java语言于1995年5月23日正式发布

        2、J2SE中的2是英文的two代表的是第2个版本

        3、2004年发布了Java5,增加/新特征中 主要的要点是:增强的for循环、自动装箱、自动拆箱

        4、2010年发布了Java7,增强/新特征中 主要的要点是:用String对象控制switch语句,之前只支持int

        5、java8的增强、新特征中 主要的要点是:Lambada表达式(简洁开发)

        6、java9~17的增强/新特征中 主要的要点是:新的switch语句和switch表达式

        7、新版本的java可以包容旧版本java的功能。

        8、J2SE中的2是英文的TWO代表的是第二个版本

图1-1 Java最新版本的新特征

1.1.2  Java语言的优点

        1、Java是面向对象的、体系结构中立的、解释新的、简单的、分布式的、健壮的、安全的、可移植的、高性能的、多线程的、动态的

        2、其中主要的两个优点是:面向对象和平台独立的(“编写一次,到处运行”)

1.2 Java平台与运行机制

1.2.1  Java平台与应用领域

        Java平台有三大版本分别代表java的三个应用领域:java标准版(JavaSE)、java企业版(JavaEE)、java微型版(JavaMe)

1.2.2 JVM、JRE和JDK

        1、在java编程中源代码被编译成字节码。JVM是一种解释字节码的本地机应用程序。JVM在众多平台上都可用,从而使Java成为一种跨平台的语言,进而实现“编写一次,到处运行”也就是可移植性。JVM适用于Window JVM、UNIX JVM  Linux JV、java

图1-2 传统的编程模式  Java程序的运行机制

        2、开发java要用到jdk,java开发工具包

        3、运行java要用到jre,java运行时环境

        4、JDK>JRE>JVM

图1-3 JVM、JRE和JDK三者关系

1.3 建立开发环境

1.3.1 JDK的下载与安装   

bin目录:存放编译、执行和调试Java程序的工具

        eg.

                javac.exe是Java编译器

                java.exe 是Java解释器

                jdb.exe是Java程序的调试工具

                javadoc.exe是HTML格式的API文档生成器

                jar.exe 是将.class文件打包成JAR文件的工具
conf 目录:存放一些配置文件
include 目录:存放本地代码编程需要的C头文件
jmods 目录:存放 JMOD格式的平台模块 创建自定义运行时映像需要它
legal目录:存放法律文件
lib 目录:存放开发工具所需要的附加类库和支持文件

1.3.2 关于环境变量

        安装完JDK后就可以在系统的任何位置编译和运行java程序了

                Win+R 后输入 cmd 打开命令提示符窗口

        在窗口内输入 

javac

        如果出现编译器选项则说明编译器正常
        启动一个Windows的”命令提示符“窗口,在提示符下输入:

java -version

        如果显示java版本号信息,说明解释器正常

1.4 第一个Java程序

1.4.1 Java程序开发步骤

        1、程序开发步骤:编辑源程序、编译源程序、执行或调试程序、得到程序输出结果

        2、JDK9之后的版本是可以直接运行源程序不必先编译

1.4.2 第一个程序分析

        1、Java程序的任何代码都必须放到一个类的定义中,类的内容包括在代码块内,一代(block)是以左花括号开始,以右花括号结束的语句组

        2、public为类的访问修饰符、class为关键字、其后用一对大括号括起来,称为类体(class body)

        3、main()方法

        Java应用程序的标志是类体中定义的一个 main()方法,称为主方法。主方法是程序执行的入口点,它类似于C语言的 main 函数。

        main()方法的格式如下:

Public static void main(String[]args){



}

public是方法的访问修饰符、tatic说明该方法为静态方法、void 说明该方法的返回值为空、main()方法必须带一个字符串数组参数 String[] args、可以通过命令行向程序中传递参数,方法的定义也要括在一对花括号中,花括号内可以书写合法的Java语句

        4、输出语句:Syster. out println(“”);

Public static void main(String[]args){

    Syster. out println(“”);

}

        该语句的功能是在标准输出设备上打印输出一个字符串,字符串字面值用双引号定界。

        5、Java 程序的语句要以分号“;”结束。

        6、println()是输出流 out中定义的方法,功能是打印输出字符串并换行。若不带参数,仅起到换行的作用。

        7、另一个常用的方法是 print(),该方法输出后不换行。

        8、java编译器的要求源程序文件必须以.java为扩展名

        9、编译源文件:javac 源文件文件.java

        10、运行字节码文件:java 字节码文件

        11、目录

                dir 查看目录结构

                cd 目录:进入指定目录

第2章 数据类型与运算符

2.1 Java数据类型

        1、Java语言的数据类型可分为基本数据类型和引用数据类型

基本数据类型:

字节型:整数类型(byte )、短整型(short) 整型(int )长整型 (long)

浮点类型:单浮点型(float)双浮点型(double)

字符类型(char)布尔类型(boolean)

引用数据类型:

类class、数组[]name、接口interface、记录类型record、枚举类型enum、注解类型@interface

        2、float:小数点后6位、double:小数点后15位

2.1.1 基本数据类型

        Java共有8种基本数据类型。基本数据类型在内存中所寸的位数固定,不依赖于所用的机器,这也正是Java跨平台的体现。需要注意各种基本数据类型在内存中所占位数及其取值范围如下图所示:

图2-1 Java基本数据类型

        1、主要注意:byte、short、int三种数据类型

        2、对于带小数点的数字,需要用float 型或 double 型存储

        3、float型是用32位存储的浮点值,double 型是用64位存储的浮点值,它们符合(IEEE)754标准

        4、char:无符号整型。char 型可以保存一个字符,比如'A'、'9'或'&'

        5、boolean 型的false或true需要注意都是小写

2.1.2 引用数据类型

        除基本数据外,Java还支持引用数据类型,其中包括类、接口、枚举、记录、注解和数组等。正是由于可以使用引用数据类型,才使Java可以编写面向对象程序。

图2-2 java引用数据类型

        类(包括抽象类): Java 语言最重要的引用数据类型,任何Java 程序都离不开类的使用,有了类才能创建对象或实例,程序就是对实例进行操作

        接口:对类的一-种扩展,它也是一种引用类型,但接口不能实例化。接口在类型 枚举:一种特殊的引用类型,它用来定义具有确定几个值的类型,比如交通灯有绿色、红色、黄色三种颜色,就可以定义一个枚举类型表示这三种颜色。

        记录类型: Java 16 引入的新特性,它主要用来声明用于存储数据的类,使用记录可使程序员不必自己定义访问方法,如 equals()、hashCode()和 toString()等。

        注解类型:以结构化的方式为程序元素(类、方法等)提供信息,这些信息能够被编译器、解释器等外部工具自动处理。(被编译器忽略)

单行注释://

多行注释:

/*

***

*/

        对于上述这些类型,可以使用Jave类库中定义的(如 Sysiemn 类),也可以使用程序员自己定义的,还可以使用第三方提供的类库。

        数组是一种特殊的引用类型,它不需要程序员自己定义有关类型。只要声明和创建数组:对象就可以像其他引用类型实例一样使用数组

2.2 标识符与语句

2.2.1 Java标识符

        1、标识符(identifier)用来为变量、方法和类型(类、接口等)命名

        2、标识符必须以字母、下划线(_)或美元符($)开头,其后可以是字母、下划线、美元符或数字,长度没有限制

        3、不推荐使用无意义的单个字母命名标识符,而应该使用有意义的单词或单词组合为对象命名。Java标识符采用驼峰命名法,有两种形式:大写的CamelCase 和小写的 camelCase。

        4、标识符是区分大小写的

2.2.2 Java关键字

         每种语言都定义了自己的关键字。所谓关键字(keywords)是该语言事先定义的一组词汇,这些词汇具有特殊的用途,用户不能将它们定义为标识符。Java 语言定义了下列 51个保留关键字

        1、goto和const:尽管是Java 语言中保留的两个关键字,但没有被使用,也不能将其作为标识符使用

        2、true、false 和null不是关键字(而是字面量),true和false 是boolean 型数据的字面值,null表示引用类型为空。

        字面量:引用数据类型的默认值

        3、除上述51个关键字外,Java 还定义了一些受限关键字,比如 var 用于类型占位yield 用于 switch-case 中返回一个值,record用于声明一个记录类型,以及在模块中使用requires,exports等受限关键字

2.2.3 变量与赋值

        1、变量是在程序运行中其值可以改变的量。一个变量通常由数据类型、变量名和变量值三个要素组成。可以通过变量声明相应空间

        2、Java中有两种类型的变量:基本类型的变量和引用类型的变量

2.2.4 语句

        1、使用“=”来给变量赋值,一般称为变量的初始化

        2、“=”的左边为变量名,右边为赋给变量名的值

        下面是个变量赋值的语句:

a = b + 5;

        下面是一条变量声明语句

long seconds;

2.3 基本数据类型及字面值

        字面值是某种类型值的表示形式。字面值有三种类型:基本类型的字面值、字符串字面值及 null 字面值。基本类型的字面值有4种类型:整数类型、浮点类型、布尔类型、字符类型

2.3.1 整数类型

        1、Java提供4种整数类型,分别是byte型(字节型)、 short型(短整型)、 int型(整型)和long型(长整型)。

        2、Java的整型字面值有四种表示方法:

​ 十进制数,如0、257、-365

​ 二进制数,以0b或0B开头的数,如0B00101010表示十进制数42。

​ 八进制数,以0开头的数,如0124表示十进制数84,-012表示十进制数-10(最大是7)

​ 十六进制数,以0x或0X开头的整数,如0x124表示十进制数的292(最大值为F)

        3、整数类型字面值具有int型在内存中占32位。若要表示long型字面型可以在后面加上l或L,通常用L因为小写的l与数字1长的过于相似。

2.3.2 浮点类型

        1、在Java中由两种浮点类型的数据:float型和double型

        2、在内存中所占的位数:float型占32位、double型占64位

        3、称为单精度浮点数和双精度浮点数,符合IEEE-754标准

        4、浮点类型字面值默认是double型数据

        5、如果表示float型字面值数据,必须在后面加上F或者f,双精度型也可以加D或d

        6、如果需要精确而五社入误差的数字计算,可以使用BigDecimal类

        7、数值的字面值太长,读起来会困难,从java7开始可以用下划线“_”将数字分组

2.3.3 字符类型

        1、Java使用Unicode为字符编码,Unicode字符集使用两个字节(16位)为字符编码,可表示65 536个字符。

        2、用反斜杠(\)表示转义,如’\n’表示换行。

图2-3  常见的转义字符序列

2.5 软件开发过程

        1、过程:需求确定、系统分析、系统设计、实现、测试、部署和维护

        2、从键盘读取时可以在程序中创建一个Scanner类,使用时,需用import导入

import java.util.Scanner;

public class demo {

     public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        System.out.print("请输入xxxx: ");

    }

}

        3、nextLine:监听回车

2.6数据类型转换

        分类:自动类型转换、强制类型转换

2.6.1自动类型转化

图2-4 常见的转义字符序列

以下类型之间允许自动转换:

从byte到short、int,long、float 或者 double

从short 到int,long、float 或者double

从char到 int、long、float 或者 double

从int到 long、float 或者 double

从 long到 float 或者 double

从float 到 double

2.6.2 强制类型转换

        强制类型转换:将位数较多的数据类型转换为位数较少的数据类型。

        一般来说,以下类型之间的转换需要进行强制转换:

从short到byte或者char

从char到byte或者short

从int到byte、short、或者char

从long到byte、short、char或者int

从float到byte、short、char、int或者long

从double到byte、short、char、int、long或者float

2.7 运算符

2.7.1算术运算符

        1、一元运算符:正(+)、负(-)、自增(++)、自减(–)4个。

        2、二元运算符:加(+)、减(-)、乘(*)、 除(/)、取余数(%)5个

        3、++在前先进行自加,++在后是当前变量的值

        4、当++参与其他表达式的运算时,++在前和在后是不同的。

        Java的运行时从上至下,从左至右的、因此、表达式1的值就要看下遇到的是变量还是++。如果时变量,则表达式的值就是变量的值

        反之,先遇到的是 ++,那就需要对变量先进行自加、然后赋值给表达式1,而表达式2的执行过程如出一辙。

        当++ 不参与表达式运算时,++在前和在后没有任何区别,就是对变量自身进行自加。

2.7.2 关系运算符

2.7.3 逻辑运算符

        逻辑非:!

        逻辑与:&

        逻辑或:|

        逻辑异或:^

        短路与:&&

        短路或:||

图2-5 逻辑运算的运算规则

2.7.4 赋值运算符

图2-6 扩展的赋值运算符

2.7.5 位运算符

图2-7  位运算符

        1、位逻辑运算符

图2-8 位逻辑运算的运算规则


        2、移位运算符

                Java语言提供了三个移位运算符:左移运算符(<<)、右移运算符(>>)、无符号右移运算符(>>>)

2.7.6 运算符的优先级和综合性

图2-9 按优先级从高到低的运算符

2.8 程序文档风格和注释

2.8.1 一致的缩进和空白

        保持一致的缩进会使程序更加清晰、易读、易于调试和维护

2.8.2 块的风格

        1、代码块是由花括号围起来的一组语句,如类体、方法体、初始化块等。

        2、作用域:类体、方法体、初始化块

        3、java语言:行末模式、c语言:次行格式

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值