首页 > 编程语言 >java条件判断和循环

java条件判断和循环

时间:2023-03-30 23:12:57浏览次数:41  
标签:判断 java Scanner int System break 循环 println out

一 流程控制

  • 三大流程控制语句: 顺序, 选择, 循环

二 选择结构

在多重if-else中, 只有一个语句不加括号时: else匹配最近的, 就近原则

 

  • if结构, if-else结构

if(条件)
    语句1;
else
    语句二
    
if(条件){
    语句1;
}else{
    语句2;
}

 

  • 多重if

package com.imooc.flow;
​
import java.util.Scanner;
​
public class ScoreAssess {
​
    public static void main(String[] args) {
        /*
         * 成绩大于等于90分,输出“优” 成绩大于等于80分且小于90分,输出“良” 成绩大于等于60分小于80分,输出“中” 成绩小于60分,输出“不及格”
         */
        System.out.println("请输入成绩: ");
        Scanner sc = new Scanner(System.in);
        int score = sc.nextInt();
        if (score >= 90) {
            System.out.println("优");
        } else if (score >= 80) {
            // 这里score>=80 相当于score>=80&score<90
            System.out.println("良");
        } else if (score >= 60) {
            System.out.println("中");
        } else {
            System.out.println("不及格");
        }
    }
​
}

 

  • 嵌套if

package com.imooc.flow;
​
import java.util.Scanner;
​
public class IntCompare {
​
    public static void main(String[] args) {
        // 简单案例, 判断两个数的大小
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数: ");
        int x = sc.nextInt();
        System.out.println("请再输入一个数: ");
        int y = sc.nextInt();
        // 判断两个数的大小
        if (x != y) {
            if (x > y) {
                System.out.println(x + "大于" + y);
            } else {
                System.out.println(x + "小于" + y);
            }
        } else {
            System.out.println(x + "和" + y + "相等");
        }
    }
​
}

 

  • switch结构

在switch中 break和default是可以省略的
switch对应的括号是(byte,short,int,char,String)
long类型和浮点型是不行的

 

switch(表达式){
case:常量表达式1:
    语句1;break;
case:常量表达式2:
    语句1;break;
default:
    语句3;
}
package com.imooc.flow;
​
import java.util.Scanner;
​
public class WeekDemo2 {
​
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入英文星期几: ");
        String str = sc.next().toUpperCase(); // toUpperCase()方法是转大写 
        switch (str) {
        case "MONDEY":
            System.out.println("星期一");
            break;
        case "TUESDAY":
            System.out.println("星期二");
            break;
        case "WEDNESDAY":
            System.out.println("星期三");
            break;
        case "THURSDAY":
            System.out.println("星期四");
            break;
        case "FRIDAY":
            System.out.println("星期五");
            break;
        case "SATARDAY":
            System.out.println("星期六");
            break;
        case "SUNDAY":
            System.out.println("星期天");
            break;
        default:
            System.out.println("输入错误~");
        }
    }
​
}
​
  • 三while循环(循环次数不固定使用)

        // 循环输出26个英文字母, 分两行输出
        char ch = 'a';
        int count = 1;
        while (ch <= 'z') {
            System.out.print(ch + " ");
            if (count == 13) {
                System.out.println();
            }
            ch++;
            count++;
        }
  • 四do-while(至少循环一次)

        System.out.println("请输入数字: ");
//      int number = 6; //设定猜中的数字
        // Math.random()是随机数, 默认是[0,1)
        int number = (int) (Math.random()*10+1); 
        int guess;
        do {
            Scanner sc = new Scanner(System.in);
            guess = sc.nextInt();
            if(guess>number) {
                System.out.println("太大");
            }else if(guess<number) {
                System.out.println("太小");
            }
                
        }while(guess!=number);
        System.out.println("恭喜猜对了: "+guess);
    }
  • 五for循环(循环次数固定使用)

// 2 百元百鸡 小鸡0.5元,公鸡2元,母鸡3元,用100元买一百只鸡。列举出所有结果。
        int chicken = 100;
        double money = 100;
        for (int x = 0; x < chicken / 2; x++) { // 公鸡的数量
            for (int y = 0; y < chicken / 3; y++) { // 母鸡的数量
                int z = chicken - x - y;
                if (z >= 0 && ((z * 0.5) + (x * 2) + (y * 3)) == 100) {
                    System.out.println("小鸡=" + z + "只" + ",公鸡=" + x + "只" + ",母鸡=" + y);
                }
            }
        }
// 编写一个程序,计算任一输入的各位数字之和;(如输入12345,计算1+2+3+4+5)      
        System.out.println("请输入一个整数: ");
        Scanner sc = new Scanner(System.in);
        int count = sc.nextInt();
        int sum = 0;
        while(count>0) {
            int dis = count%10; // 获取最后一位
            sum+=dis;
            count/=10; // 移除最后一位
        }
        System.out.println("count的和是: "+sum);
//      4 输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。 
//      例如: 153 = 1*1*1 + 3*3*3 + 5*5*5 
            for(int i=100; i<1000;i++) {
            int bai = (i%10);
            int shi = (i/10)%10;
            int ge = i/100;
            int bais = (int) Math.pow(bai,3); // 获取某个数的三次方
            int shis = (int) Math.pow(shi,3);
            int ges = (int) Math.pow(ge,3);
            if(i==(bais+shis+ges)) {
                System.out.println("所有的水仙花数: "+i);
            }
        }
        
        for (int i = 100; i < 1000; i++) {
            int digit1 = i / 100; // 获取百位数
            int digit2 = (i / 10) % 10; // 获取十位数
            int digit3 = i % 10; // 获取个位数
            int cubeSum = digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3;
            if (cubeSum == i) {
                System.out.println(i);
            }
        }
        // 输出星号组成的梯形
        for(int i = 3; i<=11; i++,i++){
            for(int j=11; j>=i; j--){
                System.out.print(" ");
            }
            for(int k=1; k<=i;k++){
                System.out.print("*");
                System.out.print(" ");
            }
            System.out.println();
        }

 

  • 五 break和continue使用

break结束最近的switch或循环
​
continue结束本轮循环,进入下一轮
​
return 语句,结束所在的方法
​
  • 六 调试

debug模式运行代码:idea
​
•   单步运行(step over) 
​
•   单步进入(step into)  遇到方法,进入方法单行执行
​
•   单步退出 (step out)跳出方法执行
    

标签:判断,java,Scanner,int,System,break,循环,println,out
From: https://www.cnblogs.com/jupeng/p/17274732.html

相关文章

  • 流程控制和循环语句
             ......
  • Java线程池应用
    原文:https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html(难得的权威技术分享文章,拷贝过来防止丢失) 本文开篇简述线程池概念和用途,接着结合线程池的源码,帮助读者领略线程池的设计思路,最后回归实践,通过案例讲述使用线程池遇到的问题,并给出了一种动态......
  • 如何解决Java代码上传到Git仓库显示Git冲突的错误
    问题描述好多次进行Commit和Push,都是显示被Git仓库拒绝了,就很崩溃,靠着友友帮我才解决的问题解决需要先在GitBash里面进行gitpull更新一下,将Git仓库里面最新的内容跟更新出来,然后才能进行代码上传,记住啦!!!!!!!!!!!......
  • 2、判断dll或者lib是32位还是64位的
    1、x86和x86_64的区别x86和x86_64是两种不同的指令集架构,其主要区别在于处理器的位数和能够寻址的内存范围。x86架构是32位的处理器架构,可以寻址最大4GB的内存空间。x86处理器是从Intel8086处理器发展而来的,目前已经广泛应用于桌面、笔记本和服务器等计算机系统中。x86_64......
  • 每日总结-23.3.29-利于云服务器和javaweb简单实现一个网站
    每日总结-23.3.29-利于云服务器和javaweb简单实现一个网站 3月29日总结今日使用云服务器和tomcat实现了简单网站的搭建。使用工具(个人体验,仅作参考,使用其他版本或工具应该也行):1.移动云新人体验免费云服务器一台。(个人专享:通用型云主机)活动页面 (https://ecloud.10086.......
  • 循环语句
    3.循环语句while循环引入不知道大家是否喜欢下象棋,反正楼下大爷还是挺喜欢的~如果这盘棋下完了,可以收拾一下接着重来一局,这重来一局说到底就是重复软件中也是需要这样的功能的,像打游戏(这个大家都有经验就不过多说了)时这局没吃到"鸡",可以再重新玩一局对嘛,这也是重复程序中......
  • java.lang.String中的trim()方法的…
    String.Trim()方法到底为我们做了什么,仅仅是去除字符串两端的空格吗?一直以为Trim()方法就是把字符串两端的空格字符给删去,其实我错了,而且错的比较离谱。首先我直接反编译String类,找到Trim()方法:publicstringTrim(){returnthis.TrimHelper(WhitespaceChars,2);}Trim......
  • C#使用Java的秘钥对进行SHA256withRSA签名验签
    usingOrg.BouncyCastle.Crypto.Parameters;usingOrg.BouncyCastle.Security;usingSystem;usingSystem.Security.Cryptography;usingSystem.Text;usingSystem.Xml;///<summary>///RSA私钥,从Java格式转.net格式(不依赖第三方包)///</summary>//......
  • 有关归并排序-Java实现
    有关归并排序:其中的分治思想很值得参考:1/**2*归并排序块合并3*@paramnum目标的排序数组4*@paramleftIndex传入的分治块的做左端索引5*@parammid中间索引6*@paramrightIndex传入的分治块的做右端索引7*@param......
  • java
    Java目录Java数据类型基本数据类型转换获取变量数据类型long后面加Lfloat后面加F包装类使用包装类的原因?为什么要保留基本数据类型?包装类的自动拆装箱机制!变量类型静态变量成员变量局部变量变量默认初始值运算符算数运算符赋值运算符比较运算符逻辑运算符三元运算符位运算符原码......