3.基本词汇:空白分隔符(whitespace)标识符(identifiers)常量(literal)注释(comments)分隔符(separators)java要害字 java类库 3 数据类型、变量、数组 1.Java语言是强类型语言,java定义了8个简单数据类型:byte short int long char float double Boolean
5.1.1 if 条件分支语句 If (condition)//condition只能是布尔型 Statement; Else if (condition) Statement; Else if (condition) Statement; …………… Else Statement; 5.1.2switch多路分支语句
switch(expression) { case value1: statement; break; case value2: statement; break; ……………. default: statement; } //其中expression必须为byte,short,int 或者char 类型,每个case之后的value必须是与表达式类型兼容的一个常量 break用于跳出整个switch语句。假如省略break,则每个语句都被遍历,符合条件就被执行,直到switch末尾或者碰到break为止。 例如: switch(expression) { case value1: case value2: case value3: statement; break; case value4: case value5: statement; break; ……………. default: statement; } 注重:switch 语句只能测试相等的情况,而if可计算任何类型的布尔表达式。 同一个switch语句中没有两个相同的case常量,嵌套switch的外部case常量和内部case常量除外。 Switch 语句通常比if语句更有效。
5.2循环语句
包括:while do while for 5.2.1 while循环 格式: while(condition) { //body of loop } //condition为布尔表达式 空循环在Java中是合法的。 空语句是只有一个分号(;)的语句。例如; int i=100;int j=200; while(++i < --j) //++i的值和i同步 ; //;可以和while语句连一块为while(++i< --j); system.out.println(“i=” + i); 当然上面的例子可以写为: int i=100;int j=200; while (i<j){ i++;j--; } System.out.println("i=" + i);
5.2.2 do-while循环 格式: do { //body of loop } while (condition);//不要漏掉;
循环至少被执行一次。 例子: int n=10; do { system.out.println(“n=” + n); n--; } while (n>0); 可以写为以下,更为高效。 int n=10; do { system.out.println(“n=” + n); } while (--n>0);//--n的值与n的值同步
5.2.3 for 循环 格式: for (initialization ;condition ; iteration) { //body of loop } //假如只有一条语句需要重复则{ }没有必要。初始化表达式只被执行一次。例如for(i=0;i<10;i++) 中i=0只执行1次!!!
在for循环中声明循环控制变量。例如: for (int i=0;i<10;i++) { …………. }//i的作用域在for循环执行后就结束了
在for循环中使用“,”。例如: for (a=1 , b=4;a<b ; a++ , b--) 注重:在Java中,逗号仅仅是一个分隔符,只适用于for循环!!!
主要有public private protected 默认访问级别(包内public) 类中的private成员为此类私有,不能为该类外的所有代码访问,包括子类。 main()方法老是被public指示符修饰,因为他要被java运行时系统调用。若没有public,编译提示:Main method not public
7.7;理解static 假如一个成员被声明为static,他就能够在他的类的对象被创建之前被访问,不必引用任何对象。最常见的例子是main()方法,因为在程序开始时必须调用main(),所以他被声明为static。若没有static,编译提示: Exception in thread "main" java.lang.NoSUChMethodError: main 参见大全125页 类变量:所有的实例共用一个变量。 类方法: 1.仅能直接调用其他的static方法 2.只能直接调用static变量(数据),调用任何实例变量都是错误的。 但是,可以通过声明所在类的对象来访问实例变量。 3.不能以任何方式引用this和super。因为他们代表对象。 4.类方法可以有自己的自变量。 以上几点适用于main函数,转到8。1
调用方法: class_name.variable class_name.method()
static块的声明方法: static { system.out.println(“This is a static block”); } 调用一个类方法的顺序是:首先它所在的类的static变量被初始化一次 再者,static块被只初始化一次,后者,类方法执行。 例如: class userstatic{ static int i=3; static int j; static void meth(int x){ system.out.println(“x=”+x); system.out.println(“i=”+i); system.out.println(“j=”+j); } static{ system.out.println(“static block initialized”); b=a*4; }
public void main(String[] args){ meth(42); } }
输出结果为: static block initialized x=42 i=3; j=12
7.8介绍final
变量声明为final即为常量,类似于C/C++中的const。例如: final int FLAG=1; final变量一般都大写,在实例中不占内存,实质上是常数。虽然这样,但是仍须将类实例化后才能访问,不像static那样。 final的其他两个作用在继续中: 1.final 方法可以防止被子类覆盖,但是可以在其他类中被访问。 2.final类可以防止被继续。