java中三种基本语句及四道例题

一、if-else语句

if (关系/逻辑/算术表达式) {
	当条件成立时所要运行的函数功能
}
else {if后的条件不成立时所要运行的函数体
}

二、switch语句

switch(参数) {
	case 表达式1(即有可能输入的参数):
		所要执行的函数体;
		break;//用该语句跳出switch语句
	case 表达式2:
		所要执行的函数体;
		break;
	case 表达式3:
		所要执行的函数体;
		break;
	default:
		当输入的参数在上述表达式不存在时要执行的函数体;
		break;
}

三、for循环及四道利用for循环的例题

for(初始化,确定循环开始的位置;循环执行条件;循环变量在每次循环后如何变化){
	在循环进行时要运行的函数体;
}//在此函数运行时在函数体运行结束后在进行循环变量的变化

1.求斐波那契数列前40项的和

public class TestDemo {
    public static void fibSum(int n) {//定义一个斐波那契数列求和方法,参数n为要求多少项的和
        int[] fib = new int[n];//定义一个一维数组存放斐波那契数列
        fib[0] = 1;
        fib[1] = 1;//定义斐波那契数列前两项,如不定义用通项公式会出现数组越界问题
        long sum = 0;//求和公式时使用
        for (int i = 2;i < fib.length;i++) {//从第三项开始循环
            fib[i] = fib[i-1] + fib[i-2];//斐波那契数列通项公式,将数组中所有元素利用公式求出并保存在数组中
        }
        for (int i = 0;i < fib.length;i++) {//求和
            sum = sum + fib[i];//将斐波那契数列每项相加求和
        }
        System.out.println("斐波那契数列前"+ n +"项和为:" + sum);//输出前n项的和
    }
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入计算斐波那契数列前多少项的和:");
        int n = scanner.nextInt();//由键盘输入要求前多少项的和
        fibSum(n);//调用斐波那契数列求和方法
    }
}

2.用for循环产生20个随机数(10-20)

public class TestDemo {
    public static void randNum() {
        System.out.println("10-20范围内产生的20个随机数:");
        for(int i = 1;i <= 20;i++){//用循环控制输出随机数的个数
           double random = Math.random()*(20-10)+10;//用求随机数公式求10-20的随机数
           System.out.println(random);//输出随机数
        }
    }
    public static void main(String[] args) {
        randNum();//调用求随机数的方法
    }
}

3.输入一个数字,求他是几位数,并且顺序输出,逆序输出

public class TestDemo {
    public static void  determine(String  n) {
        char[] number = n.toCharArray();//将字符串类型的数字转换成数组储存
        System.out.println("该数为" + number.length + "位数" );
        System.out.println("正序输出该数:");
        for (int i = 0;i < number.length;i++) {
            System.out.print(number[i]);//将数组中元素正序输出,即将数字正序输出
        }
        System.out.println();
        System.out.println("逆序输出该数:");
        for (int i = number.length-1;i >= 0;i--) {
            System.out.print(number[i]);//将数组中元素逆序输出,即将数字逆序输出
        }
    }
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入一个正整数:");
        String n = scanner.nextInt();//输入数字,为字符串类型,方便函数的编写
        determine(n);
    }
}

4.求一个数字的二进制数有几个1

public class TestDemo {    
    public static int numof1(int n) {//2:  0000 0010
        int count = 0;
        while(n != 0) {
            if((n &1) != 0) {
                count++;
            }
            n = n >>> 1;
        }
        return count;
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);   
        System.out.println("请输入要计算的数字:");
        int n = scanner.nextInt();
        numof1(n);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43289802/article/details/83039295