一、IF
1、第一种形式:if
if(逻辑表达式){ 语句1; 语句2; ... }
当if中只有一条语句时,可以省略{}
2、第二种形式:if-else
if(逻辑表达式){ 语句块1; } else { 语句块2; }
3、第三种新手:if-else if -else
if(逻辑表达式){ 语句块1; } else if(逻辑表达式){ 语句块2; } else { 语句块3; }
二、switch语句
switch(整型表达式) { case 整型常量值1: //入口1 语句1; 语句2; break ; case 整型常量值2: //入口2 语句3; break ; …… default: //默认入口 语句n; }
1、整型表达式:char、byte、short、int和枚举 jdk 7.0增加了字符串类型
2、break的作用是跳出switch语句,如果没有遇到break会继续执行下一条语句:如下
int a=1; switch(a){ case 0: System.out.println(0); case 1: System.out.println(1); case 2: System.out.println(2); break; case 3: System.out.println(3); break; }
因为a=1,所以入口在 case 1:这里,所以马上执行语句System.out.println(1);发现这里并没有break,所以继续执行System.out.println(2);这里发现有break,然后退出switch语句
3、在很多情况下,switch-case可以代替else if结构,而switch-case实现分支功能的效率要高于else if结构,并且结构更清晰,所以推荐使用。从JDK 7.0开始,switch-case可以支持字符串表达式,将更加方便程序的操作。
三、while和do-while语句的区别
while是先判断,在执行;do-while是先执行在判断。所以do-while不管在任何情况下都会比while多执行一次
四、for语句
1、for常规写法
for ( 表达式1;表达式2;表达式3 ) {
语句块
}
例如:
for(byte i=0;i<100;i++){ System.out.println(i); }
2、for的特殊写法
第一种:
int sum = 0 ; int i = 1; for ( ; i <= 10 ; i ++ ) { sum += i ; } System.out.println("1到10的和为:" + sum ) ;
第二种:
int sum = 0 ; for ( int i = 1 ; i <= 10 ; ) { sum += i ; i ++ ; } System.out.println("1到10的和为:" + sum ) ;
第三种:
for ( ; ; ) { System.out.println("我要学习……"); }
这种方式将会形成死循环,和while(true)有相同的效果
通过上面几个中特殊写法不难看出,表达式1、表达式2和表达式3都可以省略,但是分号不能省略
第四种:
for ( int i =1 , j = 6 ; i <= 6 ; i +=2 , j -=2 ) { System.out.println(“ i , j = “ + i + “,” + j ); }
第五种:
int[] arr={1,2,3,4,5,6,7,8}; for(int i:arr){ System.out.println(i); }