目录

  • 1 项目一 开发第一个Java程序
    • 1.1 任务1 搭建Java开发环境
    • 1.2 任务2 使用记事本开发Java程序
    • 1.3 任务3 使用Eclipse开发Java程序
    • 1.4 编程实践
  • 2 项目二 开发简单的Java应用
    • 2.1 任务1 打印超市购物小票
    • 2.2 任务2 掷色子游戏
    • 2.3 任务3 抽奖游戏
    • 2.4 编程实践
  • 3 项目三 开发面向对象的Java应用
    • 3.1 类和对象的创建
    • 3.2 类的封装
    • 3.3 构造方法
    • 3.4 对象数组
    • 3.5 编程实践
  • 4 项目四 Java API应用
    • 4.1 任务1 加密/解密工具
    • 4.2 编程实践
  • 5 项目五 Java集合的应用
    • 5.1 点菜系统
    • 5.2 编程实践
任务1 打印超市购物小票


主要知识点:

一、Java基本语法

1、Java代码的基本格式

ØJava中的程序代码都必须放在一个类中。类需要使用class关键字定义,在class前面可以有一些修饰符,格式如下:

修饰符 class 类名{

        程序代码

}

注意:

•1)Java中的程序代码可分为结构定义语句和功能执行语句,其中,结构定义语句用于声明一个类或方法,功能执行语句用于实现具体的功能。每条功能执行语句的最后都必须用分号(;)结束。

•(2)Java语言严格区分大小写。

•(3)为了增强程序的可读性,应该让自己编写的程序代码整齐美观、层次清晰,即:程序代码要有正确的缩进。

2、Java中的注释

注释是对程序的某个功能或者某行代码的解释说明,编译程序时编译器会忽略这些注释信息。

ØJava中的注释有三种类型,具体如下:

•单行注释:通常用于对程序中的某一行代码进行解释,用符号“//”表示。

•多行注释:顾名思义就是在注释中的内容可以为多行,它以符号“/*”开头,以符号“*/”结尾。

•文档注释:以“/**”开头,并在注释内容末尾以“*/”结束。

3、Java中的标识符

Ø在编程过程中,经常需要在程序中定义一些符号来标记一些名称,如,包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。

Ø标识符可以由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但不能以数字开头,不能是Java中的关键字。

Ø在定义标识符时还应该遵循以下规则:

(1)包名所有字母一律小写。例如:cn.hniu.javaStydy。

(2)类名和接口名每个单词的首字母都要大写。如:ArrayList、Iterator。

(3)常量名所有字母都大写,单词之间用下划线连接。例如:DAY_OF_MONTH。

(4)变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写。例如:lineNumber、getLineNumber。

(5)在程序中,应该尽量使用有意义的英文单词来定义标识符,要做到“见名知意”,让程序便于阅读。

4、Java中的关键字

Ø关键字是编程语言里事先定义好并赋予了特殊含义的单词。下面列举的是Java中所有的关键字。

abstract    boolean    break    byte    case    catch    char    const    class

continue    default     do        double    else    extends    false    final    finnally

float           for           goto       if           implements        import    instanceof

int             interface  long       native    new         null    package    private    protected

public       return       short     static    strictfp      super    switch     this        throw  

throws        transient   true      try        void        volatile    while    synchronized         

注意:

§所有关键字都是小写的。

§程序中的标识符不能以关键字命名。

§goto 和 const 是保留关键字,不能作为标识符的名称。

§true 、false和null不属于关键字,它们是一个单独标识符类型,不能用。

5、Java中的常量

Ø常量就是在程序中固定不变的值,是不能改变的数据。在Java中,常量包括整型常量、浮点数常量、布尔常量、字符常量等。

(1)整型常量

Ø整型常量是整数类型的数据,它的表现形式有四种,具体如下:

•二进制:由数字0 和1 组成的数字序列,如:00110101。

•八进制:以0开头并且其后由0 ~7范围(包括0和7)内的整数组成的数字序列,如:0342。

•十进制:由数字0~9范围(包括0和9)内的整数组成的数字序列,如:198。整数以十进制表示时,第一位不能是0,0本身除外。

•十六进制:以0x或者0X开头并且其后由0~9、A~F(包括0和9、A和F)组成的数字序列,如0x25AF。

(2)浮点数常量

浮点数常量就是在数学中用到的小数,分为float单精度浮点数和double双精度浮点数两种类型。其中,单精度浮点数后面以F或f结尾,而双精度浮点数则以D或d结尾。不加任何的后缀时,虚拟机会默认为double双精度浮点数。浮点数常量还可以通过指数形式来表示。如:3.6,0.2f,3.78d,3e2f,5.02e3f。

(3)字符常量

Ø字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号(' ')引起来,它可以是英文字母、数字、标点符号、以及转义序列表示的特殊字符。如:'a','23','&','\r','\u0000'。

(4)字符串常量

Ø字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号(" ")引起来。如:"HelloWorld" "123" "Welcome \n xxx"。

Ø一个字符串可以包含一个字符或多个字符,也可以不包含任何字符,即长度为零。

(5)布尔常量

Ø布尔常量即布尔型的两个值true和false,该常量用于区分一个事物的真与假。

(6)null常量

Ønull常量只有一个值null,表示对象的引用为空。

6、Java中常量的定义

所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。

语法:final 常量名 = 值;

如:final PI=3.1415926;

程序中使用常量可以提高代码的可维护性。注意:常量名一般使用大写字符。

二、变量

1、变量的概念

在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。这些内存单元我们称之为变量,定义的标识符就是变量名,内存单元中存储的数据就是变量的值。

简单的说,我们可以把变量看作是个盒子,可以将钥匙、手机、饮料等物品存放在这个盒子中,也可以在需要的时候换成我们想存放的新物品。

在 Java 中,我们通过三个元素描述变量:变量类型、变量名以及变量值。

如果我们把变量比作是酒店的房间,要存储的数据就好比要住宿的客人,我们可以根据客人的要求安排其入住“标准间”或者是“总统套房”,并且可以根据房间名字快速查找到入住客人的信息。同理,在 Java 程序中,我们也可以根据所需要保存的数据的格式,将其保存在指定类型的变量空间中,并且通过变量名快速定位!

例如,我们定义一个变量 x ,用来保存一个整数3 , 在程序中只要找到了 x这个变量,就能找到存储在里面的 ”3”。

注意: Java 中的标点符号是英文的。

2、变量的数据类型

(1)常用数据类型

Java 定义了 4 类 8 种基本数据类型:

(1)整型— byte,short,int,long

(2)浮点型— float,double

(3)字符型— char

(4)布尔型— boolean

数据类型

字节数

取值范围

byte

字节型

1

-27~27-1

short

短整型

2

-215~215-1

int

整型

4

-231~231-1

long

长整型

8

-263~263-1

float

单精度浮点数

4

-3.4e+38 ~-1.4e-45

1.4e-45 ~ 3.4e+38

double

双精度浮点数

8

-1.7976931348623157e+308~494e-32

44.9e-324~1.79769313486231570e+308

char

字符型

2

\u0000~\uffff

boolean

布尔型

1

false,true

注意:

    Java 的整型常量默认为int型,声明 long 型常量要在其后加‘l’ 或 ‘L’。

    Java 的浮点型常量默认为 double 型,声明 float 型常量,须后加‘f’ 或 ‘F’。

    boolean类型数据只允许取值true和false。

    Java的字符串变量用String定义,String是一个类,是引用类型的。

(2)数据类型转换

    在 Java 程序中,将数据(常量、变量、表达式)由一种数据类型转换为另一种数据类型,称为数据类型转换。

    数据类型转换有两种方式:自动转换和强制转换

    自动类型转换必须满足同时满足两个条件:

        a、发生转换的两种数据类型是兼容的。

        b、目标类型的取值范围大于源类型的取值范围。

    •整型、浮点型、字符型彼此兼容,可以进行相互转换。

    •布尔型与其他数据类型不兼容,因此布尔型不能转换为其他数据类型。

    (1)自动类型转换

        在运算中,如果多个操作数的数据类型不一致, Java 自动将低级的数据类型转换为高级的数据类型,称为自动转换。

       Java 数据类型由低级到高级排序为:(byte,short,char) → int → long → float → doublev

    说明:

    §byte,short, char 三种类型是平级,它们之间不会自动转换;在计算时,它们首先转换为int型,再参与计算。

    (2)强制类型转换

    将一个数据由高级数据类型转换为低级数据类型,需要强制转换。

    强制转换的格式为:(数据类型)变量或表达式  

    强制转换可能造成数据的精度下降或溢出。

3、变量的定义

    数据类型 变量名[=变量初值][, 变量名[ = 初值] ,… ];

    如:int x=3;

4、变量的作用域

变量需要在它的作用范围内才可以被使用,这个作用范围称为变量的作用域。

在程序中,变量一定会被定义在某一对大括号中,该大括号所包含的代码区域便是这个变量的作用域。如:

  三、运算符与表达式

1、运算符

     运算符是一种“功能”符号,用以通知 Java 进行相关的运算。如,我们需要将变量 age 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作。

    Java 语言中常用的运算符可分为如下几种:

        Ø算术运算符

        Ø 赋值运算符

        Ø 比较运算符

        Ø 逻辑运算符

        Ø 条件运算符

   (1)算术运算符

说明:

“+ ”运算符不仅用于加法运算,还用于字符串连接。

“/ ”运算符用于整型操作数运算时,“商”也是整型。

“% ”运算符不仅用于整型操作数,还用于浮点型操作数。

“ ++”或“ --”运算符写在变量前面和写在变量后面意义不同。写在前面时,先运算再取值;写在后面时,先取值再运算。

(2)赋值运算符

赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。

(3)比较运算符

比较运算符用于对两个数值或变量进行比较,其结果是一个布尔值,即true或false。

(4)逻辑运算符

(5)三目运算符

    语法格式:表达式 1 ?表达式 2  :表达式  3

    说明:表达式1 的值为布尔型。首先计算表达式1 的值,若为true,则整个表达式的结果取表达式2 的值;若为false,则整个表达式的结果取表达式3 的值。

(6)位运算符

     移位运算符的面向对象也是二进制的“位”。可以单独用移位运算符来处理int型数据。

    它主要包括:左移位运算符(<<)、“有符号”右移位运算符(>>)、“无符号”右移运算符(>>>)         v1)左移位运算符。

     1)左移位运算符

        左移位运算符,用符号“<<”表示。它是将运算符左边的对象向左移运动运算符右边指定的位数(在低位补0)。         

    2)“有符号”右移运算符 

        “有符号”右移运算符,用符号“>>”表示。它是将运算符左边的运算对象向右移动运算符右侧指定的位数。它使用了“符号扩展”机制,也就是说,如果值为正,在高位补0,若为负,则在高位补1。

    3)“无符号”右移运算符

        “无符号”右移运算符,用符号“>>>”表示。它同“有符号”右移运算符的移动规则是一样的,惟一的区别就是:“无符号”右移运算符,它采用了“零扩展”,也就是说,无论值为正负,都在高位补0。

2、运算符优先级

    说明:单目  > 算术 > 关系 > 逻辑 > 三目条件 > 赋值  

3、表达式

    表达式是符合一定语法规则的运算符和操作数的序列。

     说明:

    对表达式进行运算得到的结果称为表达式的值。

    表达式值的数据类型即为表达式的类型。

    例如:(a - b ) * c - 4

              i< 30 && i% 10 != 0

    表达式的运算顺序:

        按照运算符的优先级由高到低的顺序进行。

        优先级相同的运算符按结合方向进行。