3.1一个简单的Java语言程序
这是程序虽然很简单,但是所有的Java程序都具有这种结构,因此还是值得花一些时间来研究的。首先,Java区分大小写。如果出现了大小写拼写错误(例如:将main拼写成Main),程序将无法运行。
下面逐行的查看这段源代码。关键字pubilc称为访问修饰符(access modifier),这些修饰符用于控制程序的其他部分对这段代码的访问级别。在后面将会更加详细的介绍。
3.2 注释
与大多数程序设计语言一样,Java中的注释也不会出现现在可执行程序中。因此,可以在源程序中根据需要添加任意多的注释,而不必担心可执行代码会膨胀。在Java中,有三种标记注释的方式。最常用的//,其注释内容从//开始到本行结尾。
system.out.println("we will not use 'hello world!'");// is this too cute?
当需要更长的注释时,既可以在每行的注释前标记//,也可以使用/*和*/注释界定符讲一段比较长的注释括起来。
最后,第三种注释可以使用来自动的生成文档。这种注释以/**开始,以*/结束。
警告:在Java中,/* */注释不能嵌套。也就是说不能简单地把代码用?8和*/括起来作为注释,因为这段代码本身也包含一个*/界定符。
3.3 数据类型
Java是一种强类型语言。这就意味着必须为每一个变量声明一种类型。在Java中,一共有八种基本类型,其中有4种整形,2种浮点型,1种字符类型和1种用于表示真值的Boolean类型。
3.3.1整型
整型用于表示没有小数部分的数值,允许是负数。Java提供了4种整型,具体内容如下
Java整型
类型 | 存储需求 | 取值范围 |
int | 4字节 | -2147483648~2147483647(刚刚超过20亿) |
short | 2字节 | -32768~32767 |
long | 8字节 | -9223372036854775808~9223372036854775808 |
byte | 1字节 | -128~127 |
在通常情况下,int类型最常用。但如果想要表示整个地球的居住人口,就需要使用long类型。byte和short类型主要用于特定的应用场合,例如,底层的文件处理或者存储空间很宝贵时的大数组。
3.3.2 浮点类型
浮点类型用于表示有小数部分的数值。在Java种有两种浮点类型,如下
浮点类型
类型 | 存储需求 | 取值范围 |
float | 4字节 | 大约+-3.40282347E+38F(有效位数6~7位) |
double | 8字节 | 大约+-1.79769313486231570E+308(有效位数15位) |
3.3.3cahr类型
char类型原本用于表示单个字符。不过,现在的情况已经有所变化。如今,有些Unicode字符可以用一个char值描述,另外一些Unicode字符则需要两个char值。char类型的字面量值要用单引号括起来char类型的值可以表示为16进制值,其范围从/u0000到/uFFF。除了转义序列\u之外,还有一些用于表示特殊字符的转义序列
转义序列 | 名称 | Unicode值 |
\b | 退格 | \u0008 |
\t | 制表 | \u0009 |
\n | 换行 | \u000a |
\r | 回车 | \u000d |
\" | 双引号 | \u0022 |
\' | 单引号 | \u0027 |
\\ | 反斜杠 | \u005c |
3.3.4Unicode和char类型
要想弄清 char类型,就必须了解 Unicode 编码机制。Unicode 打破了传统字符编码机制的限制。在 Unicode 出现之前,已经有许多种不同的标准:美国的ASCII、西欧语言中的ISO8859-1、俄罗斯的KOI-8、中国的GB 18030 和 BIG-5等。这样就产生了下面两个问题:一个是对于任意给定的代码值,在不同的编码方案下有可能对应不同的字母;二是采用大字符集的语言其编码长度有可能不同。例如,有些常用的字符采用单字节编码,而另一些字符则需要两个或多个字节。
3.3.5 Boolean类型
boolean类型有两个值:false和true,用来判定逻辑条件。整型值和Boolean之间不能进行相互转换。
3.4变量与常量
与所有程序设计语言一样,Java也使用变量来储值。常量就是值不变的变量。
3.4.1 声明变量
在Java中,每个变量都有一个类型(type)。在声明变量之前,先指定变量的类型,然后是变量名。举例:
double salary;
int vacationDays;
long earthPopulation;
boolean done;
可以看到,每个声明都是以分号结尾。由于声明是一条完整的Java语句,而所有的Java语句都以分号结束,所以这里分号是必须的。
3.4.2 变量初始化
声明一个变量之后,必须用赋值语句对变量进行显示初始化,千万不要使用未初始化的变量的值。想要对一个已经声明的变量赋值,就需要将变量名放在等号=左侧,再把一个适当取值的Java表达式在等号右侧。也可以将变量和初始化放在同一行中。最后,在Java中可以声明放在代码中的任何地方。在Java中,变量的声明尽可能地靠近变量第一次使用的地方,这是一种良好的程序编写风格。
3.4.3 常量
在Java中,利用关键字 final 指示常量。例如:
public class Constants{
public static void main(Stringl] args){
final double CM PER INCH = 2.54;double paperwidth = 8.5;
double paperHeight = 11;System.out.printIn("Paper size in centimeters:"+ paperWidth * CM_PER INCH + " by " + paperHeight * CM PER INCH);}}
关键字 final 表示这个变量只能被赋值一次。一旦被赋值之后,就不能够再更改了。习惯上,常量名使用全大写。
在Java 中,经常希望某个常量可以在一个类的多个方法中使用,通常将这些常量称为类常量(class constant)。可以使用关键字 static final设置一个类常量。下面是使用类常量的示例:
public class Constants2{
public static final double CM PER INCH = 2.54;
public static void main(Stringl] args){
double paperwidth = 8.5;double paperHeight = 11;
System.out.println("Paper size in centimeters:"+ paperWidth *CM PER INCH +" by "+ paperHeight * CM PER INCH);}}
需要注意,类常量定义位于main方法外部。因此,在同一个类的其他方法中也可以使用这个常量。如果一个常量被声明为public,那么其他类的方法也可以使用这个常量。如果这个示例中的Constant2.CM_PER-INCH.
3.4.4 枚举类型
有时候,变量的取值只在一个有限的集合内。例如,销售的服装或比萨只有小、中、大和超大这四种尺寸。当然,可以将这些尺寸分别编码为1、2、3、4或S、M、L、X。但这种设置很容易出错。很可能在变量中保存的是一个错误的值(如0或m)。针对这种情况,可以自定义枚举类型。枚举类型包括有限个命名的值。例如,enum Size{ SMALL,MEDIUM,LARGE,EXTRA LARGE };
现在,可以声明这种类型的变量:
Size s = Size.MEDIUM;
size类型的变量只能存储这个类型声明中给定的某个枚举值,或者特殊值 null,null表示这个变量没有设置任何值。
。。。。。。。。。。。。还未写完