Java标示符
Java中对各种变量、方法、和类等要素命名是使用的字符序列为标示符,凡是自己可以起名的地方都叫标示符,都遵守标示符的规定。
Java标示符的命名规则
标示符由字母、下划线“_”、美元符合“$”或数字组成。标示符应以字母、下划线、美元符开头。Java标示符大小写敏感,长度不限制。
约定俗成:Java标示符选取应注意“见名知意”且不能与Java语言的关键字重名。
Java关键字
Java中一些赋以特定的含义,用做专门用途的字符串称为关键字(keyword)。大多数编辑器会将关键字用特殊方式标出。Java所有关键字都是小写英文。goto和const虽然从未使用,但也被作为Java关键字保留。
Java常量
Java的常量值用字符串表示,区分为不同的数据类型,如:整型常量(123)、实型常量(3.14)、字符常量(‘a’)、逻辑常量(true、false)、字符串常量(“helloworld”)。注意区分字符常量和字符串常量。“常量”这个名词还会用在另外其他语境中表示值不可变的变量(final)
Java变量
Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域。Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先声明,然后必须进行赋值,才能使用。
Java变量的分类
按被声明的位置划分:局部变量:方法或语句块内部定义的变量。成员变量:方法外部、类的内部定义的变量。注意,类外面(与类对应的大括号外面)不能有变量的声明。
按所属的数据类型划分:基本数据类型变量和引用数据类型变量。
Java局部变量与成员变量
方法体内部声明的变量称为局部变量(方法体内部是指与方法对应的大括号内部)。在方法体外,类体内部声明的变量称为成员变量。
Java数据类型的划分:
Java基本数据类型
Java中定义了4类8种基本数据类型:逻辑型(boolean)文本型(char)整数型(byte,short,int,long)浮点数型(float,double)
逻辑型Boolean
boolean类型适于逻辑运算,一般用于程序流程控制。boolean类型数据只允许取值true或false,不可以0或非0的整数代替true或false,这点和C语言不同。用法举例:
字符型char
char型数据用来表示通常意义上的“字符”。字符常量为用单引号括起来的单个字符。例如:char c=‘a’;char c1=‘中’;Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示,例如:char c1=‘\u0061’;注:Unicode是全球语言统一编码。Java语言中还允许使用转义符‘\’来将其后的字符转变为其它的含义,例如:char c2=‘\n';('\n'代表换行符)。
整数类型
Java各整数类型有固定的表数范围和字段长度,其不受具体操作的影响,以保证Java程序的可移植性。Java语言整型常量的三种表达形式:十进制整数,如:12,-314,0。八进制整数,要求以0开头,如:012。十六进制整数,要求0x或0X开头,如:0x12。Java语言的整型常量默认为int型,声明long型常量可以后加’l‘或’L‘,如:int i=600;long l=888888L;//必须加L,l否则会出错。
浮点类型
与整数类型类似,Java浮点类型有固定的表数范围和字段长度,不受平台影响。Java浮点类型常量有两种表示形式,十进制形式,例如:3.14,314.0,0.314,科学计数法形式,如:3.14e2,3.14E2,100E-2。Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:double d=12345.6;float f=12.3f;//必须加f否则会出错。下面列出Java的各种浮点类型
基本数据类型转换
boolean类型不可以装换为其他的数据类型。整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:容器小的类型自动转换为容量大的数据类型;数据类型按容量大小排序为:byte,short,char->int->long->float->double。byte,short,char之间不会相互转换,他们三者之间计算时首先会转换为int类型。容量大的数据类型转换为容量小的数据类型时,要加上强制类型转换符,但可能造成精度降低或溢出;使用时要格外注意。有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那一种数据类型,然后在进行计算。实数常量(如:1.2)默认为double。整数常量(如:123)默认为int
Java运算符
Java语言支持如下运算符:算术运算符(+、-、*、/、%、++、--)关系运算符(>、<、>=、<=、==、!=)逻辑运算符:(!、&、|、^、&&、||)位运算符(&、|、^、>>、<<、>>>)赋值运算符(=)扩展赋值运算符(+=、-=、*=、/=)字符串连接运算符(+)
自加和自减运算符
i++/i--:先取i的值,在进行自加或自减运算。++i/--i:先进行运算,在取值。
逻辑运算符
逻辑运算符:!-逻辑非 &-逻辑与 |-逻辑或 ^-逻辑异或 &&-短路与 ||-短路或
逻辑与(&):两个操作数都是true,结果才为true。逻辑或(|):两个操作数一个是true,结果为true。逻辑异或(^):两个操作数相同,结果为false;两个操作数不相同,结果为true。逻辑非(!):操作数为true,结果为false;操作数为false,结果为true。短路与(&&)当&&左侧的表达式为false时,则将不会计算其右侧的表达式,即左false则false;无论任何情况。短路或(||):与短路与类似。
赋值运算符与扩展赋值运算符
赋值运算符(=):当“=”两侧数据类型不一致时,可以使用默认类型转换或使用强制类型转换原则进行处理。例如:long l=100; int i=(int)l;注意:可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出其表述范围。
字符串连接符
“+”除用于算术加法运算外,还可以用于对字符串进行连接操作。例如:int id=800+90;或String s="hello"+"world";"+"运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后在进行连接。例如:int c=12;System.out.printIn("c="+c);当进行打印时,无论任何类型,都自动转为字符串进行打印,例如:System.out.printIn(c);
Java表达式
表达式是符合一定语法规则的运算符和操作数的序列。表达式的类型和值:对表达式中操作数进行运算得到的结果称为表达式的值。表达式值的数据类型即为表达式的类型。表达式的运算顺序:应按照运算符的优先级从高到低的顺序进行。优先级相同的运算符按照事先约定的结合方向进行。
三目条件运算符
“三目条件运算符”,语法格式:x?y:z。其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。
语句
条件语句,根据不同条件,执行不同语句。如:if if…else if…else if if…else if…else if…else switch。循环语句,重复执行某些动作,如:for while do…while
if语句
switch语句
Java中switch语句只能探测int类型值。default可以省略,但不推荐省略。每条case语句后必须加上break。多个case可以合并到一起。
循环语句
for循环语句
for循环语句的形式:for(表达式1;表达式2;表达式3){语句;} for循环语句执行过程:首先计算表达式1,接着执行表达式2,若表达式2的值=true,则执行语句,接着计算表达式3,再判断表达式2的值,依次重复下去,直到表达式2的值为false。for循环的执行过程
while与do while循环语句
while循环语句的形式:while(逻辑表达式){语句;}; while循环语句的执行过程:先判断逻辑表达式的值。若=true,则执行其后面的语句,然后再次判断条件并反复执行,直到条件不成立为止。do while循环语句的形式:do{语句;}while(逻辑表达式);do while循环语句的执行过程:先执行语句,再判断逻辑表达式的值,若为true,在执行语句,否则结束循环。while语句执行过程和程序举例
do-while语句执行过程和程序举例
break&Continue语句
break语句用于终止某个语句块的执行,用在循环语句体中,可以强行退出循环。
continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下面未执行的循环,开始下一次循环过程。
方法
Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,声明格式:【修饰符1 修饰符2...】返回值类型 方法名(形式参数列表){Java语句;} 形式参数:在方法被调用时用于接收外界输入的数据。实参:调用方法时实际传给方法的数据。返回值:方法在执行完毕后返还给调用它的环境的数据。返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。Java语言中使用下述形式调用方法:对象名.方法名(实参列表)。实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配。return语句终止方法的运行并指定要返回的数据。Java中进行函数调用中传递参数时,遵循值传递的原则:基本类型传递的是该数据值本身,引用类型传递的是对对象的引用,而不是对象本身。
Java程序的格式(比算法重要)
格式应注意的问题
1.大括号对齐。2.遇到{缩进。3.程序块之间加空行。4.并排语句之间加空格。5.运算符两侧加空格。6.{前面有空格。7.成对编程。
程序格式的原则
让别人看的清楚;让别人看的舒服。