栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

C4Java 基础-02:程序逻辑

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C4Java 基础-02:程序逻辑

1.

GloryofKings.java

package com.csdn.c4;
import com.csdn.c4.Player;
public class GloryofKings {
        
    public static void main(String [] args){
        Player A = new Player();
        A.setName("playerA");
        A.setScore(1760);
        
        Player B = new Player();
        B.setName("playerB");
        B.setScore(9527);
        
        Player C = new Player();
        C.setName("playerC");
        C.setScore(16800);

        change(A);
        change(B);
        change(C);
        
        
    }
    
    
    public static void change(Player X) {
        int a =X.getScore();
        if(a>=0 && a<=100){
            System.out.println(X.name+":倔强青铜");
        }
        if(a>=101 && a<=500){
            System.out.println(X.name+":秩序白银");
        }
        if(a>=501 && a<=2000){
            System.out.println(X.name+":荣耀黄金");
        }
        if(a>=2001 && a<=5000){
            System.out.println(X.name+":尊贵铂金");
        }
        if(a>=5001 && a<=10000){
            System.out.println(X.name+":永恒钻石");
        }
        if(a>=10001 && a<=20000){
            System.out.println(X.name+":至尊黑曜");
        }
        if(a>20000){
            System.out.println(X.name+":最强王者");

        }
    }
}

Player.java

package com.csdn.c4;

public class Player {
    
    String name;
    int score;
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getScore() {
        return score;
    }
    public void setScore(int score) {
        this.score = score;
    }

}
 

2.

int y = 0;
do {
y++;
} while (y < 0);
System.out.println("y = " + y);

先+再判断,y = 1

3.用多种循环结构计算并打印出100 的阶乘(for、while、do...while)

直接拷贝了网上的。。。

package com.csdn.c4;

        public class jiec {
             
            public void forf(){
                double sum = 1;
                for (int i = 1; i < 100; i++) {
                    sum = sum*i;
                }
                System.out.println(sum);
            }
             
            public void whiles(){
                double sum = 1;
                int i=1;
                while(i<100){
                    sum = sum*i;
                    i++;
                }
                System.out.println(sum);
            }
             
            public void dowhile(){
                double sum =1;
                int i=1;
                do{
                    sum = sum*i;
                    i++;
                }while(i<100);
                 
                System.out.println(sum);
            }
         
            public static void main(String[] args) {
             
                jiec j = new jiec();
                j.forf();
                j.whiles();
                j.dowhile();
            }
         
    }

4.递归

        1.斐波那契数列之和(N = 50)

指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)。

package com.csdn.c4;

public class Fibonacci {
    
    
    public static void main(String [] args){
        
        int n=6;
        int a;
        a=FibonacciSum(n);
        System.out.println(a);
    }
    
    
    public static int Fibonacci(int n) {

        if(n < 0){
            return 0;
        }
        if(n == 0){
            return 0;
        }
        if(n == 1){
            return 1;
        }
        return Fibonacci(n-1)+ Fibonacci(n-2);

    }
    
    
    public static int FibonacciSum(int n) {
        int sum = 0;
        for(int i=1;i<=n;i++) {
            sum += Fibonacci(i);  //累加前n项
        }
        return sum;
    }
}
 

其他题目省略

5.回调实现下面这两种常见的生活场景

张伟在超市买了一瓶快乐水和一些吃的,使用支付APP 完成支付后,过了几秒,APP
通知他已经支付成功

ICallBack.java

public interface ICallBack {
    
    public void run();
}
 

Program.java

public class Program {
    
    public static void main(String[] args) throws InterruptedException{
        
        //创建控制器对象,将提供给它的回调对象传入
         Controller obj = new Controller(new CallBackClass());
         //启动控制器对象运行
         obj.Begin();
         }
    }

CallBackClass.java

public class CallBackClass implements ICallBack{
    
    public void run(){
        
        //支付成功
        System.out.println("支付成功" );
    }
 }

Controller.java

import java.util.Scanner;

public class Controller {
    
    public ICallBack CallBackObject = null;// 引用回调对象
    
    Scanner input = new Scanner(System.in); //读取命令行输入
    
    public Controller(ICallBack obj){
        this.CallBackObject = obj;
    }
    
    public void Begin() throws InterruptedException{
        System.out.println("请付款" );
        while(input.next() != null){
            Thread.sleep(3000);
            CallBackObject.run();
        }
    }

}

李雷周一在某某宝APP 上买了两张周五晚上的电影票。在周五晚上电影即将放映的前
一小时,APP 给他发来了观影通知

思路同上

6.第五章 控制流

基本就是指,if-else,while,do-while,for,return,break,switch。

除了switch,所有判断都关注true和false。switch可以根据表达式的值,去判断具体的分支。有点像是sql中的when...case...。

单向执行:if-else

循环语句:while,do-while,for

传统for循环和for-in循环:传统for循环需要创建int变量控制循环次数,for-in循环即直接遍历对象中的所有元素。

return,break,continue 和跳转到带标签语句的方法,类似于其他语言中的 goto。

return,跳出当前方法,在方法返回类型非 void 的情况下,会返回一个值。

break跳出当前循环体,continue表示停止本次循环,直接开始下一次循环。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/389813.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号