switch结构语句,for循环,while循环,死循环实现猜数字小游戏,方法实现nn乘法表,数组,逆序,冒泡排序

switch选择结构语句

格式:

switch 语句格式:
switch ( 表达式 ) {
case1 :
语句体 1 ;
break ;
case2 :
语句体 2 ;
break ;default :
语句体 n  ;
break ;
}

执行流程:

switch接收的结果和case的值依次进行对比,成立,则执行语句体,break 结束语句;
如果上面case都不匹配,则执行default语句,语句n,break 结束语句.

循环结构语句

for循环

格式:

for(初始化语句;条件表达式;控制体语句){
     循环体语句;
}

例:
利用for循环解决百钱买百鸡问题.

public class BaiJi {
    public static void main(String[] args) {
        int a,b,c=1,d=1;
        for (a=1;a<=20;a++)
        {
           for (b=1;b<=33;b++){
             c=100-a-b;
             d++;
             if (c%3==0&&5*a+3*b+c/3==100){
                 System.out.println("公鸡"+a+"只,母鸡"+b+"只,雏鸡"+c+"只");
                 System.out.println(d);
                 }
             }
           }
        }
    }

while循环

格式:

初始化语句 ;
while(条件表达式){
    循环体语句;
    控制体语句;
}

例:
利用while循环求水仙花数.

public class Text4 {
    public static void main(String[] args) {
        int a = 100;
        while (a < 1000) {
            int b = a%10;
            int c = a/10%10;
            int d = a/10/10%10;
            if (a == (b * b * b) + (c * c * c) + (d * d * d)) {
                System.out.println("水仙花数是" + a);
            }
            a++;
        }
    }
}

例2:
输入一个整数,计算它各位上数字的和

/*输入一个整数,计算它各位上数字的和*/
public class Hw4 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个整数");
        int a= sc.nextInt();
        int sum = 0;
        while (a != 0) {
            sum += a % 10;
            a = a / 10;
        }
        System.out.println("各位和:" + sum);
    }
}

死循环

例:
猜数字小游戏

import java.util.Scanner;
public class DieLooper8_2 {
    public static void main(String[] args) {
        int a= (int) (Math.random()*100+1);
        System.out.println("猜数字小游戏,0-100");
        int b=  caishuzi(a);
        System.out.println("您第"+b+"次终于猜对了!");
    }
    private static int caishuzi(int a) {
        int b=0;
        while(true){
            b++;
                Scanner sc=new Scanner(System.in);
                System.out.println("请输入您要猜的数字");
                int c= sc.nextInt();
                if(c<0||c>100){
                    System.out.println("您输入的数据不合法!");
                }else if (c> a){
                    System.out.println("您猜的数字大了");
                }else if (c< a){
                    System.out.println("您猜的数字小了");
                }else break;
            }
        return b;
    }
}

方法

方法就是完成特定功能的代码块.
格式:

修饰符 返回值类型 方法名(参数列表){
方法体
return;
}

例:
定义一个方法,实现nn乘法表,并调用.

import java.util.Scanner;

public class MultiplicationTable {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System .in);
        System.out.println("请输入您要打印几几乘法表");
        int a= sc.nextInt();
        multiplicationTableb(a);
    }
    public static void multiplicationTableb(int a){
        for (int x=1;x<=a;x++){
            for (int y=1;y<=x;y++){
                System.out.print(x+"*"+y+"="+x*y+"\t");
            }
            System.out.println();
        }
    }
}

输出结果

请输入您要打印几几乘法表
9
1*1=1	
2*1=2	2*2=4	
3*1=3	3*2=6	3*3=9	
4*1=4	4*2=8	4*3=12	4*4=16	
5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	

Process finished with exit code 0

例:
定义一个方法实现求输入的三个数中的最大值

import java.util.Scanner;

public class Texe8 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入第一个数据");
        int a= sc.nextInt();
        System.out.println("请输入第二个数据");
        int b= sc.nextInt();
        System.out.println("请输入第三个数据");
        int c= sc.nextInt();
        int d=Max(a,b,c);
        System.out.println("最大的是"+d);
        System.out.println("a:"+a+"b:"+b+"c:"+c);
    }
    public static int Max(int a,int b,int c){
        int d;
        if (a>b){
            if (a>c){
                d=a;
            }else {
                d=c;
            }
        }else {
            if (b>c){
                d=b;
            }else {
                d=c;
            }
        }
        return d;
    }
}

方法重载

方法名相同,参数列表不同(参数类型不同,参数个数不同,参数顺序不同),与返回值类型无关.
例:

public static void open (){}
public static void open ( int a ){}
static void open ( int a , int b ){}
public static void open ( double a , int b ){}
public static void open ( int a , double b ){}
public void open ( int i , double d ){}

数组

数组就是存放同一种类型元素的容器
定义格式:

数据类型[] 数组名;
数据类型 数组名[];

数组的初始化:

动态初始化
  数据类型[] 数组名=new  数据类型[数组长度]
  数据类型 数组名[]=new  数据类型[数组长度]
静态初始化
  数据类型[] 数组名=new 数据类型{数据1,数据2.....数据n}
  数据类型[] 数组名={数据1,数据2.....数据n}
注意事项:1.初始化时不能动静结合;: int[] arr=new int[3]{1,2,3};

例:
输入五个数,求最大值最小值.

import java.util.Scanner;

public class Hw8_3_06 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请您输入第一个数据");
        int a= sc.nextInt();
        System.out.println("请您输入第二数据");
        int b= sc.nextInt();
        System.out.println("请您输入第三个数据");
        int c= sc.nextInt();
        System.out.println("请您输入第四个数据");
        int d= sc.nextInt();
        System.out.println("请您输入第五个数据");
        int e= sc.nextInt();
        int[] arr={a,b,c,d,e};
        int max=max( arr);
        System.out.println("最大值是"+max);
        int min=min(arr);
        System.out.println("最小值是"+min);
    }
    public static int max(int[] arr){
        int max=arr[0];
        for (int x=0;x<arr.length;x++){
            if (max<arr[x]){
                max=arr[x];
            }
        }
        return max;
    }
    public static int min(int[] arr){
        int min=arr[0];
        for (int x=0;x< arr.length;x++){
            if (min>arr[x]) {
                min=arr[x];
            }
        }
        return min;
    }
}

数组逆序:

import java.util.Scanner;

public class Hw8_4_01 {
    public static void main(String[] args) {
        int[] arr=new int [5];
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入五个数");
   for(int i=0;i<5;i++){
       arr[i]= sc.nextInt();
   }
   nixuarr(arr);
        bianliarr(arr);
    }
    //便利数组
    public static void bianliarr(int arr[]){
        System.out.print("[");
        for (int a=0;a< arr.length;a++){
            System.out.print(arr[a]+", ");
        }
        System.out.println("]");
    }
//逆序
    public static void nixuarr(int arr[]){
        for (int a=0, b=arr.length-1;a<b;a++,b--){
            int c=arr[a];
            arr[a]=arr[b];
            arr[b]=c;
        }
    }
}

冒泡排序:

public class Hw8_4_02 {
    public static void main(String[] args) {
        int arr[]={13,64,59,83,94,73,28,59,71};
        System.out.println(arr);
        guluguluarr(arr);
        bianliarr(arr);
        System.out.println(arr);
    }
    //冒泡排序
    public static void guluguluarr(int arr[]){
        for (int a=0;a< arr.length-1;a++){
            for (int b=0;b< arr.length-1-a;b++){
                if (arr[b]>arr[b+1]){
                    int c=arr[b];
                    arr[b]=arr[b+1];
                    arr[b+1]=c;
                }
            }
            System.out.println(arr);
        }
    }
    //遍历
    public static void bianliarr(int arr[]){
        System.out.print("[");
        for (int i=0;i< arr.length;i++){
            System.out.print(arr[i]+", ");
        }
        System.out.println("]");
        System.out.println(arr);
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值