Java 语言使用 final 关键字来定义一个常量,常量不同于常量值,它可以在程序中用符号来代替常量值使用,因此在使用前必须先定义。常量与变量(在《Java变量的声明和初始化》一节中讲解)类似也需要初始化,即在声明常量的同时要赋予一个初始值。常量一旦初始化就不可以被修改。
我适合学Java编程吗?
Java基础语法
基础薄弱入门、开发环境搭建、常量、变量、数据类型、运算符、选择结构-if-switch、循环结构-while-[do-while]-for以及各种循环控制与多层嵌套循环、方法的设计与使用、数组、递归、冒泡-选择等多种排序、二分查找、线性查找等,本阶段主要是编程规范与思路的培养;掌握基本的逻辑算法;熟悉Java底层的一些语法规定
面向对象编程思想
面向对象与面向过程编程思想、类与对象的设计与使用、抽象类、接口、枚举、内部类、面向对象三大特征(封装-继承-多态)、this、super、static、final、Override与Overload的区别与应用、构造方法、包等,培养面向对象编程思想;熟悉面向对象编程相关语法;设计出后面阶段需要的实体类、工具类、模板、接口等基础部分
Java常用API
String/StringBuffer/StringBuilder、日期时间相关类以及格式化Format、DateFormat、Calendar、异常体系Throwable以及处理方式、正则表达式、System/Runtime及垃圾回收机制、随机数获得算法及UUID;IntelliJ
IDEA、Eclipse等开发工具、Java5,6,7,8新特性解析;通过对常用API的使用熟练Java提供的基本功能;熟悉日期的各种格式转换等操作;查看学习Java常用API中的源码以进一步提升自己的编程思路和设计理念
多线程并发编程
什么是线程、线程的多种创建和启动方式、线程同步及安全问题、线程池、定时器、多线程通信及线程等待唤醒、高并发应用程序解决方案探讨;近阶段知识结合Swing编程做一些桌面应用程序及游戏,如:贪吃蛇、俄罗斯方块、打飞机、棋牌类游戏、模拟开发类似Editplus的小型编辑器等,这些都只是一个小插曲而已,它们是为后面的真实项目做铺垫
数据结构/集合框架
了解常见数据结构,如堆栈、链表、队列、双端队列、红黑树等、模拟集合框架自行设计容器类、Collection/Collections/Arrays/List/Set/Map/HashMap/TreeMap/Properties/Hashtable/Vector/以及比较器迭代器Iterator等;近阶段知识结合Swing编程做一些桌面应用程序及游戏,如:贪吃蛇、俄罗斯方块、打飞机、棋牌类游戏、模拟开发类似Editplus的小型编辑器等,这些都只是一个小插曲而已,它们是为后面的真实项目做铺垫
IO/网络编程/反射/设计模式
文件操作、IO流读写、对象流的序列化与反序列化;网络编程基础知识IP/TCP/UDP协议和端口URL等、Socket网络通信、断点续传;反射reflect、常见设计模式;模拟开发网络聊天工具;上传下载及断点续传等小应用;学习单例、工厂、模板、适配器、构建者、装饰等设计模式
常量有三种类型:静态常量、成员常量和局部常量。
代码第 3 行的是声明静态常量,使用在 final 之前 public static 修饰。public static 修饰的常量作用域是全局的,不需要创建对象就可以访问它,在类外部访问形式为 HelloWorld. PI。这种常量在编程中使用很多。
代码第 5 行声明成员常量,作用域类似于成员变量,但不能修改。代码第 9 行声明局部常量,作用域类似于局部变量,但不能修改。
在定义常量时,需要注意如下内容:
在定义常量时就需要对该常量进行初始化。
final 关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。
为了与变量区别,常量取名一般都用大写字符。
当常量被设定后,一般情况下不允许再进行更改,如果更改其值将提示错误。例如,如下图中定义常量 AGE 并赋予初值,如果更改 AGE 的值,那么在编译时将提示不能重合赋值错误。