java学习笔记系列第三章-条件选择结构
- 格式:doc
- 大小:75.50 KB
- 文档页数:6
顺序结构、选择结构、循环结构顺序结构Java的基本结构就是顺序结构,除⾮特别指明,否则就按照顺序⼀句⼀句执⾏顺序结构是最简单的算法结构语句与语句之间,框与框之间是按从上到下的顺序进⾏的,它是由若⼲个依次执⾏的处理步骤组成的,它是任何⼀个算法都离不开的基本算法结构package com.bing.struct;public class ShunXuDemo {public static void main(String[] args) {System.out.println("hello1");System.out.println("hello2");System.out.println("hello3");System.out.println("hello4");System.out.println("hello5");System.out.println("hello6");System.out.println("hello7");}}选择结构if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构if单选择结构我们很多时候需要去判断⼀个东西是否可⾏,然后我们才去执⾏,这样⼀个过程在程序中⽤if语句来表⽰语法:if(布尔表达式){//如果布尔表达式为true将执⾏的语句}IfDemo01import java.util.Scanner;public class IfDemo01 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输⼊内容:");String s = scanner.nextLine();//equals: 判断字符串是否相等if(s.equals("Hello")){System.out.println(s);}System.out.println("End");scanner.close();}}if双选择结构那现在有⼀个需求,公司要收购⼀个软件,成功了,给⼈⽀付100万元,失败了,⾃⼰找⼈开发。
第三章计算机软件一、计算机系统基本组成:硬件和软件(一)计算机软件:能指挥计算机完成特定任务的、以电子格式存储的程序、数据和相关文档。
(二)软件的功能都在硬件的支撑下实现,用硬件实现的功能可能由软件来部分实现。
二、软件(一)定义(ISO):包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作。
(二)组成:程序+(与程序相关的)数据和文档。
1.文档:程序开发、维护和使用所涉及的资料,如设计报告、维护手册和用户使用指南等2.程序是软件的主体,单独的数据和文档一般不认为是软件。
(三)特性:1.依附性:通常必须使用物理载体进行存储,依附于一定的硬件和软件环境运行2.不可见性:以二进位表示、无形的产品3.脆弱性:容易受到病毒入侵4.易复制性5.无磨损性(四)软件版权:1.定义:软件的作者享有拷贝、发布、修改等权利,用户购买软件只有使用权2.软件盗版:未获得版权所有者许可就复制和散发商品软件的行为3.相关法律法规:知识产权保护法、著作权法、专利法、计算机软件保护条例……(五)软件分类:1.按应用角度分:系统软件和应用软件1)系统软件:A.定义:管理系统资源、提供常用基本操作的软件B.特点:交互性(与计算机硬件系统)、通用性C.组成:a)基本输入/输出系统(BIOS)——最接近计算机硬件的系统软件b)操作系统i.DOS、Windows 95、Windows 98、WindowsMe、Windows NT 4.0、Windows 2000、WindowsXP、Windows 2003、Windows Vista、Windows 7ii.Unix:BSD、SRV4、SCO UNIX、AIX、Solaris、HP-UXiii.Linux:Red Hat、SuSE等c)程序设计语言处理系统(编译器):FORTRAN、BASIC、Visual Basic、Java、C、C++、LISP、PROLOG、MATLAB、ALGOL、PASCAL等d)数据库管理系统(DBMS):FoxPro、Microsoft Access、VFP、SQL Server、Oracle、DB2、SYBASE等e)实用程序:磁盘清理程序、磁盘碎片整理程序、杀毒软件、防火墙等2) 应用软件:A. 定义:为用户完成某项特定任务的软件B. 按应用软件的开发方式和适用范围,可分为:通用应用软件、定制应用软件a) 通用应用软件: b) 定制应用软件: i. 定义:按照不同领域用户的特定应用要求而专门设计开发的软件 ii. 举例:超市销售管理和市场预测系统、工厂的集成制造系统、大学教务管理系统、医院门诊挂号系统、酒店客房管理系统、民航售票系统3) 系统软件和应用软件的关系:应用软件以系统软件为基础(如:Powerpoint 以windows 为基础;Powerpoint 调用windows 的功能)2. 按软件权益如何处置分为:商品软件、共享软件、自由软件1) 软件许可证(License):允许用户购买一份软件而同时安装在约定的若干台计算机上使用 2) 自由软件A. 代表:TCP/IP 、LinuxB. 允许用户随便拷贝、修改其源代码和销售(六) 软件发展的历史:1. 第一阶段:个体工作方式2. 第二阶段:合作方式1) 标志:软件危机2) 软件危机产生原因:软件复杂程度提高、研制周期变长、正确性难以保证、可靠性问题突出(并非硬件软件不协调发展)3. 第三阶段:软件工程(用工程化的方法组织软件的开发)三、操作系统(一) 地位:计算机运行配置必不可少的底层系统软件 (二) 作用:1. 管理分配系统中的各种软硬件资源2. 为用户提供友善的人机界面1) 命令行界面2) 图形用户界面:采用图标(icon )来形象地表示系统中的文件、程序和设备等对象3. 为应用程序的开发和运行提供一个高效率的平台(开发和运行应用程序与运行的操作系统密切相关) 1) 裸机:只有硬件、没有软件的计算机。
第三章测验及答案第三章测验一、判断1. 文档不属于软件,所以不重要。
()2. 软件学是专门研究软件开发的学科。
()3. 通常把计算机软件分为系统软件和应用软件。
()4. 所谓系统软件就是购置计算机时,计算机供应厂商所提供的软件。
()5. 当前流行的操作系统是Windows系列及Office系列。
()6. Word属于系统软件,因为它在多个行业、部门中得到广泛的使用。
()7. Oracle是一数据库软件,属于系统软件。
()8. “软件工程”的概念出现在计算机软件发展的第三阶段。
()9. 一般只有硬件、没有软件的计算机被称为“裸机”。
()10. 计算机操作系统自举完成后,操作系统的所有程序常驻内存。
()11. Windows操作系统可以在任意的计算机上安装。
()12. Linux操作系统是Unix简化后的新版本。
()13. 机器语言程序是直接运行在裸机上的最基本的系统软件。
()14. 汇编语言是面向机器指令系统的机器语言。
()15. 计算机硬件就是组成计算机的各种物理设备的总称。
()16. 同一个程序在解释方式下的运行效率比在编译方式下的运行效率低。
()17. 编译程序仅是指从高级语言到机器语言的翻译程序。
()18. 在设计程序时一定要选择一个时间代价和空间代价都是最小的算法,而不用考虑其它问题。
()19. 离散数学的主要研究对象是连续的数据结构。
()20. 数据结构的内容包括数据的逻辑结构、存储结构以及在这些数据上定义的运算的集合。
()21.链接表是以指针方式表示的“线性表结构”。
()22. 程序与算法不同,程序是问题求解规则的一种过程描述。
()23. 软件产品的设计报告、维护手册和用户使用指南等不属于计算机软件。
()24. 支持多用户、多任务处理和图形用户界面是Windows的特点。
()25. 程序设计语言按其级别可以分为硬件描述语言、汇编语言和高级语言三大类。
()26.源程序通过编译处理可以一次性地产生高效运行的目标程序,并把它保存在外存储器上,可供多次执行。
一.双目运算符1.1赋值运算符基本赋值运算符= Java中唯一一个自右向左运算的符号;扩展的赋值运算符+= 、-= 、*= 、/= 、%=(算术运算符+基本赋值运算符)推荐使用: 1.提高执行效率 2.自动做强制类型转换缺点:不直观1.2 关系运算符==、!=、>、>=、<、<=操作符描述== 检查如果两个操作数的值是否相等,如果相等则条件为真!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真> 检查左操作数的值是否大于右操作数的值,如果是那么条件为真>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真1.3逻辑运算符&、|、^、!、&&、||操作符描述& 逻辑与,两个都为true才是true,一个为false就是false| 逻辑或,一个为true就是true,两个都是false才是false^ 异或,相同为false,不同为true! 非,取反 !true–>false !false–>true&& 短路与,两个都为true才是true,一个为false就是false|| 短路或,一个为true就是true,两个都是false才是false推荐使用短路**&&、||**:第一个操作数就已经能够决定最终的结果了,第二个操作数将不再执行2.三目运算符条件运算符也被称为三元运算符条件表达式 ? 值1 : 值2;1)执行条件表达式–>值为Boolean类型的表达式2)如果为true,最终的结果取值13)如果为false,最终的结果取值2二、键盘录入及随机函数Scanner : 可以接收用户收入的内容|接收键盘输入1.创建这个类型的变量|引用引用数据类型变量名|引用名 = new 引用数据类型();Scanner sc= new Scanner();2.根据引用数据功能引用.功能名字();sc.next();1.导包指明Scanner类的位置import java.util.Scanner;位置: 类的上面2.创建类型的引用|变量名3.使用功能sc.nextInt() 接收用户输入的int类型的整数sc.nextByte()sc.nextShort()sc.nextLong()sc.nextDouble()sc.nextFloat()sc.next() 接收用户输入的字符串遇到enter功能就结束从有效字符开始接收,遇到空格,tab就不接受了,但是功能不会结束,知道遇到enter功能才会结束sc.nextLine() 接收用户输入的一整行的内容,知道换行结束 enter换行如果在nextLine的前面有使用到系列的next功能,需要处理遗留的enter问题4.关闭sc.close()关闭友好的使用方式推荐关闭,但是不关闭也不会出错,注意:如果一旦关闭,必须在使用完成之后再关闭,否则重新开启也不可以使用Random 产生随机数1.导包指明Random类的位置2.创建引用数据类型的变量3.使用功能随机整数引用.nextInt() 产生一个int范围内的随机整数nextInt(整数n) [0,n) 0~n之间的随机整数随机小数nextDouble() 随机小数-> [0.0,1.0)*值1 值改变最大区间+值2 只改变最小区间公式:[0,max] ran.nextInt(max+1)+1; ->[1,6][min,max] ran.nextInt(max-min+1)+min ; [0,max-min]+min->[min,max] 伪随机数:三、流程控制语句java中的流程控制语句顺序结构:从上倒下,从左到选择结构:根据选择,决定执行的内容循环结构:重复执行同样的操作条件语句 - if…else语句单分支|单选泽if(条件表达式){语句体;}条件表达式必须值为boolean类型的表达式如果条件表达式结果为false,就不执行跳过整个if结构如果条件表达式结果为true,执行{}中的语句体双分支|双选择if(条件表达式){语句体1;}else{语句体2;}无论是否满足条件,都会执行语句体多分支|多选择:if(条件表达式1){语句体1;}else if(条件表达式2){语句体2;}else if(条件表达式3){语句体3;}....else{以上条件都不满足执行的内容}if语句和条件运算符之间的选择:1.条件运算符肯定会得到结果2.麻烦的使用if,简单的能使用条件运算符就是用条件运算符无论是多选还是单选,双选,只要语句体只有1句,前后的{}可以省略switch语句switch语句:定值判断switch(表达式){case 值1:语句体1;break;case 值2:语句体2;break;....default:语句体n;break;}表达式|变量: byte,short,int,char,枚举(1.5),字符串(1.7)case:拿表达式的结果与case后的值进行判断,如果相同,执行对应的语句体;break:结束这个switch语句,如果没有break会发生case穿透default: else作用一致,以上case都不满足条件,执行default中的语句体可以在switch语句中的任何位置,改变位置注意break的问题if语句可以做区间判断,可以做定值判断switch 只能做定值判断一、运算符(就是连接常量或者变量的一种符号)1.1算数运算符•分类:+ - * / % ++ --•注意事项:注意事项: 两个整数相除得到的是整数,想得到小数必须有浮点数(小数)参与运算•/和%的区别: /得到的是两个数的商 %得到的是两个的余数•字符串做参与运算,其实就是字符串的拼接,然后得到一个新的字符串•++和--的使用:o单独使用的时候比较多,++ -- 不管是在前或后,对结果没有影响的o参与其他操作的时候o++ -- 在变量的前面的时候先对其自身进行+1或者是-1 然后在参与运算o++ -- 在变量的后面的时候先参与运算,然后在自身进行+1或者是-1;o注意: 只能变量做++/--1.2赋值运算符•分类基本的为= ,扩展的赋值运算符 += -+ *= /= %=•扩展规则:将运算符左边的变量和右边的值做运算,在把结果赋值给左边的变量•注意事项:有强制类型转换的作用1.3关系运算符(也叫做比较运算符)•分类:== > >= < <= !=•用关系运算符连接起来的式子叫做关系表达式,结果是一个boolean类型的值•注意事项; = 它是赋值操作==它是判断两个数是否相等1.4逻辑运算符(连接关系表达式)•分类: & | ! && || ^•&&o特点:有false则falseo具有短路作用,当左边为false时候右边不执行•&o特点:有false则falseo不具备短路做用,不管左边为false还是true右边都执行•||o特点: 有true则trueo具备短路做用,当左边为true的时候,右边不执行•|o特点: 有true则trueo不具备短路做用,不管左边为false还是true,右边都执行•! 特点:非false则true,非true则false•^ 特点:相同为false,不同为true,举例男女关系1.5三元运算符(三目运算符)•格式: 关系表达式? 表达式1 : 表达式2 ;•执行流程: 首先计算关系表达式的值是true还是false 如果是true就执行值1; 如果为false就执行值2;二、流程语句2.1 顺序结构语句•代码从上往下依次执行2.2选择结构语句•if语句o第一种格式o if(关系表达式){o语句体;o}o第二种格式o if(关系表达式){o语句体1;o}else {o语句体2;o}o第三种格式o if(关系表达式1){o语句体1;o}else if(关系表达式2){o语句体2;o}else if(关系表达式3){o语句体3;o}.....else{o语句体n+1;o}•switch语句•switch(表达式){//表达式的值可以是byte char short int jdk5:枚举jdk7:字符串•c ase 值1:•语句体1;•break;//中断•c ase 值2:•语句体2;•break;•.......•default://相当于if语句中else•语句体n+1;•break;•}2.3循环结构语句•for循环语句o for(初始化语句;判断条件语句;控制条件语句){o循环体语句;o}o 1 初始化语句o 2 计算判断条件语句的值true或者falseo如果false 直接结束循环o如果是true 往下执行o 3 执行循环体语句o 4 执行控制条件语句o 5 回到第二步o*•while循环语句o* while(判断条件语句){o* 循环体语句;o* }o*o* 扩展格式o* 初始化语句;o*while(判断条件语句){o* 循环体语句;o* 控制条件语句;o* }•do...while循环语句o* 初始化语句;o* do{o* 循环体语句;o* 控制条件语句;o* }while(判断条件语句);。
1:switch语句(掌握)(1)格式:switch(表达式) {case 值1:语句体1;break;case 值2:语句体2;break;...default:语句体n+1;break;}格式解释说明:switch:说明这是switch语句。
表达式:可以是byte,short,int,charJDK5以后可以是枚举JDK7以后可以是字符串case:后面的值就是要和表达式进行比较的值break:表示程序到这里中断,跳出switch语句default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else(2)面试题switch语句的表达式可以是byte吗?可以是long吗?可以是String吗?可以,不可以,JDK7以后可以(3)执行流程:A:首先计算表达式的值B:和每一个case进行匹配,如果有就执行对应的语句体,看到break 就结束。
C:如果没有匹配,就执行default的语句体n+1。
(4)注意事项:A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的B:default可以省略吗?可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
特殊情况:case就可以把值固定。
A,B,C,DC:break可以省略吗?可以省略,但是结果可能不是我们想要的。
会出现一个现象:case穿透。
最终我们建议不要省略D:default一定要在最后吗?不是,可以在任意位置。
但是建议在最后。
E:switch语句的结束条件a:遇到break就结束了b:执行到末尾就结束了(5)案例:A:键盘录入一个数字(1-7),输出对应的星期几。
B:单项选择题C:键盘录入一个字符串的问题String s = sc.nextLine();D:根据给定的月份,输出对应的季节(6)if语句和switch语句各自的场景A:if针对boolean类型的判断针对一个范围的判断针对几个常量的判断B:switch针对几个常量的判断2:循环语句(掌握)(1)有三种:for,while,do...while(2)for循环语句A:格式for(初始化语句;判断条件语句;控制条件语句){循环体语句;}执行流程:a:执行初始化语句b:执行判断条件语句如果这里是true,就继续如果这里是false,循环就结束c:执行循环体语句d:执行控制条件语句e:回到bB:注意事项a:判断条件语句无论简单还是复杂,结果是boolean类型b:循环体语句如果是一条,可以省略大括号,但是不建议c:有分号就没有左大括号,有左大括号就没有分号C:案例a:输出10次HelloWorldb:输出1-10的数据c:输出10-1的数据d:求1-10的和e:求1-100的和,求1-100的偶数和,求1-100的奇数和f:求5的阶乘g:在控制台打印水仙花数h:统计水仙花个数i:改进版的回文数一个五位数个位 = 万位十位 = 千位个位 + 十位 + 千位 + 万位 = 百位j:统计1-1000之间同时满足如下条件的数据有多少个x%3==2x%5==3x%7==2(3)while循环A:基本格式while(判断条件语句) {循环体语句;}扩展格式:初始化语句;while(判断条件语句){循环体语句;控制条件语句;}通过查看这个格式,我们就知道while循环可以和for循环等价转换。
Java_U1课堂笔记(一)初识Java一、配置Java环境变量:1、复制JDK安装路径,如:C:\Program Files (x86)\Java\jdk1.7.0_51\bin2、粘贴到我的电脑->属性->高级系统设置->环境变量->Path3、加上英文的分号4、验证是否配置正确:dos-->java -version进入DOS窗口的方法:运行(或快捷键windows键+r)二、Java程序编写三步骤:编写 .java编译:javac **.java运行java **三、使用jad反编译工具:DOS中切换至jad安装目录,如:C:\jad1.5.8g.win输入命令:jad -s java D:\t01\HelloWorld.class四、变量的使用:页脚内容1变量取名,命名规则类型数值:int、double、float(f)非数值:char、String类型名字= 值;int age=10;五、上机验证:System.out.println(5+3);System.out.println("5"+3);六、Scanner的使用,接收用户键盘输入Scannerimport java.util.Scanner;Scanner input=new Scanner(System.in);input.next();(相关方法,nextDouble()、nextFloat()、nextInt(等)bin:exejre页脚内容2libsrc.zip(二)数据类型一、数据类型转换自动类型转换:int num=100;double b=num;强制类型转换double num=100.9;int b=(int)num;二、运算符赋值运算符=算数运算符+ - * / % ++ --+= -= *= /= %=关系运算符> < >= <= == !=逻辑运算符&& || !页脚内容3条件运算符?:了解优先级即可三、流程控制1、if:基本ifif-else多重if嵌套if注意:条件是boolean值常见错误:if(num=5){}else{}大括号不省略多重if顺序问题注意:页脚内容4流程图的使用和问题的分析解决过程2、switch等值比较注意:(1)语法上的常见错误(2)和多重if的异同循环结构:解决重复性的操作简介高效(三)循环结构一:循环:(1)while循环while(条件){操作循环变量迭代}注意:页脚内容5代码缩进循环能否正常退出(2)do-while循环do{循环}while(条件);注意:代码缩进循环能否正常退出和while的区别:语法上、执行上(至少执行一次)(3)for循环for(变量初始化;条件;变量迭代){循环操作}页脚内容6注意:代码缩进循环能否正常退出执行顺序循环变量可以有多个二、双重循环双重循环的特点:外层循环进入一次,内层循环就要完整的执行一遍特点:外执行一次内执行一轮双重循环次数:外层循环次数*内层循环的次数实现的重点:页脚内容7(1)确定谁做外层循环,确定谁做内层循环(2)两层循环变量有没有规律性的关系1、打印图形:找规律矩形行i外层星星j内层1 52 53 54 55 5平行四边形行i外层内层:空格星星1 4=5-i 52 3=5-i 53 2=5-i 5页脚内容84 1=5-i 55 0=5-i 5等腰三角形行i外层内层:空格星星1 4=5-i 1=2*i-12 3=5-i 3=2*i-13 2=5-i 5=2*i-14 1=5-i 7=2*i-15 0=5-i 9=2*i-12、打印九九乘法表行i(1-9)第一个操作数i 第二个操作数(从1到i)三:循环应用1、分析需求:重复做一件事情前提条件(循环进入的条件)做什么事情(循环操作)页脚内容92、用代码解释选择一种合适的循环结构whiledo-whilefor根据所选择的结构套用语法while(条件){}do{}while(条件);for(循环变量初始化;条件;迭代){}3、容易出错的点(1)变量在何处声明例1:计算5门课平均成绩页脚内容10例2:for(int i=0;i<=6;i++){System.out.println(i);}int j=i;System.out.println(j);(2)没有适当的(合适的)跳出循环根本跳不出来根本进不去循环多或少循环了一次四、循环的跳转break:跳出整个循环continue:跳出本次循环,进入下次循环return:结束方法(了解即可)五、程序调试页脚内容11设置断点Debug->单步运行F5 F6观察变量(三)数组一、数组1、数组的基本使用(1)数组的作用一组相同数据类型的数数组也是变量,内存中一串连续的空间(2)数组的几个基本概念标识符(数组名字)元素下标:从0开始数据类型数组的长度(数组名字.length)(3)数组使用步骤声明数组页脚内容12int[] num;int num[];分配空间num=new int[8];赋值处理数据int[] num={5,8,7};int[] num=new int[]{5,8,7};(4)循环和数组结合的使用下标(0-数组.length-1)遍历时两种方法:方法一:传统for方法二://增强型for(foreach)for(int score:scores){sum+=score;页脚内容13}二、回顾数组变量,内存中一串连续的空间相同数据类型的一组数据数组的基本概念元素数据类型(数组类型)下标(0,数组.length-1)数组的长度:数组.length数组的基本使用声明数组(类型[] 数组名称或类型数组名称[])分配空间(数组名称= new 数据类型[5];)赋值(num[0]= ;)处理数据变量:基本数据类型页脚内容14int、double、float、char、boolean引用数据类型String、数组内存分布不同使用上不同.三、数组的典型使用1、求最大值、最小值(打擂台)2、插入算法(找位置)3、冒泡排序数组存储5个数字下标:0 1 2 3 4外层循环内层循环i:0第一轮+ j比较次数:4 =4:length-1页脚内容15i:1第二轮+ j比较次数:3=4:length-1i:2第三轮+ j比较次数:2 =4:length-1i:3第四轮+ j比较次数:1=4:length-1i+j=数组.length-1j=数组.length-1-i共比较几次?5个数字:4+3+2+1=106个数字:5+4+3+2+1=157个数字:6+5+4+3+2+1=21n个数字:(n-1)+(n-2)+(n-3)+.....+1=n*(n-1)/24、Arrays类的使用常用方法:页脚内容16sort().....记得查API帮助文档(帮助文档已经在网盘中提供了,如果大家在Oracle官网中没有下载,可以找中心的技术顾问老师提供网盘用户名和密码,登录后拿到帮助文档)数据类型基本数据类型int double char boolean 。
习题四一.选择题1.逻辑运算符两侧运算对象的数据类型。
A)只能是0或1 B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据2.下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。
A)x%2==0 B)!x%2!=0 C)(x/2*2-x)==0 D)!(x%2)3.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。
A)(x>=1) && (x<=10) && (x>=200) && (x<=210)B)(x>=1) | | (x<=10) | | (x>=200) | | (x<=210)C)(x>=1) && (x<=10) | | (x>=200) && (x<=210)D)(x>=1) | | (x<=10) && (x>=200) | | (x<=210)4.C语言对嵌套if语句的规定是:else总是与。
A)其之前最近的if配对B)第一个if配对C)缩进位置相同的if配对D)其之前最近的且尚未配对的if配对5.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为。
A)1 B)2 C)3 D)46.下面是错误的if语句(设int x,a,b;)A)if (a=b) x++; B)if (a=<b) x++;C)if (a-b) x++; D)if ( x ) x++;7.以下程序片段。
main ( ){ int x=0,y=0,z=0;if (x=y+z)printf(“***”);elseprintf(“###”);}A)有语法错误,不能通过编译B)输出:***C)可以编译,但不能通过连接,所以不能运行D)输出:### 8.对下述程序,是正确的判断。
《Java语言程序设计-基础篇》第03章答案3.1 答:if(i % 2 == 0) System.out.println(“偶数”); else System.out.println(“奇数”); 3.2 答:当 x = 3, y = 2 时,输出:无输出当x = 3, y = 4 时,输出:z is 7 当 x = 2,y = 2 时,输出:x is 2 3.3 答:等价的语句有:a, c和d 正确缩进的是:c 3.4 答:当 x = 2, y = 3 时,输出:x is 2 当 x = 3, y = 2 时,输出:无输出当 x = 3,y = 3 时,输出:z is 7 3.5 答:等价 3.6 答:switch变量可以是char, byte, short, int。
执行case语句后没有break,则继续执行下一个case语句。
switch可转换为等价的if语句(嵌套),反之不一定可以。
3.7 答:y的值是2。
3.8 答:switch(a){ case 1: x += 5; break; case 2: x += 10; break; case 3: x += 16; break; case 4: x += 34; } 3.9 答:System.out.print(count + (count % 10 == 0 ? “\n“ : ““)); 3.10 答:(a)执行0次,无输出(b)执行9次,输出如下:3 5 7 9 3.11 答:(略)3.12 答:相同,均为45。
3.13 答:for(int i = 1; i System.out.println(i); 3.14 答:无限循环。
3.15 答:不能。
3.16 答:能。
(略)3.17 答:(略)3.18 答:(a)输出:balance is 1 (b)不能结束(编译有错,输出语句执行不到)3.19 答:能。
(略)3.20 答:int i=0; while(iif(i%3==0){ i++; continue; } sum += i; i++; } 3.21 答:(a)主方法如下:public static void main(String[] args) { int sum = 0; int number = 0; while(number number++; sum += number; } System.out.println(“The number is “ + number); System.out.println(“The sum is “ + sum); } (b)主方法如下:public static void main(String[] args) { int sum = 0; int number = 0; while(number number++; if(!(number == 10 || number == 11)) sum += number; } System.out.println(“The number is “ + number); System.out.println(“Thesum is “ + sum); } 3.22 答:执行next:后面的语句。
3.1.2选择结构的⼏种形式 选择结构通过判断某些特定条件是否满⾜来决定下⼀步的执⾏流程,是⾮常重要的控制结构。
常见的有单分⽀选择结构、双分⽀选择结构、多分⽀选择结构以及嵌套的分⽀结构,形式⽐较灵活多变,具体使⽤哪⼀种最终还是取决于要实现的业务逻辑。
循环结构和异常处理结构中也可以带有else⼦句,也可以看作是特殊形式的选择结构。
1 单分⽀选择结构 单分⽀选择结构是最简单的⼀种形式,其语法如下所⽰,其中表达式后⾯的冒号“:”是不可缺少的,表⽰⼀个语句块的开始,后⾯⼏种其他形式的选择结构和循环结构中的冒号也是必须要有的。
if 表达式: 语句块 当表达式值为True或其他等价值时,表⽰条件满⾜,语句块将被执⾏,否则该语句块将不被执⾏,继续执⾏后⾯的代码(如果有)。
1 >>> x = input('Input two numbers:')2 Input two numbers:3 43 >>>4 >>> a,b = map(int,x.split())5 >>>6 >>> a7 38 >>> b9 410 >>>11 >>> if b > a:12 a,b = b,a #序列解包,交换两个变量的值131415 >>> print(a,b)16 4 317 >>> 注意:在Python中,代码的缩进⾮常重要,缩进是体现代码逻辑关系的重要⽅式,同⼀个代码块必须保证相同的缩进量。
养成习惯,严格遵循这个要求吧。
2 双分⽀选择结构 双分⽀选择结构的语法为: if 表达式: 语句块 1 else: 语句块 2 当表达式值为True或其他等价值时,执⾏语句块 1 ,否则执⾏语句块 2。
代码⽰例如下:1 l = [ '1','2','3','4','5' ]23if l:4print(l)5else:6print('Empty')789# 执⾏结果:['1', '2', '3', '4', '5'] 拓展知识:Python还提供了⼀个三元运算符,可以实现与选择结构相似的效果。
Java编程基础-选择和循环语句⼀、选择结构语句选择结构:也被称为分⽀结构。
选择结构有特定的语法规则,代码要执⾏具体的逻辑运算进⾏判断,逻辑运算的结果有两个,所以产⽣选择,按照不同的选择执⾏不同的代码。
语⾔提供了两种选择结构语句:if语句和switch语句1、if语句if语句有三种语法格式。
(1)、if语句第⼀种语法格式(适合⼀种判断)if(条件表达式){语句体;}执⾏流程:判断条件表达式的结果,当为为true时,{}中的执⾏语句体才会执⾏,否则不执⾏语句体。
注意:条件表达式的结果必须是布尔类型;if如果控制的语句只有⼀条,可以不写中括号{},直接跟语句体,但如果跟多条语句,⼤括号不能省略,建议两种情况下都写。
代码⽰例演⽰:[java]//if语句第⼀种语法格式int i=6;if(i%2==0){System.out.println("if条件为true");}System.out.println("over");输出结果为:if条件为trueover(2)、if语句第⼆种语法格式(适合两种判断)if(条件表达式){语句体1;}else{语句体2;}执⾏流程:同样先判断条件表达式的结果,如果为true,则执⾏语句体1,为false则执⾏语句体2.代码⽰例演⽰:[java]//if语句第⼆种语法格式int j=-2;if(j>0){System.out.println(j+"为正数");}else{System.out.println(j+"为负数");}System.out.println("over");输出结果为:-2为负数over(3)、if语句第三种语法格式(适合多种判断)if(条件表达式1){语句体1;}else if(条件表达式2){语句体2;}......else if(条件表达式n){语句体n;}else{语句体n+1;}执⾏流程:⾸先判断条件表达式1的结果,如果为true,则执⾏语句体1,为false则继续判断条件表达式2的结果,如果为true,则执⾏语句体2,为false则继续判断下⼀个条件表达式的结果,以此类推,如果所有的判断条件都为false,则意味着所有的条件均未得到满⾜,则执⾏语句体n+1。
第三章判断题在选择结构中是必需地.()语句在选择结构地中是必需地.().如果>为真或.在包含运算符地表达式中,如果它地一个或两个操作数为真,则该表达式为真.()结构和结构所做地动作是相同.().想确保当两个条件都为时才执行某一动作,可以使用逻辑与运算符.().若要确定两个条件中是否有一个为或都为时,可使用逻辑异或^.().布尔逻辑与和布尔逻辑或运算符地工作方式完全相同.().结构化方法地优点在于,只允许使用种单入口单出口地组件.().结构化程序设计提高了程序地清晰简单性,并且它只需使用三种形式地控制结构就足够了.()第三章选择题.所有地程序均可以用几种类型控制结构编写:.顺序结构、选择结构、循环结构.顺序结构、循环结构.顺序结构、选择结构.选择结构、循环结构.当条件为真和条件为假时,▁▁控制结构可以执行不同地动作......当事先不知道语句重复执行地次数时,可以用一个▁▁值来终止循环..布尔.正.标记.负.使整值变量加,下面写出地形式不对地是:.....下面程序地输出结果是:{( ){ { (“ ”);}( >);}( []){;();();}}.....下面程序地那一行可能引发错误::(){:;:;:( >){:*;:(“ ”);:;:;:}:}.....下面程序地那一行可能引发错误::;:(( )( () > ){:(“ ”);:}:(( )(() < ){:(“ ”);:}:{ (“”); }.....如果是布尔变量,下面哪个选项是正确地:.;.(){ …}.(){ …}.;.请看下面地程序代码:(>) { (“”);}(<) { (“”);}{ (“”) }当程序输出“”时,地范围为:.<.>.>.请看下面地程序代码:() {: (“”);:: (“”); ;: (“”);}当为何值时,程序段将输出字符串:....第三章程序设计题.编写一个应用程序,计算和打印从加到地累加和.用结构循环执行计算及加语句.循环必须在加到时终止. .求出三个整数地最小值..编写一个程序接收用户输入地一个—之间地整数(如果输入地数据不满足这个条件,则要求用户重新输入),利用语句输入对应地月份地天数.第三章判断题答案.难度:容易答案:错误知识点:可缺省,若不需要缺省地操作,就可以不写项..难度:容易答案:错误知识点:语句用于退出结构,当作为结构地最后一种情况时,可以不写语句..难度:容易答案:错误知识点:使用运算符地表达式,只有两个操作数都为真时该表达式才为真..难度:容易答案:正确知识点:或()运算符地使用..难度:容易答案:错误知识点:结构仅选择或忽略某一个动作,要在不同地动作之间做选择..难度:容易答案:正确知识点:逻辑与地使用..难度:容易答案:错误知识点:应该使用逻辑或运算符..难度:适中知识点:布尔逻辑与和布尔逻辑或运算符地工作方式与逻辑与和逻辑或运算符除了短路计值一点外完全相同..难度:容易答案:错误知识点:还有两种组合方式..难度:适中答案:正确知识点:结构化程序设计地优点.第三章选择题答案.难度:容易答案:知识点:所有地程序均可以用顺序结构、选择结构、循环结构三种类型控制结构编写..难度:容易答案:知识点:当条件为真和条件为假时,控制结构可以执行不同地动作..难度:容易答案:知识点:标记值地使用..难度:容易答案:知识点:赋值运算符应该是 ..难度:适中答案:知识点:循环地使用..难度:适中答案:知识点:变量应该在使用前要被初始化..难度:适中答案:知识点:是布尔运算与,而是逻辑运算与..难度:容易答案:知识点:布尔变量不能被赋予数值..难度:容易答案:知识点:如果小于,则必须小于..难度:容易答案:知识点:没有在和语句地后面.第三章程序设计题答案.难度:容易答案:源程序{( []){;;;( < ){;;}(“ :” );}}知识点:对循环结构地调用..难度:适中答案:源程序.*;.*;.*;{;;;;(){("请先输入三个待比较地整数");();();();("比较");();();();();();();}( ){(());(());(<)(<);;(<);;("三数中地最小值是:" );}}知识点:综合训练前三章所学内容. .难度:适中答案:源程序.*;{( []){;{{("请输入~之间地一个整数:");( ());();();}( ){("输入格式错误.");;}( ){(());();}( < > );(){:("月份有天.");;:("月份有或天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;:("月份有天.");;}}}知识点:利用结构进行编程.。
java选择结构语句
Java选择结构语句包括if语句、switch语句。
1. if语句:
if语句用于根据条件执行不同的代码块。
语法如下:
```
if (条件) {
// 代码块
}
```
如果条件成立,则执行if语句中的代码块。
如果条件不成立,if语句中的代码块将被跳过。
if语句还可以和else语句一起使用,如下所示:
```
if (条件) {
// 代码块1
} else {
// 代码块2
}
```
如果条件成立,则执行代码块1;否则执行代码块2。
2. switch语句:
switch语句用于根据不同条件执行不同的代码块。
语法如下:```
switch (表达式) {
case 值1:
// 代码块1
break;
case 值2:
// 代码块2
break;
...
default:
// 默认代码块
break;
}
```
switch语句会匹配表达式的值和相应case中的值,如果匹配成功,则执行对应的代码块。
如果没有匹配成功,则执行默认代码块。
在case代码块中必须使用break语句来结束代码块,否则会继续执行下一个case代码块。
14、if语句的使用If语句格式:(条件表达式成立,则运行花括号内语句,如不成立则跳过花括号内语句继续运行程序)If(条件表达式){//语句}import java.util.*;//*代表导入java.util内所有东西,其中包含后将引用的Scanner变量public class Test{public static void main(String[] args){Scanner in=new Scanner(System.in);System.out.println(“请输入你的成绩:”);int score=in.nextInt();If(score>90){System.out.println(“你的成绩为A级”);}System.out.println(“请继续输入你的成绩”);}}import java.util.*;//*代表导入java.util内所有东西,其中包含后将引用的Scanner变量public class Test{public static void main(String[] args){Scanner input=new Scanner(System.in);System.out.println(“请输入你的成绩:”);int score=input.nextInt();if(score>90==false){// if语句条件为输入分数>90恒等于falseSystem.out.println(“你的成绩为A级”);}System.out.println(“请继续输入你的成绩”);}}注:所有逻辑运算符都只能针对boolean类型进行操作,其他int、double类型都会导致报错。
import java.util.*;//*代表导入java.util内所有东西,其中包含后将引用的Scanner变量public class Test{public static void main(String[] args){Scanner input=new Scanner(System.in);System.out.println(“请输入你java的成绩:”);int java=input.nextInt();System.out.println(“请输入你的SQL成绩:”)int sql=input.nextInt();if(!(java>90)&&sql>90){//成立条件:!(java>90)为真,且sql>90为真System.out.println(“你的成绩为A级”);}System.out.println(“请继续输入你的成绩”);15、运算符的优先级(从左至右依次降低)·、()、[]、正号+、-负号、!、*、/、%、+、-、<、<=、>、>=、= =、!=、&&、||、……16、if-else分支结构介绍if-else语句结构:if条件成立,运行语句1花括号里面的内容,否则运行语句2花括号里面的内容。
if(条件表达式){//语句1}else{//语句2}import java.util.*;public class Else{public static void main(String[] args){Scanner input=new Scanner(System.in);System.out.println(“请输入你的成绩:”);int score=in.nextInt();if(Score>90){System.out.println(“奖励你一支棒棒糖!”)}else{System.out.println(“面壁思过!”)}System.out.println(“测试”);}}17、多重if结构的使用import java.util.*;public class If_Else{public static void main(String[] args){Sacanner input=new Scanner(System.in);System.out.println(“please input your score:”);int score=input.nextInt();/*if(score>=90){System.out.println(“A+”);}if(score>=80&& score<90){System.out.println(“B+”);}if(score>=60&& score<80){System.out.println(“C+”);}if(score<60){System.out.println(“D”);}*/if(score>=90){System.out.println(“A+”);}else if(score>=80){System.out.println(“B+”);}else if(score>=60){System.out.println(“C+”);}else{System.out.println(“D”);}}}18、if嵌套结构import java.util.*;public class If_Else{pulic static void main(String[] args){Scanner input=new Scanner(System.in);String sex=input.next();//这里用input.next(),而不是input.nextString()System.out.println(“请输入你的性别:”);If(sex.equals(“男”)){/* 这里用sex.equals(“男”),而不是sex= =“男”*/System.out.println(“性别:男”);Int age=input.nextInt();System.out.println(“请输入你的年龄:”);if(age>=18){System.out.println(“成年人”);}else{System.out.println(“未成年人”);}}else{System.out.println(“性别:女”);}}}19、switch多分支结构import java.util.*;public class If_Else{public static void main(String[] args){Sacanner input=new Scanner(System.in);System.out.println(“please input your score:”);int score=input.nextInt();/*if(score==1){System.out.println(“A+”);}if(score==2){System.out.println(“B+”);}if(score==3){System.out.println(“C+”);}if(score>3){System.out.println(“D”);}*/switch(score){/*score同样可为表达式或某值,区别于if结构,这里变量为char或者int类型,而if结构则必须为boolean类型*/case 1:System.out.println(“A+”);break;/*当花括号内遇到case常量与score一致是,程序开始从该case开始w往下执行,如没有break,程序会一直往下执行,直到遇到第一个break才会跳出该switch*/Case 2:System.out.println(“B+”);break;case 3:System.out.println(“C+”);break;default:System.out.println(“D”);break;}}}20、实例:判断输入的数字是奇数还是偶数。
import java.util.*;public class Number{public static void main(String[] args){Scanner input=new Scanner(System.in);System.out.println(“请输入一个正整数:”);int number=input.nextInt();if(number<=0){System. out.println(“您所输入的数字有误,请重新输入!”);}else{if(number%2==0){System. out.println(number+“是一个偶数”);}else{System. out.println(number+“是一个奇数”);}}}}21、随机数变量类型Random的应用实例/*import java.util.Random;public class Random_1{public static void main(String[] args){Random x=new Random();//注意与Scanner的区别int number=x.next.Int(10); //10限定随机数取值范围为1-9System.out.println(“随机数为”+number);}}*/public class Random_1{public static void main(String[] args){System.out.println(“Math.random()*10”);//输出结果为小于10的double类型System.out.println(“(int)Math.random()*10”);//强制转换为int类型}}22、实例:猜拳游戏import java.util.*;public class Guess_1{public static void main(String[] args){Scanner gamer=new Scanner(System.in);Random computer=(int)Math.random()*3+1;System.out.println(“-----猜拳游戏-----”);System.out.println(“请出拳:1为石头,2为剪刀,3为布”);String Marks_1=“gamer拳头”//标记拳头String Marks_2=“computer拳头”//标记拳头Switch(gamer){//将玩家拳头数字转换为字符串输出case 1:Marks_1=”剪刀”;Break;case 2:Marks_1=”石头”;Break;case 2:Marks_1=”布”;Break;}Switch(computer){ //将电脑拳头数字转换为字符串输出case 1:Marks_2=”剪刀”;Break;case 2:Marks_2=”石头”;Break;case 2:Marks_2=”布”;Break;}if(gamer==computer){System.out.println(“你出的是:”+Marks_1+“你出的是:”+Marks_2+ “此局为平局”);}else if(gamer==1&&computer==3|| gamer==2&&computer==1|| gamer==3&&computer==1){System.out.println(“你出的是:”+Marks_1+“你出的是:”+Marks_2+ “此局电脑赢”);}slse{System.out.println(你出的是:”+Marks_1+“你出的是:”+Marks_2+ “此局你赢”);}}}}。