Java大学实用教程======================================================================================= 第一章Java语言概述1.3 Java的特点掌握Java跨平台的原理1.5 Java运行平台了解JavaSE、JavaEE与JavaME的应用范围系统变量Path的设置及其作用将JDK工具命令的路径设置到Path变量中后,可以在任意位置运行那些命令。
系统变量ClassPath的设置及其作用设置查找类的路径。
ClassPath中如果设置了某些路径,则必须向其中添加当前目录(.),否则JVM不会在当前目录查找类。
1.6 Java程序开发Java程序必须有一个主类(含有main函数),作为程序执行的起点。
掌握源文件命名规则编译Java源文件:javac Hello.java (源文件中的所有类都会被编译并生成.class文件)运行Java程序:java Hello (执行的必须是一个主类名,不包括.class)Java Applet的运行原理:在html文件中通过标记嵌入applet代码,浏览器将相应的字节码文件下载到本地,利用其内置的Java虚拟机解释执行字节码文件,将结果显示到浏览器中。
======================================================================================= 第二章基本数据类型和数组2.1 标识符和关键字标识符的命名规则:Java的标识符由字母(尽管可以使用世界上所有语言的字母,但建议只使用英文字母)、下划线、$、数字组成,第一个字符不能是数字。
Java的关键字不能作为标识符。
2.2 基本数据类型整型常量默认为int类型,如果超出了int的表示范围,需要在后面添加l。
浮点型常量默认为double类型,如果为float常量,需要在后面添加f。
char类型:char类型本质上是一个16位的无符号整数,char c='a'与char c=97等价。
有时候必须使用转义字符,例如:char c1='\'',c2='\\';(例2-1)2.3 基本数据类型的转换数据类型的精度顺序charbyte short int long float double低精度类型到高精度类型可以自动转换,高精度类型向低精度类型必须强制转换。
强制转换可能导致溢出或精度损失,如:byte b=(byte)130。
2.4 数据的输入与输出System.out.print或println输出变量或者表达式的字符串表示例如:'a'+1的输出为98,"a="+'a'+1的输出为a=a1,"a="+('a'+1)的输出为a=98System.out.printf(控制字符串,表达式1,表达式2,...)(例2-3)常用控制符:%s,%n,%c,%d,%f%md:输出整数,m列宽,右对齐;%-m.nf:输出浮点数,m列宽,小数点后保留n位(四舍五入),左对齐;Scanner类(例2-4)创建读取对象:Scanner reader=new Scanner(System.in);读取数据:调用reader.hasNextXxx()方法判断输入的是否是xxx类型的数据,再调用reader.nextXxx()方法读取数据。
2.5 数组数组下标从0开始,下标越界运行会报错。
声明数组:int[ ] a;int[12] a;是错误的,创建数组时才能分配内存空间,才能指定数组大小。
创建数组:a=new int[12];声明和创建可以一步完成:int[ ] a =new int[12];数组的初始化创建数组后,每个元素有一个初值,数值型为0,布尔型为false,引用型为null。
声明、创建和初始化可以一步完成:int[ ] a={3,5,2,-9,8};length的使用a.length可以得到一维数组的元素个数。
Java中的多维数组是数组的数组,会画多维数组的内存模型。
如:int[ ][ ][ ] a=new int[3][4][6]; 则a.length=? a[2].length=? a[1][2].length=?数组属于引用数据类型,两个相同类型的数组如果具有相同的引用,它们就拥有完全相同的数组元素。
课后问答题和作业问答题:4,5,6,9,10======================================================================================= 第三章运算符、表达式与语句3.1 算术运算符和算术表达式+ - 4级,* / % 3级,++ -- 2级y=++x;与y=x++;的区别进行算术运算时,byte、short、char类型自动提升为int类型。
Java按运算符两边的操作元的最高精度保留结果的精度。
3.2 关系运算符和关系表达式> >= < <= 6级,== != 7级==不要写成=,前者是比较,后者是赋值。
3.3 逻辑运算符和逻辑表达式短路与:&& 11级,短路或:|| 12级,逻辑非:! 2级非短路与:&,非短路或:|短路是指,如果逻辑表达式的值已经确定,将不再计算未计算的部分。
3.4 赋值运算符和赋值表达式= 14级,左边必须是变量运算符优先级顺序算术>关系>逻辑(!除外)>赋值,如:a>b+3&&a<100 没问题,如果不确定可以加括号。
3.5 移位运算符左移位:右侧用0填充,相当于乘2右移位:左侧用0(正数时)或1(负数时)填充,相当于除2进行移位运算时,byte、short、char自动提升为int3.6 位运算符按位与:&,按位或:|,按位非:!,按位异或:^进行位运算时,byte、short、char自动提升为int3.7 条件运算符exp1?exp2:exp3exp1必须是boolean表达式,若exp1为true,则结果为exp2;若exp1为false,则结果为exp3。
3.8 instanceof运算符a instanceof B:若a是类B或类B的子类的实例,则返回true。
3.11 分支语句1)条件分支语句简单形式:if...else...多条件形式:if...else if...else if... ...else...2)switch开关语句执行过程:一旦遇到匹配的入口,就从入口处开始执行语句,直到遇到break语句为止;如果未找到匹配的入口,就执行default后面的若干语句,default不是必须的。
注意:不要忘记必要的break语句,否则会多执行语句。
3.12 循环语句1)while循环while(boolean表达式){若干语句}2)do-while循环do{若干语句}while(boolean表达式); //分号别忘记特点:至少执行一次循环体3)for循环for(初始化表达式;boolean表达式;改变循环变量表达式){若干语句}3.13 跳转语句break:跳出整个循环continue:跳过循环体中后面的语句,进行下一次循环课后问答题和作业问答题:1,2,3,4,8作业:6,7,8======================================================================================= 第四章类与对象4.1 面向对象编程封装:将数据和对数据的操作封装在一起,通过抽象(从具体的实例中抽取共同的性质)形成一般的概念,比如类的概念。
Java程序设计的基本单位是类(class)。
类有两种基本成员:变量和方法。
变量用来刻画对象的属性,方法用来体现对象的功能。
4.2 类声明和类体类封装了一类对象的属性和功能,是用来定义对象的模板,类的对象称为类的实例。
class 类名{类体的内容}类的命名规范:例如,Triangle SimpleDateFormat4.3 类体的构成类体由成员变量和方法构成。
成员变量和方法的命名规范:例如,userName addUser成员变量的类型可以是Java中的任何一种数据类型,包括基本数据类型和引用数据类型。
一般,在类的前部声明成员变量。
在定义类的成员变量时可以同时赋予初值,表明类所创建的对象的初始状态。
4.4 构造方法与对象的创建构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,而且没有返回值类型。
构造方法可以重载,类创建对象时必须调用某个构造方法。
如果类中定义了一个或多个构造方法,那么编译器不提供默认的构造方法。
创建一个对象包括对象的声明和为对象分配成员变量两个部分。
对象的声明:Rect rect1; //此时rect1没有指向任何实体为对象分配成员变量:1)new一个Rect对象。
过程:为成员变量开辟内存空间并清零(数值型为0,布尔型为false,引用型为null),执行定义初始化,执行构造初始化。
2)将对象实体的引用赋给对象变量rect1。
一个类通过使用new运算符可以创建多个不同的对象,这些对象将被分配不同的内存空间。
对象可以使用运算符“.”调用方法。
方法中的局部变量没有默认值,使用前必须初始化。
4.5 对象的引用与实体不再被任何对象引用的实体将成为“垃圾”,会被JVM自动回收。
如果将关键字null赋值给对象,就意味着对象不再引用任何实体,成为空对象,使用空对象会引发空指针异常。
4.6 成员变量类变量:类被加载到内存时,类中的类变量就被分配了相应的内存空间,并执行清零和定义初始化操作。
类变量只分配一处内存,类的对象共享类变量。
可通过类名和对象访问类变量。
实例变量:new对象时,实例变量被分配内存空间,不同对象的实例变量分配不同的内存空间。
必须通过对象访问实例变量。
常量:不可修改,在声明的同时必须初始化。
例,final int MAX_VALUE=1000;4.7 方法当对象调用方法时,方法中出现的成员变量就是指分配给该对象的成员变量。
对象不可以调用构造方法。
方法的定义返回值类型方法名(类型参数1,类型参数2,...){局部变量的定义和合法Java语句}除构造方法外,返回值可以是任意的Java类型。
参数可以是任意的Java类型。
除构造方法外,方法无返回值时,返回值类型必须是void。
类方法:用static修饰,可通过类名和对象调用,方法中只能访问类变量和类方法。