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 int determine1(int n) {
        int count = 0;
        while (n != 0) {
            n /= 10;
            count++;
        }
        return count;
    }

    //逆序输出
    public static void determine2(int n) {
        while (n != 0) {
            int a = n % 10;
            n /= 10;
            System.out.print(a + " ");
        }
        System.out.println();
    }

    //正序输出
    public static void determine3(int n) {
        int count = determine1(n);
        int pow = (int) Math.pow(10, count - 1);
        while (pow != 0) {
            int a = n / pow;
            n %= pow;
            pow /= 10;
            System.out.print(a + " ");
        }
        System.out.println();
    }

    public static void main(String[] args) {
        System.out.println("位数");
        System.out.println(determine1(123));
        System.out.println("逆序输出");
        determine2(123);
        System.out.println("正序输出");
        determine3(123);
    }

}

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);
    }
}
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值