导读
本文适合Java入门,不太适合Java中高级软件工程师。
本文以《Java程序设计基础篇》第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述。
本篇文章只是这个系列中的一篇,如果你喜欢这种讲解方式,或者觉得从中能学到知识,可以关注我,以便查阅本系列其他文章。
本文是第二章的第1讲,如果想看第一章,可以查看:
愉快地学Java语言:第一章简介第1讲
愉快地学Java语言:第一章简介第2讲
让我们开始愉快地学习Java语言吧!
1 编写简单的程序
怎么样编写程序呢?
其实就是设计算法,然后将算法用编程语言实现。
那么算法是什么呢?
简言之,算法描述了为解决问题而执行的动作。
那么如何描述算法呢?
可以用自然语言或伪代码来描述算法。
例如,给定序列A={a1,a2,a3,...,an},其中的元素为自然数。从小到大对A排序,使用冒泡排序算法。
使用自然语言描述算法:
1)比较相邻的两个元素am和am+1。如果am比am+1大,就交换它们;
2)对每一对相邻的元素执行1)步的操作。
3)在从对列头开始实行上面的步骤。
4)重复执行上述步骤,直到相邻两个元素,左边的元素都比右边的小为止。
伪代码描述:
翻译为Java语言
是不是觉得很简单呢。
2从控制台读取输入
前面学习了如何将信息输出到控制台,那么如何从控制台读取信息呢?
System.out表示标准输出,而System.in表示标准输入,是不是长得很像,只是差了个单词:out与in。
输出设备是显示器,输入设备则是键盘。
真的是这样吗?那么我用IDE调试的时候怎么没有输出到显示器啊?
因为编译器拦截输出信息,将其输出到Console窗口了。如果使用JVM命令java执行的话就可以在显示器上看到他。
System.in有点特别,要接收这个信息,需要借助其他类,比如Scanner。
例如,下面这个示例,我加了个while循环,以便我可以不断的输入。
貌似有一个不认识的关键字import,它是干啥的呢?
import构成了import语句。import语句有两种类型:明确导入
( specific import ) 和通配符导入(wildcard import)。
明确导入是在 import 语句中指定单个的类,将其导入你定义的类,例如上面的APP。
通配符导入是指通过使用星号作为通配符,将一个包中所有的类导入你定义的类中。
例如,上面使用了明确导入,只导入一个类,要想导入一个包,使用:
import java.util.*;
我们称其为导入,那么在我的项目中是否能找到导入的类文件呢?
导人语句只是告诉编译器在什么地方能找到这些类。只有被需要的类才会被读入。
那么使用它们的时候这些类文件会到哪里去呢?
当然是JVM了,因为执行Java程序的时候,类文件都是加载到JVM中的。
明确导入只是指明一个类,而通配符导入指明一个包,一个包中包括很多类,是不是包中所有的类都导入呢?那么它们会不会有性能上的差异?
当然不会。因为只有被需要的类才会被读入,所以没有性能差异。但通配符导入会影响编译速度。注意是编译而不是运行。
3标识符
标识符的作用是什么呢?
标识符是为了标识程序中诸如类、方法和变量的元素而采用的命名。
标识符的命名规则是怎样的呢?
标识符命名规则:
区分大小写
由字母、数字、下划线、美元符号构成
必须以字母、下划线、或美元符号开头,不能以数字开头
不能是保留字
不能是true,false,null
可以任意长
(虽然可使用$,但实际上不使用它命名标识符,因为,一般$只用在机器自动生产的源代码中)
4变量
变量代表了存储在计算机内存中的一个值,也表示在程序中可能被改变的值。
变量中有个变字,作何解呢?
指明是可变的一个值。但是后面会讲到final变量,虽然它也叫变量,但它一旦被创建就不可改变。
要是有变量就要先声明它,语法为:
datatype variableName;
例,int temp;
可以多个变量一起声明为同一个类型,语法为:
datatype variableNamel, variableName2, ... variableNamen;
变量都有初始值,一步完成声明和初始化。
例,int temp = 0;
不初始化不行吗?
当然不行,必须在使用前对变量初始化。
5赋值语句和赋值表达式
先明确几个概念
赋值语句:将一个值指定给一个变量
赋值操作符:使用等号作为赋值操作符。
表达式:涉及值、变量和操作符的一个运算。
赋值表达式:赋值语句常被称为赋值表达式。等号两边数据类型必须兼容。
赋值语句的语法:
variable=expression;
例:
int temp;//声明
temp =1+2;//赋值
注意:赋值表达式等号两边的类型必须兼容。
为什么把赋值语句也称为赋值表达式呢?
在Java中,陚值语句本质上就是计算出一个值并将它賦给操作符左边变量的一个表达式。
6命名常量
简称常量,表示从不改变的量。
为啥要使用常量?
1)不必重复输入同一个值
2)若想修改值,只需在一个地方修改
3)给常量一个描述性名字提高程序可读性
那么如何声明常量呢?
final datatype C0NSTANTNAHE = value;
看到了吧,final就是声明常量的关键字。另外,常量必须在同一条语句中声明和赋值。而且,不知你发现了没有,用大写字母为常量命名。
7命名习惯
我们要谨记:严格遵守Java命名习惯。
命名习惯:
变量和方法,用一个单词命名使用小写字母;多个单词,第一个单词使用小写字母,后面单词首字母大写。
类名,每个单词首字母大写。
常量,所有字母均大写,多个单词间用下划线相连。
命名时不要使用已有类库中使用的名称。
每天30分钟,坚持一个月就能为Java开发打下坚实的基础!努力学习吧!