Switch 使用以及介绍
switch 语句是一个控制表达式和多个case 标签组成
支持的类型有 byte,short,char,int,enum(Java 5),String (Java 7)
switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高。
default在当前switch找不到匹配的case时执行。default并不是必须的。
一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。
1,语法格式
switch (表达式) {
case 条件 1 :
语句 1 ;
break ;
case 条件 2 :
语句 2 ;
break ;
...
default :
语句;
}
2,int 使用实例
int i = 3 ;
switch (i) {
case 1 :
System.out.println( 1 );
break ;
case 2 :
System.out.println( 2 );
break ;
case 3 :
System.out.println( 3 );
break ;
default :
System.out.println( 0 );
}
3.枚举使用实例
static enum E {
A, B, C, D
}
public static void main(String args[]) {
E e = E.B;
switch (e) {
case A:
System.out.println( "A" );
break ;
case B:
System.out.println( "B" );
break ;
case C:
System.out.println( "C" );
break ;
case D:
System.out.println( "D" );
break ;
default :
System.out.println( 0 );
}
}
4,String 的使用实例
package com.jj;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("请输入字符串周一到周五");
Scanner scanner = new Scanner(System.in);
String next = scanner.next();
switch (next){
case "周一":
System.out.println("老老实实上班!");
break;
case "周二":
System.out.println("老老实实上班!");
break;
case "周三":
System.out.println("老老实实上班!");
break;
case "周四":
System.out.println("老老实实上班!");
break;
case "周五":
System.out.println("星期天!");
break;
}
}
}
String 类型的Switch 的具体实现
一定要记得使用 break ,不然可能会出现 case 穿透。default 写不写都无所谓!
While 循环的使用
package com.jj;
public class Main {
public static void main(String[] args) {
// while (布尔表达式) {
// 循环的内容
// }
}
}
注意的事项:
1,只要布尔表达式是true 循环就会一直执行下去
2,大多数情况下会让 循环停止的,所以需要一个让表达式失效的方式来结束循环
3,少部分情况需要一直执行下去,比如服务器的请求监听等
4,循环条件一直为 true 就会造成死循环。应该避免死循环
计算 1~100 的值
package com.jj;
public class Main {
public static void main(String[] args) {
int i =0;
int sum=0;
while (i<=100){
sum+= i;
i++;
}
System.out.println("sum = " + sum);
}
}
do While 循环
对于while 语句而言,如果不满足条件,不能进入循环,但有时候我们需要即使不满足条件,也执行一次。
do while 循环和while 循环相似,不同的是 ,do…while 循环至少会执行一次。
do {
// 代码语句
} while (布尔表达式)
do while 和 while 的区别:
while 先判断后执行,dowhile 是先执行后判断
Do…while 总是保证循环会被至少执行一次!这是他们主要的差别。
For 循环
虽然所有循环结构都可以用 while 或者 do…while 表示,但Java 提供了另一种语句----- for 循环,使一些循环结构变的更加简单。
for 循环语句支持迭代的一种通用结构,是最有效,最灵活的循环结构。
for 循环执行的次数就是在执行前就确定的,语法格式如下:
for (初始化; 布尔表达式;更新){
//代码语句
}
练习1: 计算0到100之间的奇数 和 偶数 的和
package com.jj;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int num =0;
int num1=0;
//计算0到100之间的奇数 和 偶数 的和
for (int i = 0; i <= 100; i++) {
if (i%2!=0) {
num +=i;
} else{
num1+=i;
}
}
System.out.println(" 偶数= " + num1);
System.out.println("奇数 = " + num);
}
}
练习2 : 用 while 或 for 循环输出 1-1000 之间 能被 5 整数的数,并且每行输出3个
package com.jj;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//用 while 或 for 循环输出 1-1000 之间 能被 5 整数的数,并且每行输出3个**
for (int i = 1; i <= 1000; i++) {
if (i%5==0){
System.out.print(i+"\t");
}
if (i%(5*3) ==0) {
System.out.println("\n");
}
}
}
}
练习3 打印99乘法表
package com.jj;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 打印99乘法表
for (int i = 1; i < 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i+"*"+j +"=" +i*j+"\t");
}
System.out.println();
}
}
}
增强 for 循环
Java5 引入了一种主要用于数组或集合的增强型 for循环
格式
for (声明语句 : 表达式)
{
// 代码句子
}
声明语句 : 声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句快,其值与此时数据元素的值相等
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
break continue 的区别
break 在任何循环语句的主体部分均可用break 控制循环的流程,break 用于强行退出循环,不执行循环中剩余的语句。
continue 语句用在循环语句中,用于终止某个循环的过程。