---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
if语句
if语句的书写格式如下:
1、if(条件表达式){
执行语句;
}
2、if(条件表达式){
执行语句;
}else{
执行语句;
}
3、if(条件表达式){
执行语句;
}else if(条件表达式){
执行语句;
}else{
执行语句;
}
示例代码如下:
class Demo{ public static void main(String[] args){ int x=4; if(x>12||x<1) System.out.println(x+"月份不存在"); else if(x>3&&x<=5) System.out.println(x+"月是春季"); else if(x>6&&x<=8) System.out.println(x+"月是夏季"); else if(x>9&&x<=11) System.out.println(x+"月是秋季"); else System.out.println(x+"月是冬季"); } } //4月是春季
三元运算符
三元运算符的书写格式如下:
(条件表达式)?表达式1:表达式2
class Demo{ public static void main(String[] args){ int num=60; int n1=num&15; //如果n1>9,则将打印n1-10+'A'的结果 //否则打印n1的值 System.out.println(n1>9?(n1-10+'A'):n1); //60的二进制数向右移动4位,左边加0补全 int temp=60>>>4; int n2=temp&15; //如果n2>9,则将打印n2-10+'A'的结果 //否则打印n2的值 System.out.println(n2>9?(n2-10+'A'):n2); } }
好处:简化if else代码
弊端:因为是一个运算符,所以运算完必须要有一个结果
switch语句
switch语句的书写格式如下:
switch(表达式){
case 取值1:
执行语句;
break;
case 取值:
执行语句;
break;
…………
default:
执行语句;
}
switch语句的特点
1、switch语句选择的类型只有四种,byte,short,int,char。jdk7.0时增加了字符串,jdk5.0
时增加了枚举
2、case之间与default没有顺序,先执行第一个case。没有匹配的case执行default。
3、结束switch语句的两种情况,遇到break,执行到switch语句结束。
4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语
句,直到遇到break或者switch结尾结束。
示例代码如下:
class Demo{ public static void main(String[] args){ int x=4; switch(x){ case 3: case 4: case 5: System.out.println(x+"月是春季"); break; case 6: case 7: case 8: System.out.println(x+"月是夏季"); break; case 9: case 10: case 11: System.out.println(x+"月是秋季"); break; case 12: case 1: case 2: System.out.println(x+"月是冬季"); break; } } }
if语句与switch语句的应用场景
1、如果判断的具体数值不多,而是符合byte、short、int、char这四种类型,虽然两个语句都可以,建议用switch语句,因为效率高。
2、其他情况,对区间判断,对结果为Boolean类型判断,使用if,if的使用范围最广。
while语句
while语句的书写格式
while(条件表达式){
循环体(执行语句)
}
示例代码如下:
class Demo{ public static void main(String[] args){ int x=0; while(x<5){ System.out.println("x="+(++x)); } } } //output: //x=1 //x=2 //x=3 //x=4 //x=5
while语句的特点:先判断,后执行
do while语句
do while语句的书写格式:
do{
执行语句;
} while(条件表达式)
示例代码如下:
class Demo{ public static void main(String[] args){ int x=0; do{ System.out.println("x="+(++x)); }while(x<0); } } //output: //x=1
for循环语句
for循环的书写格式:
for(初始化表示式;循环条件表达式;循环后的操作表达式){
执行语句;
}
示例代码如下:
class Demo{ public static void main(String[] args){ //打印三句hello java! for(int i=0;i<3;i++){ System.out.println("hello java!"); } } } //output: //hello java! //hello java! //hello java!
class Demo{ public static void main(String[] args){ int x=0; for(System.out.println("a");x<3;System.out.println("c"),x++){ System.out.println("b"); } } } //output: //a //b //c //b //c //b //c
for循环的特点:
1、条件表达式的类型必须为boolean
2、初始化表达式只用一次,一旦不满足条件表达式,循环结束。
for循环与while循环的区别:
1、变量有自己的作用域,对于for来讲,如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有效。for语句执行完毕,该变量从内存中被释放。
2、for和while可以进行互换。如果需要定义循环增量,用for更为合适。
循环练习题
计数器思想:通过一个变量记录住数据的状态变化,也需要通过循环完成。
/* * 需求:求1——50之间7的倍数的个数,并打印 * */ class Demo{ public static void main(String[] args){ int count=0; for(int i=1;i<=100;i++){ if(i%7==0){ count++; System.out.println(i); } } System.out.println("count="+count); } } //output: //7 //14 //21 //28 //35 //42 //49 //count=7
累加思想:通过变量记录循环操作后的结果
/* * 需求:求出1-10的累加和 * */ class Demo{ public static void main(String[] args){ int sum=0; for(int i=1;i<=10;i++){ sum=sum+i; } System.out.println(sum); } } //output:55
打印如下图案:
*****
****
***
**
*
打印九九乘法表class Demo{ public static void main(String[] args){ for(int i=0;i<5;i++){ for(int j=i;j<5;j++){ //j=i用到了计数器思想 System.out.print("*"); } System.out.println(); } } }
class Demo{ public static void main(String[] args){ for(int i=1;i<10;i++){ for(int j=1;j<=i;j++){ System.out.print(j+"*"+i+"="+i*j+"\t"); } System.out.println(); } } } //1*1=1 //1*2=2 2*2=4 //1*3=3 2*3=6 3*3=9 //1*4=4 2*4=8 3*4=12 4*4=16 //1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 //1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 //1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 //1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 //1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
打印如下图案:
-----*
----* *
---* * *
--* * * *
-* * * * *class Demo{ public static void main(String[] args){ for(int i=0;i<5;i++){ for(int j=i;j<5;j++){ System.out.print("-"); } for(int k=0;k<=i;k++){ System.out.print("* "); } System.out.println(); } } }
break与continue
break语句:应用范围,选择结构和循环结构,跳出当前循环。
continue语句:只能用于循环结构。结束本次循环,结束下次循环。
break和continue单独存在时,下面不可以有任何语句,因为运行不到,会报错。
for关键字前面可加字符串,这是for语句的名字,在break与continue可跟在其后,跳出外循环。