package包名命名要注意唯一性,可使用WWW域名如果package未指定,则所有的class都被组合到一个未命名的缺省package中,不能被其他包中的类引用。package说明必须是非注释非空行的第一行一个文件中最多只能有一条package语句。包的名字有层次关系,各层之间以点分隔。包层次必须与Java开发系统的文件系统结构相同。通常包名中全部用小写字母。例如:packagejava.awt.image在Window系统下,则此文件必须存放在java\awt\image目录下
使用import关键字导入包,语法如下:import包名.类名;如:importjava.util.*;importjava.util.Date;用import语句将此包中的某些或所有class加载入当前程序(此时导入的是包中的public类,而不是所有类,所以一般包内的允许被包外部使用的类应定义为public的)Java可有零个或多个import语句,若有,该类语句必须位于所有类定义之前。当源程序使用了除java.lang包以外的类时,无论是系统类还是自定义包中的类,都必须用import语句导入,以通知编译器在编译时找到相应的类文件。
System.out.println(“这是第一个”+ “Java程序”);编写时,建议采用一种良好的格式进行排版:缩进Java中的变量应用程序将程序运行期间产生的数据保存在一些内存单元中,每个内存单元用一个标识符来标识。这些内存单元称为变量,定义的标识符就是变量名,内存单元中存储的数据即为变量的值。
变量数据类型变量名1[=变量值1][,变量名2[=变量值2]…];如:doublearea,r;
具有特定含义和用途,不能用作其他用途的字符序列
所谓标识符就是用来标识包名、类名、接口名、变量名、方法名、等的有效字符序列。由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字,不能是Java中的关键字。
标识符尽量采用有意义的字符序列,便于从标识符识别出所代表的基本含义。
二进制:由数字0和1组成的数字序列,如:00110101。八进制:以0开头并且其后由0~7范围(包括0和7)内的整数组成的数字序列,如:0342。十进制:由数字0~9范围(包括0和9)内的整数组成的数字序列。如:198。整数以十进制表示时,第一位不能是0,0本身除外。十六进制:以0x或者0X开头并且其后由0~9、A~F(包括0和9、A和F)组成的数字序列,如0x25AF。整型数字值的默认类型为int型,对超过int型范围的long型数字值后面必须加l或L。如:longx=2147483649L;
doubled1=2.6587d;doubled2=563.7;floatf1=3.5f;(3)字符常量:字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号('')引起来,它可以是英文字母、数字、标点符号、以及由转义序列来表示的特殊字符。
空白字符,Java采用Unicode字符集,以“\u”开头。'\u0000'
用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号("")引起来一个字符串可以包含一个字符或多个字符,也可以不包含任何字符,即长度为零。
布尔常量即布尔型的两个值true和false,该常量用于区分一个事物的真与假。
null常量只有一个值null,表示对象的引用为空。
所谓类型转换就是将一种数据类型变量转变成另一种类型变量。Java语言是一种强类型语言(类似于C++,而不是C语言)。当表达式中的数据类型不一致时,就需要进行数据类型转换。
编译程序在编译时可以自动执行类型转换;低精度值可以直接赋给高精度变量,进行隐式类型转换。数据精度从“低”到“高”为:byte->short(char)->int->long->float->double如:
inti=100;doublex=i+10;②显式类型转换:必须在程序中显式地执行强制转换,强制转换的格式为:(类型)表达式高精度值则需要使用强制类型转换后赋给低精度变量,此时可能会导致数据精度的损失,也有可能导致结果出现较大错误。如:intx=(int)34.89;Java语言可以把字符作为整数对待,若想得到一个0~65536之间的数所代表的的Unicode表中的相应位置的字符,必须使用char型显式转换。
charword='d';intp=23045;System.out.println("d在Unicode表中的顺序位置是:"+(int)word);//100System.out.println(“Unicode表中的第23045位是:"+(char)p);//娅布尔类型不允许进行任何数据类型转换。
赋值运算符“=”是双目运算符,左面的操作元必须是变量,结合性从右到左(运算顺序从右向左,将右边表达式的结果赋值给左边的变量)赋值表达式:变量=表达式复合赋值运算符:+=、-=、*=、/=、%=等
该运算符是双目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类创建的对象时,该运算的结果是true,否则是false。
结构化程序设计的三种基本控制语句
Scanner类:一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。Scanner使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的next方法将得到的标记转换为不同类型的值。一般应用格式:
while(表达式) {若干语句}while、do…while的“表达式”必须是一个求值为boolean型数据的表达式
dowhile {若干语句 }(表达式);3.for循环 for(表达式1;表达式2;表达式3) {若干语句}“表达式2”必须是一个求值为boolean型数据的表达式
在switch语中,break语句用来终止switch语句的执行。使程序从switch语句后的第一个语句开始执行。跳出所指定的循环,并从紧跟该循环的第一条语句处执行。跳出它所指定的代码块,并从紧跟该代码块的第一条语句处执行。
说明:一个代码块通常是用大括号{}括起来的一段代码。加标号的格式如下:
BlockLabel:{代码块}break在循环中的使用形式:break;//不带标签,使程序跳出它所在的那一层循环结构breakLabel;//带标签,使程序跳出标签所指示的循环结构,标签必须紧挨着所要跳出循环的开始部分。
只能在循环体中使用,用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。continue语句的使用格式为:continue;//不带标签,终止当前循环结构的本轮循环而直接开始下一轮循环。continueLable;//带标签,把程序直接转到标签所指的循环结构的下一次循环,而不管被它嵌套的以及continue语句所在的循环结构运行到了哪个环节。
都必须用在循环中,用于流程控制;执行这两个语句时,若后面还有其他语句,将不再继续执行。
continue语句的标号必须位于封闭的循环语句的前面break语句的标号只需位于封闭语句的前面,但不一定是循环语句
作用:return语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。使用格式:
returnexpression;//退出方法并返回值 return;//退出方法return语句通常用在一个方法体的最后,否则会产生编译错误,除非用在if-else语句中