java学习之路-程序逻辑控制

s1使用Java理解程序逻辑 package asd; public class sd { public static void main(String[] args) { int num1=5; int num2=2; num1++; num2--; System.out.println("num1="+num1); System.out.println("num2="+num2); } } public static void main(String[] args) { double num1=5; . 阅读详情

目录

1.分支结构

1.1 if语句

栗子

判断奇数还是偶数

判断一个年份是否为闰年

1.2switch语句

栗子

2. 循环结构

2.1while 循环

栗子

2.2break和continue

break

continue

2.3for循环

基本语法

栗子

2.4 do while 循环

3.输入输出

3.1输出

 3.2从键盘输入

栗子

3.3猜数字游戏实现

4.练习

4.1 判定一个数字是否是素数

4.2求两个数的最大公约数

4.3求水仙花数

4.4求二进制的个数


1.分支结构

1.1 if语句

 if(布尔表达式){
    // 语句
}

如果布尔表达式结果为true,执行if中的语句,否则不执行。

 if(布尔表达式){
    // 语句1
 }else{
    // 语句2
 }

如果布尔表达式结果为true,则执行if中语句,否则执行else中语句。

栗子

判断奇数还是偶数

 int num = 10;
 if (num % 2 == 0) {
    System.out.println("num 是偶数");
 } else {
    System.out.println("num 是奇数");
 }

判断一个年份是否为闰年

     int year = 2000;
 if (year % 100 == 0) {
    // 判定世纪闰年
    if (year % 400 == 0) {
        System.out.println("是闰年");
    } else {
        System.out.println("不是闰年");
    }
 } else {
    // 普通闰年
    if (year % 4 == 0) {
        System.out.println("是闰年");
    } else {
        System.out.println("不是闰年");
    }
 }

1.2switch语句

基本语法

 
 switch(表达式){
    case 常量值1:{
        语句1;
        [break;]
        }
    case 常量值2:{
        语句2;
        [break;]
        }
    default:{
        内容都不满足时执行语句;
        [break;]
        }       
}

执行流程:

1. 先计算表达式的值

2. 和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束

3. 当表达式的值没有与所列项匹配时,执行default

栗子

 int day = 1;
 switch(day) {
    case 1:
        System.out.println("星期一");
        break;
    case 2:
        System.out.println("星期二");
        break;
    case 3:
        System.out.println("星期三");
        break;
    case 4:
        System.out.println("星期四");
        break;
    case 5:
        System.out.println("星期五");
        break;
    case 6:
        System.out.println("星期六");
        break;
    case 7:
        System.out.println("星期日");
        break;
    default:
        System.out.println("输入有误");
        break;
 }

【注意事项】

多个case后的常量值不可以重复

switch的括号内只能是以下类型的表达式:

         基本类型:byte、char、short、int,注意不能是long类型

        引用类型:String常量串、枚举类型

2. 循环结构

2.1while 循环

语法格式

 while(循环条件){
循环语句;
 }

循环条件为 true, 则执行循环语句; 否则结束循环

栗子

        //分别计算100内所有奇数、偶数的和
        int i = 1;
        int sumodd = 0;
        int sumeven = 0;
        while(i <= 100)
        {
            //首先判断是奇数
            //然后进行累加求和。
            if(i % 2 == 0)//偶数对二求余必为0
            {
                sumeven += i;
            }
            else
            {
                sumodd += i;
            }
            i ++;//每轮i都要进行++
        }
        //求和完成,打印数据
        System.out.println("偶数和 = "+ sumeven);
        System.out.println("奇数和 = "+ sumodd);

注意事项

1. 和 if 类似, while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { }

2. 和 if 类似, while 后面的 { 建议和 while 写在同一行.

3. 和 if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行.

 int num = 1;
 while (num <= 10); {//这里有个分号
    System.out.println(num);
    num++;
 }
 
// 执行结果
[无任何输出, 程序死循环]

2.2break和continue

break

功能是让循环提前结束.

        //区分break和continue
        int j = 1;
        while(j <= 5)
        {
            if(j == 2)
            {
                break;//当j=2时候,
            }
            System.out.println(j); //这里只会输出1就结束了。
        }
        

continue

continue 的功能是跳过这次循环, 立即进入下次循环.

        int j = 1;
        while(j <= 5)
        {
            if(j == 2)
            {
                continue;//会进入死循环,永远停留在j=2
            }
            System.out.println(j);
        }

2.3for循环

基本语法

for(表达式①;布尔表达式②;表达式③){
    表达式④;
 }

表达式1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次

表达式2: 循环条件,满则循环继续,否则循环结束

表达式3: 循环变量更新方式

栗子

计算 1! + 2! + 3! + 4! + 5!

int sum = 0;
 for (int i = 1; i <= 5; i++) {
    int tmp = 1;
    for (int j = 1; j <= i; j++) {
        tmp *= j;
    }
    sum += tmp;
 }
 System.out.println("sum = " + sum);

2.4 do while 循环

【基本语法】

do{
    循环语句;
 }while(循环条件);

先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。

do while 循环最后的分号不要忘记

3.输入输出

3.1输出

基本语法

System.out.println(msg);            // 输出一个字符串, 带换行
System.out.print(msg);              // 输出一个字符串, 不带换行
System.out.printf(format, msg);     // 格式化输出

println 输出的内容自带 \n, print不带 \n

printf 的格式化输出方式和 C 语言的 printf 是基本一致的.

System.out.println("hello world");
 
int x = 10;
 System.out.printf("x = %d\n", x)

 3.2从键盘输入

使用 Scanner 读取字符串/整数/浮点数

 import java.util.Scanner;  // 需要导入 util 包
 Scanner sc = new Scanner(System.in);
 sc.close(); // 注意, 要记得调用关闭方法

栗子

       import java.util.Scanner;  // 需要导入 util 包
         Scanner sc = new Scanner(System.in);
         //接下来就可以使用输入了
       /* System.out.println("请输入你的id");
        String name = scan.next();//next只读有效的字符,遇到空格、tab、enter键,那么就会停止结束。
        System.out.println(name);*/

        //输入字符串
        /*ystem.out.println("请输入你的id");
        String name = scan.nextLine();//nextLine 输入字符串,遇到enter才结束
        System.out.println(name);*/

        //输入整型
        /*System.out.println("请输入你的年龄");
        int ax = scan.nextInt();//只会录入空格前的,遇到空格、tab、enter键就停止了
        System.out.println(ax);

        //也可以进行循环输入
        //循环结束用ctrl+d
        while(scan.hasNextInt())//就是如果有数字的输入就不会停止
            //想停止两方法,ctrl+d,还有输入其他字符,不是数字的内容。
        {
            int age = scan.nextInt();
            System.out.println(age);
        }
        scan.close();//这个就是类似于文件操作的关闭,有打开那就有关闭。*/

3.3猜数字游戏实现

游戏规则:

系统自动生成一个随机整数(1-100), 然后由用户输入一个猜测的数字. 如果输入的数字比该随机数小, 提示 "低 了", 如果输入的数字比该随机数大, 提示 "高了" , 如果输入的数字和随机数相等, 则提示 "猜对了" .

import java.util.Random;
 import java.util.Scanner;;
 
class Test {
    public static void main(String[] args) {
        Random random = new Random(); // 默认随机种子是系统时间
        Scanner sc = new Scanner(System.in);
        int toGuess = random.nextInt(100);
        // System.out.println("toGuess: " + toGuess);
        while (true) {
            System.out.println("请输入要输入的数字: (1-100)");
            int num = sc.nextInt();
            if (num < toGuess) {
                System.out.println("低了");
            } else if (num > toGuess) {
                System.out.println("高了");
            } else {
                System.out.println("猜对了");
                break;
            }
        }
        sc.close();
    }
 }

4.练习

4.1 判定一个数字是否是素数

有两方法
其一,就是通过循环一个数一个数的对x求余,当余数等于0,那么就不是素数,只有大于开根号数时候才是
比如16 ,可以写成1*16 2*8 4*4 ,其中2小于16开根号,那么就不是素数
        // i = 2; //从二开始,因为每个数都能被1整除,所以1毫无意义
        for(i = 2 ;i <= Math.sqrt(num) ; i++ )
        {
            if(num % i == 0 ){
                break;//不是素数,1和2不是素数
            }
        }
        if( i > Math.sqrt(num)){ //如果i大于Math.sqrt(num),那么就是素数
            System.out.println(num + "是素数");
        }

4.2求两个数的最大公约数

        //就是用转转相除法比如 18 和 24 最大公约数就是6
        //过程,24 % 18 = 6,然后下一步就是进行判断,如果18 % 6 = 0,那么6就是最大公约数
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = a % b;
        while( c != 0)
        {
            a = b;//这里是防止a<b吧
            b = c;
            c = a % b;

        }
        System.out.println(b);

4.3求水仙花数

        //栗子 i= 153 = 1^3+5^3+3^3
        //先求这个数是几位数
        //然后再次循环求出这个数的每一位数取出来
        /*for(int i = 1 ; i <= 999999 ;i ++)
        {
            int count = 0;
            int tmp = i;
            while(tmp != 0){
                count ++;
                //一次除去10,每次去掉一位数
                tmp = tmp / 10;
            }
            //计算完再进行重新赋值
            tmp = i ;
            int sum = 0;//用于求和
            while(tmp != 0){

                sum+=Math.pow(tmp % 10,count);//这个函数就是传两个参数,然后进行相乘,           (2,3)=2*3
                tmp /= 10;//每次去掉最后一位
            }
            if(sum == i)
            {
                System.out.println(i);
            }
        }

4.4求二进制的个数

        //求二进制的个数
        int ax =scan.nextInt();
        int count = 0;//用来记录二进制中1的个数
        //用求二进制的方法来求1的个数;对2取余,余1的话就说明二进制中有个1,然后除以二,在取余,直到除2之后为0
        while (ax > 0)
            {
                if (ax%2==1)
                {
                    count++;
                    ax /= 2;
                }
                else
                {
                    ax /= 2;
                }
            }

        System.out.println(count);

MATLAB不能识别已安装的visual studio 2015解决方法 首先,对于MATLAB识别已经安装的vs版本通过命令: mex -setup 下图为本电脑下同时安装的两个visual studio 如果搞清楚MATLAB识别电脑上安装vs的过程,可通过命令: mex -setup -v MATLAB输出识别编译器的整个过程。其中HKLM和HKCU分别是注册表中的HKEY_CURRENT_USER,HKEY_LOCAL_MA…的缩写,MATLAB没有找到对应编译器是由于注册表里没有对应信息(主要是文件路径,C++编译器的路径),或者在注册表里存在该信息,但是找不到 阅读详情

相关推荐

SLAM算法的优缺点

SLAM(Simultaneous Localization and Mapping,同时定位与地图构建)算法是一种通过传感器数据实时估计机器人自身位置和构建环境地图的技术。

selenia8860的博客 2906

奇偶数的判断方法java

System.out.println(i+" 偶数");System.out.println(i+" 奇数");System.out.println(i+" 偶数");System.out.println(i+" 奇数");//运算符(取余 %)//操作符(与 &)

qq_53918995的博客 3424

【DIY】使用STM32及PID算法实现一个磁悬浮玩具

今天教大家来做一个磁悬浮玩具。

小白白学电子 1万+

java判断一个数是奇数还是偶数

java判断一个数是奇数还是偶数,这个是简洁版本的代码,没有验证用户输入的数如果为int之外的的数据类型的判断。

m0_66631425的博客 3768

手把手教你搭建三端口DC-DC变换器(含Boost+Buck电路实战)

本文详细介绍了如何从零开始搭建三端口DC-DC变换器,涵盖Boost和Buck电路的硬件设计、元器件选型、电路板布局、焊接技巧、控制系统设计与调试等关键步骤。通过实战案例和优化建议,帮助工程师避开常见陷阱,提升系统效率和稳定性,适用于光伏、储能等电力电子应用场景。

x8y9z0的博客 929

Copula函数

Copula是处理统计中随机变量相关性问题的一种方法。本文是对Copula函数的各种定义,Copula函数的思想,Copula函数的性质,Copula函数的类型等理论资料总结

Explore 5万+

[面试题] 一道最简单的Java面试题(转)

这可能是历史上最简单的一道java面试题了。 题目很简单,完成代码,判断一个整数是否是奇数: public boolean isOdd(int i) 相信相当数量的人都已经在准备吐槽了,只要看过《编程珠玑》的人都知道这道题的答案和其中极为简单的道理。不过别着急骂街,不管你信不信,这道笔试题我拿到的答案好多都...

哆啦A瑶的博客 2298

深入SVT SPI VIP配置:如何灵活控制CS间隔、数据帧大小与时钟频率(含代码片段)

本文深入探讨了SVT SPI VIP的高级配置技巧,包括精确控制CS信号间隔、突破数据帧大小限制以及动态时钟频率切换。通过实战代码片段和详细配置步骤,帮助验证工程师灵活应对复杂SPI协议验证场景,提升验证效率和覆盖率。特别适合需要处理非标准SPI时序和特殊数据帧的芯片验证项目。

weixin_27014595的博客 280

java 【入门】判断奇偶数 【if语句】【含教程】

输入一个整数,判断是否为偶数。是输出"yes",否则输出"no"。输入只有一行,包括1个整数。

fxc6666的博客 1822

AWVS安装与使用教程

Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的自动化网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。它可以扫描任何可通过Web浏览器访问的和遵循HTTP/HTTPS规则的Web站点和Web应用程序。适用于任何中小型和大型企业的内联网、外延网和面向客户、雇员、厂商和其它人员的Web网站。WVS可以通过检查SQL注入攻击漏洞、XSS跨站脚本攻击漏洞等漏洞来审核Web应用程序的安全性。

qq_59607911的博客 4098

用 ADBC 把动态查询做得又快又稳:从 CL_SQL_STATEMENT 到安全取数的工程化实践

本文介绍了ABAP中ADBC(ABAP Database Connectivity)技术的核心用法与最佳实践。ADBC作为Open SQL的补充,适用于动态查询、数据库特性调用等场景。文章通过示例代码详细演示了使用ADBC执行查询的完整流程:创建SQL语句、执行查询获取结果集、批量装载数据到内表,以及分包读取处理大数据量。特别强调了动态SQL的安全防护措施,包括输入转义和参数绑定等防注入技术。同时对比了ADBC与Open SQL的适用场景,指出ADBC更适合需要动态访问数据库原生功能的场合。文章还分析了代码

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1772

Java输入一个整数,判断是奇数还是偶数

2.本弹窗界面可以根据简单的要求进行输入,并显示是否正确,该文章代码设置的是在代码输入一个整数,判断是奇数还是偶数。同时可以实现自定义的设置;3.这是一个ifelse语句。通过用户输入的数值,使用抹除方法进行判断奇数、偶数并输出;5.这里要特别说明,如果要粘贴完整的代码包名和我的不一致,是指定不一致的,请手动更改;4.该系统只能在控制台(eclipse等版本)上运行,同时需要搭配jdk环境;1.本代码是我在上学时写的,有一些地方没能完美实现,请包涵也请多赐教!

weixin_59042297的博客 6601

把个人化的 SQVI 报表变成可维护、可共享、可传输的 ABAP Query:从定位来源到转换落地的完整路线图

本文针对SAP系统中业务用户常用但难以维护的SQVI临时报表问题,提供了一套完整的解决方案。文章首先区分了SQVI(个人临时报表)和ABAP Query(团队可维护报表)的关键差异,重点介绍了如何通过函数模块RSAQ_DECODE_REPORT_NAME反查报表来源。对于SQVI报表,详细说明了定位创建人和转换为团队可维护的ABAP Query的具体步骤,包括Query Area切换、转换操作和后续维护方法。最后总结了常见问题的解决方案,如字段调整、口径固化和生成程序名反查等,为现场实施提供了可直接操作的完

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 302

Java学习(三)程序逻辑控制

程序逻辑 程序逻辑是编程语言中的重要组成部分,Java的程序有三种:顺序结构,选择结构,循环结构。 顺序结构 程序自上而下执行,一条语句执行完后再执行另一句,一直到程序末尾。 选择结构 选择结构是根据条件的成立与否再决定执行哪些语句的一种结构。 循环结构根据判断条件成立与否,决定程序段落的执行次数,这个程序段落就被称为循环主体。 选择(分支)结构 在Java语言里面,一共提供有两种分支结构:if分支结构和switch分支结构 if分支结构 if分支结构主要是针对逻辑运算的处理结果来判断是否执行某段代码。

qq_53086690的博客 325

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java学习笔记——程序逻辑控制

9.27-9.29 1、分支结构:if,if…else,switch //三个分支结构的综合运用 package classe; import java.util.*; public class hello { public static void main(String[] args) { Scanner s = new Scanner(System.in); ...

max_and_caroline的博客 252

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Java学习DAY3~程序逻辑控制~2010-12-13

JAVA 学习DAY3——逻辑控制 一、顺序结构 System.out.println("aaa"); System.out.println("bbb"); System.out.println("ccc"); 结果: aaa bbb ccc Process finished with exit code 0

graceyun的博客 171

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【JAVA学习笔记】流程控制:构建程序逻辑的基石

流程控制是构建程序逻辑的骨架,掌握其精髓需要注意:根据场景选择最合适的控制结构注意代码的可读性和可维护性警惕边界条件和异常情况处理善用IDE的调试功能观察执行流程建议通过以下方式提升:实现经典算法(如素数筛选、二分查找)分析开源项目的流程控制实现尝试用不同结构实现相同功能,比较优劣。

weixin_48272591的博客 674

JAVA学习 DAY7 程序逻辑控制【万字长文!一篇搞定!】

本文是Java学习系列的笔记,重点讲解程序逻辑控制,包括顺序结构、分支结构(if-else、switch)和循环结构(while、for、do-while)。文章详细介绍了每种结构的语法格式、代码示例和注意事项,并对比了不同结构的适用场景。此外,还讲解了控制台输入输出方法(System.out和Scanner类)的使用技巧,包括格式化输出和输入验证。最后通过猜数字游戏等实战案例帮助巩固所学知识,为后续面向对象编程奠定基础。全文内容全面系统,适合零基础学习者和进阶开发者参考。

HRDMN的博客 964

【C语言和Java的对比学习】2(布尔类型、运算符、程序逻辑控制)

这篇文章主要讲解了在布尔类型、运算符和程序逻辑控制方面C语言和Java的对比学习

2401_82641862的博客 515

Java 学习笔记 Day4--程序逻辑控制 if and switch

public class text{ public static void main(String args[] ) { String str = "Hello"; switch(str){ case"Hello":{ System.out.println("Hello"); ...

Lucien_XX的博客 198

Java学习笔记(六):程序逻辑控制与输入输出

介绍了Java中的顺序、循环、分支结构,如if语句、switch语句、for循环和while循环等

weixin_50922984的博客 353

学习笔记——Java程序逻辑控制(顺序结构、循环结构、分支结构)

IF分支结构 If主要是针对关系表达式进行判断处理的分支操作。对于分支结构主要有三类: 一类: if(布尔表达式){ 条件满足时执行; } 二类: if(布尔表达式){ 条件满足时执行; } else{ 条件不满足时执行; } 三类: if (布尔表达式) { 条件满足时执行 ; } else if (布尔表达式) { 条件满足时执行 ; } else if (布尔表达式) { 条件满足时执行 ;...

weixin_45176509的博客 367

java学习路线__基础入门向__程序逻辑控制__6

程序逻辑控制程序逻辑主要分为:顺序结构, 分支结构, 循环结构。一:顺序结构:顺序结构只能顺序执行顺序结构不能判断,循环,局限很大,不过使用最多的还是顺序结构。二:分支结构:if...else  /  switch//用法一: if(布尔表达式) { //如果布尔表达式为true将执行的语句 } ////////////////////////////////// //用法二: if(布尔表...

6墨沫9 153

四. Java程序逻辑控制

Java逻辑控制结构由顺序、分支和循环三大基础组件构成。​顺序结构按代码书写顺序执行,适用于数据初始化等线性任务。​分支结构中,if-else通过布尔表达式实现多条件判断,switch支持整型、枚举和字符串类型,需注意break防穿透。​循环结构包含三种形式:while先判断后执行,for精确控制迭代次数(如计算阶乘),do-while确保至少执行一次循环体。break用于终止循环,continue跳过当前迭代。输入输出通过Scanner类实现交互,综合应用案例展示了多结构协同逻辑。

weixin_74353123的博客 1170

阿里Java学习路线:阶段 1:Java语言基础-Java编程入门:第7章:Java程序逻辑控制:课时27:循环控制

在循环语句定义的时候还有两个控制语句:break、continue: 1.break主要功能是退出整个循环结构; public class JavaDemo { public static void main(String args[]) { for (int x = 0 ; x < 10 ; x ++) { if (x > 3) { break ; // 循环结束 } System.out.print(x + "、") ; } } } public cla

Kenny C 161

Java基础之程序逻辑控制

这里是对Java程序逻辑控制的基本讲解内容,会尽个人之所能来帮助各位初学者了解并且去运用Java的程序逻辑控制

CTXQIE666的博客 205
上一篇: java学习之路-运算符
下一篇: java学习之路-方法讲解
阿祥成长日记
博客等级 码龄4年 5570粉丝 37原创
评论 31
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值