第二章 java流程控制

java流程控制

一.条件判断

if(条件判断){
A
}

if(条件判断){
A } else {
B }

if(条件判断){
A } else if(条件判断){
B }… else{
C }

  • 多分支判断,最多只执行一个分支;
  • 从上向下进行分支判断,如果某个判断成立,执行其中的代码块,并且终止后面所有的判断
  • 某个分支判断执行,说明它之前的所有的判断都不成立。

二.循环

while (条件判断) {
循环体
}

for(A;B;C){
循环体
}

A=初始化语句,一般定义变量
B=条件判断
C=收尾语句

  • for循环中定义的变量,只在for中生效
  • 变量的作用域,变量的作用范围,超出该范围,变量无效
  • for循环中A,B,C三个部分都可以删去,相当于while(true);但是两个分号不能删除

例子:查询10000以内的完数

  • java实现
public class wan {
    public static void main(String []args) {
        for (int ss=1;ss<10001;ss++) {
            int n =0 ;
            for (int s = 1; s <= ss; s++) {
                int a1 = ss % s;
                int a2 = ss / s;
                if (a1 == 0 && a2 != ss) {
                    n = n + a2;
                }
            }
            if (n == ss) {
                System.out.println(n);
            }
        }
    }
}
  • python实现
def wan(a):
    n = 0
    for i in range(1, int(a) + 1):
        a3 = a % i
        a4 = int(a / i)
        if a3 == 0 and a4 != a:
            # print(a4)
            n = n + a4
    if n == a:
        return a

lists = []
for a in range(1,10001):
    if wan(a) != None:
        print(wan(a))

执行发现一个问题
java的运行要比python快很多
猜想应该是java的数据类型定义的好处,导致从内存读取和计算时比python更快

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值