java基本语法(流程控制语句)

/*
编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,
对它们进行排序(使用 if-else if-else),并且从小到大输出。

说明:如果if-else if-else条件的执行语句块{}只有一条语句的话,那么这一对{}可以省略
建议:不要省略{}
*/
import java.util.Scanner;
class TestApp{
    public static void main(String[] args) {
        //1.从键盘获取三个整数
        Scanner s = new Scanner(System.in);
        System.out.println("请输入第一个整数:");
        int num1 = s.nextInt();
        System.out.println("请输入第二个整数:");
        int num2 = s.nextInt();
        System.out.println("请输入第三个整数:");
        int num3 = s.nextInt();

        //2.对num1,num2,num3从小到大排序
        System.out.println("从小到大的排序为:");
        if(num1 > num2){
            if(num3 > num1)
                System.out.println(num2 + "," + num1 + "," + num3);
            //System.out.println("helloworld");
            else if(num3 < num2)
                System.out.println(num3 + "," + num2 + "," + num1);
            else
                System.out.println(num2 + "," + num3 + "," + num1);
            
        }else{
            if(num3 > num2)
                System.out.println(num1 + "," + num2 + "," + num3);
            else if(num3 < num1)
                System.out.println(num3 + "," + num1 + "," + num2);
            else
                System.out.println(num1 + "," + num3 + "," + num2);
            
        }
    
    }
}

 

/*
输出所有的水仙花数,所谓水仙花数是指一个3
   位数,其各个位上数字立方和等于其本身。
    例如: 153 = 1*1*1 + 3*3*3 + 5*5*5
*/
class ShuiXianHua{
    public static void main(String[] args) {
        
        for(int i = 100;i < 1000;i++){//实现100-999的遍历  456 - 400 = 56 - 50
            int j1 = i / 100;//百位
            int j2 = (i - j1*100)/10;//十位
            int j3 = i % 10;//个位

            if(i == j1*j1*j1 + j2*j2*j2 + j3*j3*j3){
                System.out.println(i);
            }
        }
    }
}
public static void main(String[] args) {
        /*
        *****
        *****
        *****
        *****
        */
        for(int j = 0;j < 4;j++){//外层循环控制行数
            for(int i = 0;i < 5;i++){//内层循环控制列数
                System.out.print("*");
            }
            System.out.println();
        }

        /*
        *
        **
        ***
        ****
        */
        for(int j = 0;j < 4;j++){//外层循环控制行数
            for(int i = 0;i < j + 1;i++){//每行输出j + 1个
                System.out.print("*");
            }
            System.out.println();
        }
        /*
        *****
        ****
        ***
        **
        *
        */
        for(int i = 0; i < 5;i++){
            for(int j = 0;j < 5-i;j++){//for(int j = i;j < 5;j++)
                System.out.print("*");
            }
            System.out.println();
        }

        /*
        *
        **
        ***
        ****
        *****
        ****
        ***
        **
        *
        */
        for(int j = 0;j < 4;j++){//外层循环控制行数
            for(int i = 0;i < j + 1;i++){//每行输出j + 1个
                System.out.print("*");
            }
            System.out.println();
        }
        for(int i = 0; i < 5;i++){
            for(int j = 0;j < 5-i;j++){//for(int j = i;j < 5;j++)
                System.out.print("*");
            }
            System.out.println();
        }

/*
打印如下图形
----*
---* *
--* * *
-* * * *
* * * * *
i    k-    j*   k = 4 - i   j = i + 1
0    4    1
1    3    2
2    2    3
3    1    4
4    0    5
-* * * *
--* * *
---* *
----*
i    k-    j*   k = i + 1   j = 4 - i 
0    1    4    
1    2    3
2    3    2
3    4    1
*/    
    //上半部分:
    for(int i = 0;i < 5;i++){
        for(int k = 0;k < 4 - i;k++){
            System.out.print(" ");
        }
        for(int j = 0;j < i + 1;j++){
            System.out.print("* ");
        }
        System.out.println();
    }
    //下半部分
    for(int i = 0;i < 4;i++){
        for(int k = 0;k < i + 1;k++){
            System.out.print(" ");
        }
        for(int j = 0;j < 4 - i;j++){
            System.out.print("* ");
        }
        System.out.println();
    }
}
/*

100以内的所有质数

*/
class TestPrimeNumber{
    public static void main(String[] args){
        boolean flag = false;
        long start = System.currentTimeMillis();//获取系统当前的毫秒数
        for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历
            //如何判断i是否为一个质数
            for(int j = 2;j <= Math.sqrt(i);j++){
                if(i % j == 0){
                    flag = true;
                    break;
                }
            }
            if(!flag){//if(flag == false){
                //System.out.println(i);
            }
            flag = false;
        }
        long end = System.currentTimeMillis();
        System.out.println("所花费的时间为:" + (end - start));
        //35535--加上break:10059--使用Math.sqrt():
    }
}
public static void main(String[] args){
        //boolean flag = false;
        long start = System.currentTimeMillis();//获取系统当前的毫秒数
        l:for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历
            //如何判断i是否为一个质数
            for(int j = 2;j <= Math.sqrt(i);j++){
                if(i % j == 0){
                    //flag = true;
                    //break;
                    continue l;
                }
            }
            //if(!flag){//if(flag == false){
                System.out.println(i);
            //}
            //flag = false;
        }
        long end = System.currentTimeMillis();
        System.out.println("所花费的时间为:" + (end - start));
        //35535--加上break:10059--使用Math.sqrt():
    }
/*
一个数如果恰好等于它的因子之和,这个数就称为"完数"。(因子:除去这个数本身正的约数)
例如6=1+2+3.编程 找出1000以内的所有完数
*/
class TestApp{
    public static void main(String[] args){
        int factor = 0;
        for(int i = 1;i <= 1000;i++){
            //每执行完一次如下的循环,就会将i的所有的因子累加到factor中
            for(int j = 1;j < i;j++){
                if(i % j == 0){
                    factor += j;
                }
            }
            if(i == factor){
                System.out.println(i);
            }
            factor = 0;
        }
    }
}
原文地址:https://www.cnblogs.com/lzb0803/p/8998850.html