switch多选择结构
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为分支。
语法:
switch语句中的变量类型可以是:
byte、short、int、char
JavaSE 7开始,switch支持字符串String类型。
同时case标签必须是字符串常量或者字面量
package com.Liu.struct;
public class SwitchDemo01 {
public static void main(String[] args) {
//case穿透 //switch匹配一个具体值
char grade='A';
switch (grade){
case 'A':
System.out.println("优秀");
case 'B':
System.out.println("良好");
case 'C':
System.out.println("及格");
case 'D':
System.out.println("再接再厉");
case 'E':
System.out.println("挂科");
default:
System.out.println("请输入正确的等级");
}
}
}
结果为:
优秀
良好
及格
再接再厉
挂科
请输入正确的等级
package com.Liu.struct;
public class SwitchDemo01 {
public static void main(String[] args) {
//case穿透 //switch匹配一个具体值
char grade='A';
switch (grade){
case 'A':
System.out.println("优秀");
break;//可选
case 'B':
System.out.println("良好");
break;//可选
case 'C':
System.out.println("及格");
break;//可选
case 'D':
System.out.println("再接再厉");
break;//可选
case 'E':
System.out.println("挂科");
break;//可选
default:
System.out.println("请输入正确的等级");
}
}
}
结果为:
优秀
总结:
case具有穿透性。
每个case需要break语句来阻止case穿透。
While循环详解
while循环
结构:
只要布尔表达式为true,循环就会一直执行下去。
一般情况下我们都会添加一个表达式来让循环失效来结束循环。
循环条件一直为true会导致该循环变成死循环,最终让程序崩溃,我们需要避免产生死循环。
例:
package com.Liu.struct;
public class WhileDemo01 {
public static void main(String[] args) {
//输出1-100
int i=0;
int sum=0;
while(i<=100)
{
sum=sum+i;
i++;
}
System.out.println(sum);//输出结果为5050
}
}
do…while循环
do…while循环与while循环相似,不同的是do…while循环至少会执行一次。
package com.Liu.struct;
public class DoWhileDemo01 {
public static void main(String[] args) {
int i=0;
int sum=0;
do{sum=sum+i;i++;}while(i<=100);
System.out.println(sum);//输出结果为5050
}
}
While和do-While的区别:
package com.Liu.struct;
public class DoWhileDemo01 {
public static void main(String[] args) {
int a=0;
while(a<0){
a++;
System.out.println(a);
}
System.out.println("=====================");
do{a++;System.out.println(a);}while(a<0);
}
}
//结果为:
//=====================
//1
- while先判断后执行,doWhile先执行后判断。
- Do…While总是保证循环体至少会被执行一次,while不会这样。
for循环
for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。
语法格式为:
例:
package com.Liu.struct;
public class ForDemo01 {
public static void main(String[] args) {
//计算0-100之间的奇数和偶数和
int i=0;
int s1=0;
int s2=0;
for ( i = 0; i < 101; i++) {
if(i%2==0)
{
s2=s2+i;
}else if(i%2==1){
s1=s1+i;
}
}
System.out.println("奇数和:"+s1+"偶数和"+s2);
}
//结果为:
//System.out.println("奇数和:"+s1+"偶数和"+s2);2500、2550
练习:
1.计算0-100之间的奇数和偶数和
2.输出1-1000之间能够被5整除的数,并且每行输出三个。
3.输出九九乘法表
package com.Liu.struct;
public class ForDemo01 {
public static void main(String[] args) {
//计算0-100之间的奇数和偶数和
int i=0;
int s1=0;
int s2=0;
for ( i = 0; i <=100; i++) {
if(i%2==0)
{
s2=s2+i;
}else if(i%2!=0){
s1=s1+i;
}
}
System.out.println("奇数和:"+s1+"偶数和"+s2);
System.out.println("=========================");
while(i<=100){
if(i%2==0)
{
s2=s2+i;
}else if(i%2==1){
s1=s1+i;
}
i++;
}
System.out.println("奇数和:"+s1+"偶数和"+s2);
System.out.println("=========================");
//输出1-1000之间能够被5整除的数,并且每行输出三个。
for (int j = 1; j <=1000; j++) {
if(j%5==0){
System.out.print(j+"\t");
}
if(j%(5*3)==0){
System.out.println();
}
}
// System.out.println();放行
// System.out.print();不放行
System.out.println("=========================");
//输出九九乘法表
for (int h=1; h <10; h++) {
for (int k=1; k <=h; k++) {
System.out.print(k+"*"+h+"="+(h*k)+"\t");
}
System.out.println();
}
}
}
增强佛如循环
在Java5中引入了一种主要用于数组的增强for循环。
语法格式:
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问数组名,或者是返回值为数组的方法。
package com.Liu.struct;
public class addForDemo01 {
public static void main(String[] args) {
int [] numbers={10,20,30,40,50,60};//定义了一个数组
//遍历数组的元素
for(int x:numbers){
System.out.println(x);//10/20/30/.../60
}
}
}