03Java学习day(3)

在条件语句、选择语句和循环语句上,Java 的代码编写等同于 C++。

if-else 语句

当条件成立时,执行某些语句;否则执行另一些语句。

不一定非有 else ,也不一定只有一个 else。

比如进行年龄的筛选,小于 20 岁输出年轻人,大于 60 岁输出老年人,否则为中年人。

java 复制代码
public class ifdemo {  
    public static void main(String[] args) {  
        int age=25;  
        if(age<20){  
            System.out.println("年轻人");  
        }else if(age>60){  
            System.out.println("老年人");  
        }else System.out.println("中年人");  
    }  
}

输入三个整数,输出三个数中最大的那个。

java 复制代码
import java.util.Scanner;  
  
public class ifdemo {  
    public static void main(String[] args) {  
        Scanner sc = new Scanner(System.in);  
        int a = sc.nextInt(),b = sc.nextInt(),c = sc.nextInt();  
        if(a>b){  
            if(a>c){System.out.println(a);}  
            else{System.out.println(c);}  
        }else {  
            if(b>c)System.out.println(b);  
            else{System.out.println(c);}  
        }    }}

常用的比较运算符:

大于 >
小于 <
大于等于 > =
小于等于 <=
等于 ==
不等于 !=
再来一个闰年的判断:
java 复制代码
import java.util.Scanner;  
  
public class ifdemo {  
    public static void main(String[] args) {  
        Scanner sc = new Scanner(System.in);  
        int year = sc.nextInt();  
        if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {  
            System.out.println(year + "是闰年");  
        }else System.out.println(year + "不是闰年");  
    }  
}

switch 语句

注意: swtich 语句中如果不加 break 语句,则从上到下匹配到第一个 case 后,会顺次执行后面每个 case 中的语句。

default:表示所有情况都不匹配的时候,就执行该处内容,和if语句中的else相似

java 复制代码
import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in); 
        System.out.print("请输入一个数字(1-7)代表星期几:");
        String name;
        int day = sc.nextInt();  
        switch(day){
            case 1:{
                name="Monday";
                break;
            }
            case 2:{
                name="Tuesday";
                break;
            }
            case 3:{
                name="Wednesday";
                break;
            }
            case 4:{
                name="Thursday";
                break;
            }
            case 5:{
                name="Friday";
                break;
            }case 6:{
                name="Saturday";
                break;
            }case 7:{
                name="Sunday";
                break;
            }
            default: name="I don't know!";
        }
        System.out.println(name);
    }
}

for 循环

java 复制代码
for (init-statement; condition; expression) {
    statement
}

在循环中需要初始化语句、条件判断语句、条件控制语句。

init-statement 可以是声明语句、表达式、空语句,一般用来初始化循环变量;

condition 是条件表达式,可以为空,空语句表示 true;

expression 一般负责修改循环变量,可以为空。

在一行中输出斐波那契数列的前 N 项,数字之间用空格隔开。

java 复制代码
import java.util.Scanner;
public class Main{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int a=0,b=1;
        for(int i=0;i<n;i++)
        {
            System.out.printf("%d ",a);
            int c=a+b;
            a=b;
            b=c;
        }
    }
}

在循环中可能会使用 break 和 continue 语句。

比如在判断质数中:

java 复制代码
import java.util.Scanner;
public class Main{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        boolean isPrime = true;
        for(int i=2;i<=n/i;i++)
        {
            if(n%i==0){
                isPrime=false;
                break;
            }
        }
        if(isPrime)System.out.println("YES");
        else System.out.println("NO");
    }
}

在求 1~100 的所有偶数之和:

java 复制代码
import java.util.Scanner;
public class Main{
    public static void main(String[] args)
    {
        int sum=0;
        for(int i=1;i<=100;i++)
        {
            if(i%2==1)continue;
            sum+=i;
        }
        System.out.printf("从1到100的偶数和为:%d",sum);
    }
}

while 循环

这东西其实和 for 循环差不了多少。只不过是括号里只剩了一个条件判断语句。

求 1~100 中所有数的立方和:

java 复制代码
public class Main{
    public static void main(String[] args)
    {
        int i=1,sum=0;
        while(i<=100)
        {
            sum+=i*i*i;
            i++;
        }
        System.out.println(sum);
    }
}

do-while 循环

do while 语句与 while 语句非常相似。唯一的区别是,do while 语句限制性循环体后检查条件。不管条件的值如何,都要至少执行一次循环。

在写循环的时候一定要注意不要写出死循环

相关推荐
行思理3 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
wangchunyu1144 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
paopaokaka_luck5 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
Thomas.Sir5 小时前
第9课:SpringBoot4.x Web开发基础:WebMvc自动配置、静态资源、请求参数接收
java·spring boot
程序 代码狂人5 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
2501_944521596 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
楚山之石7 小时前
【Medical Image Analysis】深度学习医学图像合成综述:伪CT、合成MRI与合成PET的架构、性能与临床边界
图像处理·人工智能·学习·mr·mri
南归北隐7 小时前
Spring AI Alibaba Graph框架实现MCP数据库查询实战
java·后端·spring ai·mcp·spring ai mcp
古法老登瞎折腾8 小时前
大数据智能运维实战(九):让 AI 查日志——找到异常,也保留上下文
java·大数据·运维·人工智能·spring ai·mcp
Li_RuiQi8 小时前
DAgger方法演进_独立学习笔记
笔记·学习·计算机视觉