一、语句
流程控制语句
1、if
三元运算符是if语句的简写,功能上有限;
当if后只有一条执行语句时,大括号可以省略,有多条时,只执行离他最近的一条,else相同。
2、switch
switch里的case break不能省,最好把default写上
switch能判断char byte short int long JDK5.0能判断枚举类型,JDK7.0能判断字符串类型
在数值不多的情况下用switch,要比if语句高效一些。
循环结构语句
1、while
while(条件表达式){
执行语句;
}
2、do while
do{
执行语句;
}while(条件表达式);
do while语句无论条件是否满足至少会执行一次,while语句当不满足条件就不会执行。
3、for
for(初始化表达式;循环条件表达式;循环后操作表达式){
执行语句;
}
for的运行步骤:循环条件满足时 1初始化表达式 2循环条件表达式 3执行语句 4循环后操作表达式 不满足时退出循环。
如:int x=1;for(System.out.print("a");x<3;System.out.print("b")){System.out.print("c");x++;}运行结果:acbcb
for语句与while语句的区别:for的循环增量在语句内定义,执行完成后被释放,while则需要在外部定义。for与while是能互换的,但是如果需要循环增量,for更好一点(优化一些)注意:(break和continue只能用于循环结构语句,break可以用于switch,它们的后面不可以写其他语句,因为执行不到)
二、函数
1、写法
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2...)
{
执行语句;
return 返回值(当返回值类型为void时此句省略);
}
如:public static String showStr(String str)
{
System.out.println(str);
return str;
}
作用:为了提高代码的复用性。对代码进行抽取。将这个部分定义成一个独立的功能。方便与日后使用。java中对功能的定义是通过函数的形式来体现的。
2、重载(当定义的功能相同,但参与运算的未知内容不同。那么,这时就定义一个函数名称以表示起功能,方便阅读,而通过参数列表的不同来区分多个同名函数)
有如下方法判断给出的方法是否重载(返回值可省略即return语句省略)
void show(int a,char b,double c){}
1、void show(int x,char y,double z){}//没有,因为和原函数一样,并且不能同时出现在一个类中。
2、int show(int a,double c,char b){}//重载,因为参数类型不同。注意:重载和返回值类型没关系。
3、void show(int a,double c,char b){}//重载,因为参数类型不同。注意:重载和返回值类型没关系。
4、boolean show(int c,char b){}//重载了,因为参数个数不同。
5、void show(double c){}//重载了,因为参数个数不同。
6、double show(int x,char y,double z){}//没有,这个函数不可以和给定函数同时存在于一个类中。
三、修饰符
类修饰符
类缺省访问控制符:如果一个类没有访问控制符,这个类只能被同一个包中的类访问或引用。这一访问特性又称为包访问性。
公共类修饰符 public:可以从其他类中访问
private:修饰内部类
抽象类修饰符 abstract:本类不能被实例化
最终类修饰符 final:不能再声明子类
构造器修饰符
public 可以从所有的类中访问
protected 只能从自己的类和它的子类中访问
private 只能在本类中访问
变量修饰符
缺省无访问修饰符:可以被同一包中的所有类访问
公共访问修饰符 public:可以从所有的类中访问
保护访问修饰符 protected:只能从本类和它的子类中访问
私有访问修饰符 private:只能从本类中访问它
静态修饰符 static:对该类的所有实例只能有一个域值存在
暂时性域修饰符 transient:告诉编译器,在类对象序列化的时候,此变量不需要持久保存
易失(共享)域修饰符volatile:指出可能有多个线程修改此变量,要求编译器优化以保证对此变量的修改能够被正确的处理
最终方法修饰符 final:必须对它赋予初值并且不能修改它
方法修饰符
缺省无访问修饰符:可以被同一包中的所有类访问
公共访问修饰符 public 可以从所有的类中访问它
保护访问修饰符 protected 只能从本类及其子类中访问它
私有访问修饰符 private 只能从本类中访问它
抽象方法修饰符 abstract 没有方法体
最终方法修饰符 final 子类不能覆盖它
静态方法修饰符 static 被绑定于类本身而不是类的实例
本地方法修饰符 native:为了提高程序的运行速度,需要用其它的高级语言书写程序的方法体
同步方法修饰符 synchronized:该修饰符主要用于多线程共存的程序中的协调和同步。