本帖最后由 小鲁哥哥 于 2017-3-4 16:44 编辑
【济南中心】JavaEE基础班新课程day03:选择和循环
大家学完前两天的课程什么感觉?是感觉收获了很多,还是感觉哪里没解释清楚?请留言评论给我哦。{:8_468:}
大家对于编程有了基本的认识,变量,常量,数据类型,运算符,键盘录入等等知识点你是否清楚了呢?盖大楼可是要先打好地基的
每天的知识都要掌握。 来检查一下吧!{:8_472:} [Java] 纯文本查看 复制代码 byte b1 = 3, b2 = 4,b;
b=b1+b2;
b=3+4; 这三行代码哪行会报错?
答案: b=b1+b2;会报错 因为此运算为byte类型的运算,低于int类型的运算时会自动提升为int类型。 把 int类型的值赋值给byte会损失精度,需要强制类型转换。 b=(byte)b1+b2; 怎么样?是不是学会了呢?{:8_497:}
再说一下同学常见得问题: 有的同学软件遇到了问题,eclipse突然打不开了?如下图: 这样是说创建java虚拟机失败,原因是你的内存不够用了,因为创建虚拟机需要分配给他内存空间。 解决办法是打开你的eclipse安装位置,找到eclipse.ini文件,右键-编辑 打开以后看到如下的一些文字: 找到里面的256,1024这些数字把它改为128就可以啦,保存后再打开eclipse是不是ok了?{:8_492:}
好,接下来我们进入第三天的学习,看看今天的主要学习目标吧!
【学习目标】理解、了解、应用、记忆
通过今天的学习,希望大家能够:(解释的时候说出二级目标的掌握程度)
1. 【应用】能够独立使用选择流程语句完成指定操作 a. 【理解】阐述if语句的的第一种第二种及第三种书写格式及执行流程 b. 【应用】独立编写代码,使用if语句完成获取两个数较大值的练习 c. 【应用】独立编写代码,使用if语句完成判断学生等级练习 d. 【理解】阐述switch语句的的格式及执行流程 e. 【应用】独立编写代码,使用switch语句完成根据数字输出对应星期的练习
2. 【理解】能够独立使用循环控制语句完成指定操作 a. 【理解】阐述使用for循环的基本格式及执行流程 b. 【应用】独立编写代码,使用for循环完成获取1-5之间数据之和 c. 【应用】独立编写代码,使用for循环完成获取1-100之间的偶数和 d. 【应用】独立编写代码,使用for循环完成控制台打印100-999之间水仙花数,并获取水仙花个数练习 e. 【理解】阐述while循环的基本格式及执行流程 f. 【应用】独立编写代码,使用while循环完成1-100之间数据之和 g. 【理解】阐述do…while循环的格式及执行流程 h. 【理解】阐述for、while、do…while三种循环的区别
3. 【应用】能够灵活使用控制循环语句 a. 【理解】阐述break的作用及使用场景 【理解】阐述continue的作用及使用场景
1 选择流程控制语句 1. 顺序结构概述是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的
[Java] 纯文本查看 复制代码 /*
* 顺序结构:从上往下,依次执行
*/
public class OrderDemo {
public static void main(String[] args) {
System.out.println("开始");
System.out.println("语句A");
System.out.println("语句B");
System.out.println("语句C");
System.out.println("结束");
}
}
i. If语句格式1及执行流程if语句第一种格式: if(关系表达式) { 语句体 } 执行流程: 首先判断关系表达式看其结果是true还是false 如果是true就执行语句体 如果是false就不执行语句体
[Java] 纯文本查看 复制代码 public class IfDemo {
public static void main(String[] args) {
System.out.println("开始");
// 定义两个变量
int a = 10;
int b = 20;
if (a == b) {
System.out.println("a等于b");
}
int c = 10;
if (a == c) {
System.out.println("a等于c");
}
System.out.println("结束");
}
}
i. If语句格式2及执行流程
if语句第二种格式: if(关系表达式) { 语句体1; }else { 语句体2; } 执行流程 首先判断关系表达式看其结果是true还是false 如果是true就执行语句体1 如果是false就执行语句体2
[Java] 纯文本查看 复制代码 public class IfDemo2 {
public static void main(String[] args) {
System.out.println("开始");
// 判断给定的数据是奇数还是偶数
// 定义变量
int a = 100;
// 给a重新赋值
a = 99;
if (a % 2 == 0) {
System.out.println("a是偶数");
} else {
System.out.println("a是奇数");
}
System.out.println("结束");
}
}
i. If语句格式3及执行流程
if语句第三种格式: if(关系表达式1) { 语句体1; }else if (关系表达式2) { 语句体2; } … else { 语句体n+1; } 执行流程 首先判断关系表达式1看其结果是true还是false 如果是true就执行语句体1 如果是false就继续判断关系表达式2看其结果是true还是false 如果是true就执行语句体2 如果是false就继续判断关系表达式…看其结果是true还是false … 如果没有任何关系表达式为true,就执行语句体n+1
[Java] 纯文本查看 复制代码 int x = 5;
int y = 0;
if (x >= 3) {
y = 2 * x + 1;
} else if (x >= -1 && x < 3) {
y = 2 * x;
} else if (x <= -1) {
y = 2 * x - 1;
}
System.out.println("y的值是:"+y);
来练习一下吧
if语句实现判断学生等级:键盘录入学生考试成绩,请根据成绩判断该学生属于哪个级别 * 90-100 优秀 * 80-90 好 * 70-80 良 * 60-70 及格 * 60以下 不及格
自己先思考再看答案吧!
答案:
[Java] 纯文本查看 复制代码 public static void main(String[] args) {
//创建对象
Scanner sc = new Scanner(System.in);
//接收数据
System.out.println("请输入学生的考试成绩:");
int score = sc.nextInt();
if(score<0 || score>100){
System.out.println("你的成绩是错误的");
}else if(score>=90 && score<=100){
System.out.println("你的成绩属于优秀");
}else if(score>=80 && score<90){
System.out.println("你的成绩属于好");
}else if(score>=70 && score<80){
System.out.println("你的成绩属于良");
}else if(score>=60 && score<70){
System.out.println("你的成绩属于及格");
}else {
System.out.println("你的成绩属于不及格");
}
}
switch语句的格式及执行流程
switch表示这是switch语句 表达式的取值:byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是String case后面跟的是要和表达式进行比较的值 语句体部分可以是一条或多条语句 break表示中断,结束的意思,可以结束switch语句 default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
执行顺序:
首先计算出表达式的值 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
看这个代码:
[Java] 纯文本查看 复制代码 public class SwitchDemo {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//接收数据
System.out.println("请输入一个数字(1-7):");
int weekday = sc.nextInt();
//switch语句实现选择
switch(weekday) {
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;
}
}
}
你能看懂这个代码的作用吗?如果你不确定的话可以运行一下试试哦~这里我就卖个关子,动动手吧!
2 循环流程控制语句
接下来是循环了!循环?单曲循环,就是一遍又一遍啊,计算机对于简单的重复命令执行起来是非常快的,利用这点学会了循环我们可以利用计算机做很多费时的计算工作。来看看吧!
a. for循环语句格式:
循环体语句; } 如果我让你从0数到1万你需要几分钟?估计要数很久了,那交给计算机的话你猜需要多久? 你可以用for循环打印0到1万的数字,或者浪漫一点输出1万次 i love u{:8_503:}
怎么用代码实现?自己试试!
[Java] 纯文本查看 复制代码 for(int x=0; x<10000; x++) {
System.out.println("i love u");
}
现在我们把for和if结合起来做个小练习:
输出3位数中的所有水仙花数,并统计总个数。
什么是水仙花数呢? 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 举例:153就是一个水仙花数。53= 1*1*1 + 5*5*5 + 3*3*3 这个题我就不给代码啦,自己试试吧!
b: while循环 基本格式
while(判断条件语句) { 循环体语句; }
扩展格式 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; }
和刚才for有点相似,在一定程度上可以替换使用。现在让我们用while输出10次 小鲁哥哥你好棒棒吧!{:8_492:}
[Java] 纯文本查看 复制代码 while(x<=10) {
System.out.println("小鲁哥哥你好棒棒!");
x++;
}
哈哈,很棒,接下来还有个do…while和控制语句,学完就收工啦~加油~ 基本格式 do { 循环体语句; }while((判断条件语句); 扩展格式 初始化语句; do { 循环体语句; 控制条件语句; } while((判断条件语句);
c. 三种循环的区别虽然可以完成同样的功能,但是还是有小区别: do…while循环至少会执行一次循环体。 for循环和while循环只有在条件成立的时候才会去执行循环体 for循环语句和while循环语句的小区别: 使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
3 控制跳转语句
a) 控制跳转语句break
break的使用场景: 在选择结构switch语句中 在循环语句中 离开使用场景的存在是没有意义的 break的作用: 跳出单层循环
[Java] 纯文本查看 复制代码 public class BreakDemo {
public static void main(String[] args) {
//break;
for(int x=1; x<=10; x++) {
if(x == 3) {
break;
}
System.out.println("HelloWorld");
}
}
}
b) 控制跳转语句continue
在循环语句中 离开使用场景的存在是没有意义的 continue的作用: 单层循环对比break,然后总结两个的区别 break 退出当前循环 continue 退出本次循环继续下次循环
[Java] 纯文本查看 复制代码 public class ContinueDemo {
public static void main(String[] args) {
//continue;
for(int x=1; x<=10; x++) {
if(x == 3) {
//break;
continue;
}
System.out.println("HelloWorld");
}
}
}
大家好好加油,有什么问题和意见就评论留言吧!互相加油鼓励也可以~
|