和其他高级语言类似,Java也具有以下部分
1、关键字:见下表,注意Java严格区分大小写,关键字都是小写
2、标识符:见下图
3、注释。有两种://(单行注释)和/**/(多行注释)。还有一种文档注释/** ...... */ ,注释若干行,并可以将注释提取出来写入 javadoc 文档 ,这一部分以后再详写。
4、常量和变量:都是Java中数据的保存形式,保存在内存中方便计算,名字是标识符,标识其在内存中的位置(这是Java自动完成的)。Java是强类型语言,即数据必须用类型进行标示,这样一来变量即使改变其值,也只能是同类型的值。
1 public class var { 2 public static void main(String[] args) 3 { 4 /* 5 * 定义变量:数据类型 变量=初始值 6 * 定义过的变量可以直接使用 7 * 使用过的变量标识符不能重复定义,即使类型不同也不可以 8 */ 9 byte b=-128; 10 b=127; 11 short s=-32768; 12 s=32767; 13 int i=-2147483648; 14 i=2147483647; 15 /* 16 * 注意Java中规定long型数的末尾必须加上l(小写L); 17 * float型数末尾必须加上f,否则即使在取值范围内也报错 18 */ 19 long l=1234567890123l; 20 float f=2.3f; 21 double d=1.23456; 22 char c='你'; 23 boolean bo=true; 24 System.out.print(b); 25 { 26 int z=9; 27 System.out.print(z); 28 } 29 /* 30 * Java中变量的范围在{}内,外部不能找到该变量。 31 * 注意即使如此也不能使用同样的标识符进行定义 32 */ 33 } 34 } 35 36 public class test1 { 37 public static void main(String[] args) 38 { 39 /* 40 * 上面说到Java中的变量定义需要指明类型, 41 * 却又说了整数类型默认为int型,浮点类型默认为float, 42 * 这是因为除了那些指明(即用标识符标志)的数据,还有一类是直接使用的, 43 * 就像下面的1(对,就是赋值使用的1),是数据,但是没有经过定义,效果类似常量而非变量 44 * 所谓的默认类型就是指这些值的类型 45 * 所以下面的赋值过程就涉及类型的问题,其实Java会自动进行强制类型转换,见后面解释 46 */ 47 byte a=1; 48 /* 49 * 类型的问题会发生在以下三个问题上: 50 * 1、两个不同类型的值进行操作(首先会调整到同一类型中,低内存->高内存,即 类型提升 ,所以 值 的类型是高内存的类型) 51 * 2、两个同类型值进行操作,但结果类型有变 52 * 一般来说,如果值的类型较高,则应使用相应的类型来保存,但是如果有需求使用低内存则可以进行 强制类型转换。 53 * 类型提升自动完成,没有害处;但是强制类型转换会将超过该类型内存的高位全部舍弃,有损精度 54 */ 55 int b=5; 56 byte c=-3; 57 c=(byte)(b+c); 58 System.out.println(c); 59 byte d=127; 60 byte e=1; 61 d=(byte)(d+e); 62 System.out.println(d); 63 /* 64 *类型问题还有一个特殊问题,就是 65 *!!! 3、有变量参与的赋值,Java会将接收值的类型设为默认类型(即int和double类型) 66 *这里就涉及类型的转换,而且这是自动进行的,使用时要小心。 67 */ 68 byte f=3; 69 byte g=4; 70 f=(byte)f+g; 71 System.out.println(f); 72 /* 73 * 上面说的类型问题是在数值型变量上,但是字符型变量也可以和数值型变量进行运算,默认结果为int型。 74 */ 75 System.out.println((char)('你'+1)); 76 } 77 }