switch
switch多选择结构
switch case 语句判断一个变量与一系列值中的某个值是否相等,每一个值称为一个分支。
switch语句中的变量类型可以是:
-
byte、short、int或者char。
-
从 Java SE 7 开始switch 支持字符串 String 类型了。
-
同时case标签必须为字符串常量或者字面量。
package com.xiaoluo.struct;
import java.util.Scanner;
public class SwitchDemo01 {
public static void main(String[] args) {
char grade = 'A';
switch (grade){
case 'A':
System.out.println("A");
break;//如果在case语句后面没有加上break语句就会出现case穿透现象 后面的case语句会全部执行
case 'B' :
System.out.println("B");
case 'C':
System.out.println("C");
}
}
}
JDK 7 之后支持String类型
package com.xiaoluo.struct;
import java.util.Scanner;
public class SwitchDemo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的名字");
String name = scanner.nextLine();//jdk 7 以后支持String类型的数据 字符的本质还是数字
//反编译 java---class (字节码文件)-----反编译(IDEA) (ctrl+shift+alt+s)
switch (name){
case "小罗":{
System.out.println("大帅比");
break;
}
case "小羊":{
System.out.println("搞笑女");
break;
}
case"狂神":{
System.out.println("大丑比");
break;
}
}
scanner.close();
}
}
反编译



循环结构
while循环
do…while循环
for循环
在java5中引入了一种主要用于数组的增强型for循环。
while循环
最基本的循环
结构:
while(布尔表达式){
//循环内容
}
实例输出1-100
package com.xiaoluo.struct;
public class WhileDemo01 {
public static void main(String[] args) {
//输出1-100
int x =0 ;
while (x<100){
x++;
System.out.println(x);
}
}
}
死循环
package com.xiaoluo.struct;
public class WhileDemo02 {
public static void main(String[] args) {
while (true){//死循环
//等待客户端链接
//定时检查
//...
System.out.println("shabi");
}
}
}
计算1+2+3+4+…100的值
package com.xiaoluo.struct;
public class WhileDemo03 {
public static void main(String[] args) {
int sum=0;
int i =0;
while (i<100){
i++;
sum=sum+i;
}
System.out.println(sum);
}
}
DO while
对于while而言,如果不满足条件,则不能进入循环,但是有时候我们需要即使不满足条件也至少执行一次。
do…while循环和while循环相似,不同的是,do…while循环至少会执行一次。
do{
//执行代码
}while(布尔表达式);
while和do…while的区别:
while先判断后执行,dowhile是先执行后判断。
Do…While总是保证循环体会被至少循环一次,这是他们的主要区别。
package com.xiaoluo.struct;
public class DoWhileDemo {
public static void main(String[] args) {
int i =0;
int sum =0;
do{//先执行
i++;
sum=sum+i;
}while (i<100);//后判断至少执行了一次
System.out.println(sum);
}
}
while和do…while的区别:
while先判断后执行,dowhile是先执行后判断。
Do…While总是保证循环体会被至少循环一次,这是他们的主要区别。
package com.xiaoluo.struct;
public class DoWhileDemo02 {
public static void main(String[] args) {
int a=0;
while (a<0){
a++;
System.out.println(a);
}//这条语句没有输出结果,因为a<0不成立,所以没进入循环
System.out.println("======================");
do{
System.out.println(a);
a++;
}while (a<0);//该语句输出0,虽然a<0不成立但是dowhile循环会先进行一次循环,所以输出0;
}
}
For循环
for循环可以让循环结构更简单
格式
for(初始化;布尔表达式;更新)
{
//代码语句
}
for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构
for循环的执行次数实在执行前就确定的
package com.xiaoluo.struct;
public class ForDemo01 {
public static void main(String[] args) {
int i =0;
int j;
while (i<100){
i+=2;
System.out.println(i);
}
System.out.println("while循环结束==================");
for(j=0;j<100;j++)
{
System.out.println(j);
}
System.out.println("for循环结束");
}
}
//死循环
for( ; ; )
{
}
for循环有以下说明
最先执行初始化步骤,可以声明一种类型,但可初始化一个多个循环控制变量,也可以是空语句。
让毕业检测布尔表达式的值,如果是真,循环体被执行,如果是假循环终止,开始执行循环体后面的语句。
再次检测布尔表达式,循环执行上面的过程。
计算0-100奇数的和与偶数的和:
package com.xiaoluo.struct;
public class ForDemo02 {
public static void main(String[] args) {
int oddSum = 0;//奇数和
int evenSum = 0;//偶数和
for (int i = 0; i < =100; i++) {
if(i%2!=0){//i取模不等于0.是奇数
oddSum+=i;
}
else {//其他的数
evenSum+=i;
}
}
System.out.println("奇数的和"+oddSum);
System.out.println("偶数的和"+evenSum);
}
}
输出1-1000之间会被5整除的数,并且每行输出3个
package com.xiaoluo.struct;
public class ForDemo03 {
public static void main(String[] args) {
//输出1-1000之间能被5整除的数,并且每行输出3个
for (int i = 1; i <= 1000; i++) {
if (i%5==0){
System.out.print(i+"\t");//不换行且加tab
}
if (i%(5*3)==0){
System.out.print("\n");//换行
}
}
//println 输出会换行
//print 输出完不会换行
}
}
输出 99乘法表
package com.xiaoluo.struct;
public class ForDemo04 {
public static void main(String[] args) {
int k = 0;
for(int i=1;i<=9;i++){
for (int j=1;j<=i;j++){//去掉重复
k=i*j;
System.out.print(i+"*"+j+"="+k);
System.out.print("\t");
}
System.out.print("\n");
}
}
}
增强for循环
java5引入了一种主要用于数组或集合的增强型for循环。
语法:
for(声明语句:表达式)
{
//代码句子
}
package com.xiaoluo.struct;
public class ForDemo05 {
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50};//定义了一个数组
for(int i =0;i<5;i++){
System.out.println(numbers[i]);
}
System.out.println("==================");
//遍历数组的元素
for(int x:numbers)
{
System.out.println(x);
}
}
}
break continue
break在任何循环语句的主体部分,均可以用break控制循环的流程。用break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
package com.xiaoluo.struct;
public class BreakDemo01 {
public static void main(String[] args) {
int i =0;
while (i<100){
i++;
System.out.println(i);
if(i==30){
break;//break只是跳出循环并没有结束程序
}
}
System.out.println("到此结束");
}
}
package com.xiaoluo.struct;
public class ContinueDemo01 {
public static void main(String[] args) {
//continue语句在循环语句中,用于终止某次循环的过程,即跳过循环中尚未执行的语句,接着进行下一次时候执行循环的判定。
int i=0;
while(i<100)
{
i++;
if(i%10==0)
{
System.out.println();
continue;
}
System.out.print(i+"\t");
}
}
}
continue语句在循环语句中,用于终止某次循环的过程,即跳过循环中尚未执行的语句,接着进行下一次时候执行循环的判定。
测试
画一个三角形
package com.xiaoluo.struct;
public class TestDemo01 {
public static void main(String[] args) {
//打印一个三角形
for (int i = 0; i < 5; i++) {
for (int j=5;j>=i;j--){
System.out.print(" ");
}
for (int j=1;j<=i;j++){
System.out.print("*");
}
for (int j=1;j<i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
本文介绍了Java中的switch语句及其支持的变量类型,详细讲解了while、do...while和for循环的用法,包括各种循环结构的实例,如输出数字、计算求和以及使用增强for循环。此外,还提到了break和continue在循环控制中的作用。
1957

被折叠的 条评论
为什么被折叠?



