目录

和C都一样

switch

for

while

do while

循环嵌套

循环跳转


switch

/*switch语句格式:switch(表达式) {case 值1:语句体1;break;case 值2:语句体2;break;...default:语句体n+1;break;}格式的解释:switch:表示这是switch选择结构表达式:这个地方的取值是有限定的byte,short,int,charJDK5以后可以是枚举JDK7以后可以是字符串case:后面跟的是要和表达式进行比较的值语句体:要执行的代码break:表示中断,结束的意思,可以控制switch语句的结束。default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。面试题:byte可以作为switch的表达式吗?long可以作为switch的表达式吗?String可以作为switch的表达式吗?案例:键盘录入一个数据,根据这个数据,我们输出对应的星期?键盘录入1,对应输出星期一键盘录入2,对应输出星期二...键盘录入7,对应输出星期日分析:1:键盘录入,用Scanner实现2:判断我们既可以使用if语句,也可以使用我们要讲解的switch语句注意:A:遇到左大括号缩进一个tab的位置。B:关联不是很大的语句间空行
*/
import java.util.Scanner;class SwitchDemo {public static void main(String[] args) {//创建键盘录入对象Scanner sc = new Scanner(System.in);//控制键盘录入数据System.out.println("请输入一个数据(1-7):");int week = sc.nextInt(); //3//switch判断语句switch(week) {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;}}
}
/*switch语句的注意事项:A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的B:default可以省略吗?可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。特殊情况:case就可以把值固定。A,B,C,DC:break可以省略吗?可以省略,但是结果可能不是我们想要的。会出现一个现象:case穿透。最终我们建议不要省略D:default一定要在最后吗?不是,可以在任意位置。但是建议在最后。E:switch语句的结束条件a:遇到break就结束了b:执行到末尾就结束了
*/
import java.util.Scanner;class SwitchDemo2 {public static void main(String[] args) {//创建键盘录入对象Scanner sc = new Scanner(System.in);//控制键盘录入数据System.out.println("请输入一个数据(1-7):");int week = sc.nextInt(); //3//定义常量//int number = 3;//然后把case后面的值改为number,就会报错//switch判断语句switch(week) {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;}}
}
/*模拟单项选择题。分析:A:出一个选择题,然后供你选择。B:键盘录入选择的数据。C:根据选择来给出你选择的结论。
*/
import java.util.Scanner;class SwitchTest2 {public static void main(String[] args) {//出一个选择题,然后供你选择。//由于我们现在没有办法键盘录入得到一个'A','B'//这样的东西,我就用65,66这样的值替代//将来我们获取到这样的值以后,强制转换为字符类型System.out.println("下面的几个人你最爱谁?");System.out.println("65 林青霞");System.out.println("66 张曼玉");System.out.println("67 刘德华");System.out.println("68 王力宏");//键盘录入选择的数据。Scanner sc = new Scanner(System.in);System.out.println("请输入你的选择:");int choiceNumber = sc.nextInt();//强制转换为字符类型char choice = (char) choiceNumber;switch(choice) {case 'A':System.out.println("恭喜你,选择正确");break;case 'B':System.out.println("不好意思,你选择有误");break;case 'C':System.out.println("不好意思,你选择有误");break;case 'D':System.out.println("不好意思,你选择有误");break;default:System.out.println("没有该选项");break;}}
}
/*根据你键盘录入的字符串,判断是否有满足要求的,如果有就输出。否则,提示有误。String s = sc.nextLine();
*/
import java.util.Scanner;class SwitchTest3 {public static void main(String[] args) {//创建键盘录入对象Scanner sc = new Scanner(System.in);//录入数据System.out.println("请输入你要判断的字符串:");String s = sc.nextLine();switch(s) {case "hello":System.out.println("你输入的是hello");break;case "world":System.out.println("你输入的是world");break;case "java":System.out.println("你输入的是java");break;default:System.out.println("没有找到你输入的数据");//break;}}
}
/*用switch语句实现键盘录入月份,输出对应的季节分析:A:键盘录入一个月份,用Scanner实现B:用switch语句实现即可if语句和switch语句的区别?if语句:A:针对结果是boolean类型的判断B:针对一个范围的判断C:针对几个常量值的判断switch语句:针对几个常量值的判断
*/
import java.util.Scanner;class SwitchTest4 {public static void main(String[] args) {//创建键盘录入对象Scanner sc = new Scanner(System.in);//录入数据System.out.println("请输入月份(1-12):");int month = sc.nextInt();/*switch(month) {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;case 8:System.out.println("夏季");break;case 9:System.out.println("秋季");break;case 10:System.out.println("秋季");break;case 11:System.out.println("秋季");break;case 12:System.out.println("冬季");break;default:System.out.println("你输入的月份有误");}*///这样写太麻烦了,我们使用一个我们不想使用的东西:case穿透switch(month) {case 1:case 2:case 12:System.out.println("冬季");break;case 3:case 4:case 5:System.out.println("春季");break;case 6:case 7:case 8:System.out.println("夏季");break;case 9:case 10:case 11:System.out.println("秋季");break;default:System.out.println("你输入的月份有误");}}
}

for

/*需求:A:求1-100之和。B:求出1-100之间偶数和C:求出1-100之间奇数和(自己做)
*/
class ForDemo4 {public static void main(String[] args) {//求1-100之和。int sum1 = 0;for(int x=1; x<=100; x++) {sum1 +=x;}System.out.println("1-100之和是:"+sum1);System.out.println("------------------");//求出1-100之间偶数和//方式1int sum2 = 0;for(int x=1; x<=100; x++) {if(x%2 == 0) {sum2 += x;}}System.out.println("1-100偶数之和是:"+sum2);System.out.println("------------------");//方式2int sum3 = 0;for(int x=0; x<=100; x+=2) {sum3 += x;}System.out.println("1-100偶数之和是:"+sum3);System.out.println("------------------");}
}

while

/*练习:用while循环实现左边:求出1-100之和右边:统计水仙花数有多少个初始化语句;while(判断条件语句) {循环体语句;控制条件语句;}for(初始化语句;判断条件语句;控制条件语句) {循环体语句;}*/
class WhileDemo2 {public static void main(String[] args) {//求出1-100之和//for语句版本int sum = 0;for(int x=1; x<=100; x++) {sum+=x;}System.out.println("sum:"+sum);System.out.println("--------");//while语句版本int sum2 = 0;int y=1;while(y<=100) {sum2+=y;y++;}System.out.println("sum2:"+sum2);System.out.println("--------");}
}
/*我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?分析:A:定义一个统计变量,默认值是0B:最高山峰是珠穆朗玛峰:8848m这是最终的厚度我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度C:我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?折叠一次有什么变化呢?就是厚度是以前的2倍。D:只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++E:输出统计变量。
*/class WhileDemo5 {public static void main(String[] args) {//定义一个统计变量,默认值是0int count = 0;//最高山峰是珠穆朗玛峰:8848m这是最终的厚度//我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度//为了简单,我把0.01变成1,同理8848就变成了884800int end = 884800;int start = 1;while(start<end) {//只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++count++;//折叠一次有什么变化呢?就是厚度是以前的2倍。start *= 2;System.out.println("第"+count+"次厚度是"+start);}//输出统计变量。System.out.println("要叠"+count+"次");}
}

do while

/*do...while循环的基本格式:do {循环体语句;}while(判断条件语句);扩展格式;初始化语句;do {循环体语句;控制条件语句;}while(判断条件语句);
*/
class DoWhileDemo {public static void main(String[] args) {//输出10次HelloWorld。int x = 0;do {System.out.println("HelloWorld");x++;}while(x<10);System.out.println("--------------");//求和1-100int sum = 0;int a = 1;do {sum += a;a++;}while(a<=100);System.out.println(sum);}
}

循环嵌套

/*需求:请输出一个4行5列的星星(*)图案。结果:********************循环嵌套:就是循环语句的循环体本身是一个循环语句。通过结果我们知道这样的一个结论:外循环控制行数内循环控制列数
*/
class ForForDemo {public static void main(String[] args) {//原始做法System.out.println("*****");System.out.println("*****");System.out.println("*****");System.out.println("*****");System.out.println("-------------");//虽然可以完成需求,但是不是很好//如果是多行多列就会比较麻烦//所以我们准备改进//如何改进呢?//我先考虑如何实现一行*的问题//System.out.println("*****");//我们要想的是如何实现一次输出一颗*的问题//System.out.println("*");//System.out.println("*");//现在虽然可以一次一颗*,但是却换行了,我要求不能换行,怎么办呢?//输出语句的另一种格式:System.out.print(); 这个是不带换行的//System.out.print("*");//System.out.print("*");//System.out.print("*");//System.out.print("*");//System.out.print("*");//如果我要在一行上打出多颗*,比较麻烦,而代码是重复的,所以我决定用循环改进for(int x=0; x<5; x++) {System.out.print("*");}//我们可以通过空的输出语句实现换行:System.out.println();System.out.println();//既然我可以打出一行,我就可以打出第二行for(int x=0; x<5; x++) {System.out.print("*");}//我们可以通过空的输出语句实现换行:System.out.println();System.out.println();//同理打出第三行,第四行for(int x=0; x<5; x++) {System.out.print("*");}//我们可以通过空的输出语句实现换行:System.out.println();System.out.println();//既然我可以打出一行,我就可以打出第二行for(int x=0; x<5; x++) {System.out.print("*");}//我们可以通过空的输出语句实现换行:System.out.println();System.out.println();System.out.println("-----------------");//同样的代码出现了4次,说明我们程序写的不好,用循环改进for(int y=0; y<4; y++) {for(int x=0; x<5; x++) {System.out.print("*");}//我们可以通过空的输出语句实现换行:System.out.println();System.out.println();}}
}
/*需求:请输出下列的形状***************
*/
class ForForDemo2 {public static void main(String[] args) {//通过简单的观察,我们看到这是一个行是5,列数是变化的形状//我们先打印出一个5行5列的形状for(int x=0; x<5; x++) {for(int y=0; y<5; y++) {System.out.print("*");}System.out.println();}System.out.println("--------------");//我们实现了一个5行5列的形状//但是这不是我们想要的//我们要的是列数变化的//列数是如何变化的呢?//第一行:1列   y=0,y<=0,y++//第二行:2列  y=0,y<=1,y++//第三行:3列  y=0,y<=2,y++//第四行:4列  y=0,y<=3,y++//第五行:5列  y=0,y<=4,y++//在看外循环x的变化,恰好就是x=0,1,2,3,4//所以这个最终版的程序就是如下for(int x=0; x<5; x++) {for(int y=0; y<=x; y++) {System.out.print("*");}System.out.println();}}
}
/*需求:在控制台输出九九乘法表。首先我们写出九九乘法表:1*1=11*2=2  2*2=41*3=3    2*3=6  3*3=91*4=4    2*4=8  3*4=12 4*4=16...1*9=9    2*9=18 3*9=27 ...我们先把这个九九乘法表看出是这样的一个形状:*********************************************注意:'\x' x表示任意,这种做法叫转移字符。'\t' tab键的位置'\r'   回车'\n'    换行
*/
class ForForDemo3 {public static void main(String[] args) {for(int x=0; x<9; x++) {for(int y=0; y<=x; y++) {System.out.print("*");}System.out.println();}System.out.println("--------------");//为了使用数据,我们从1开始for(int x=1; x<=9; x++) {for(int y=1; y<=x; y++) {System.out.print(y+"*"+x+"="+y*x+"\t");}System.out.println();}}
}

循环跳转

package com.company;
import java.util.Scanner;public class JavaLearn {public static void main(String[] args){//每天要存储的钱是2.5元double dayMoney = 2.5;//存钱的初始化值是0double daySum = 0;//从第一天开始存储int dayCount = 1;//最终存储不小于100就不存储了int result = 100;//因为不知道是多少天,所以我用死循环,while(true) {//累加钱daySum += dayMoney;//一旦超过100元我就退出循环。if(daySum >= result) {System.out.println("共花了"+dayCount+"天存储了100元");break;}if(dayCount%5 == 0) {//花去6元钱daySum -= 6;System.out.println("第"+dayCount+"天花了6元钱");}//天数变化dayCount++;}}}

传智播客Java switch和循环相关推荐

  1. 传智java测试题答案_传智播客Java基础第一阶段习题

    关于java程序员面试的经典题目 传智播客Java基础第一阶段习题 一.单项选择题 1.Java源文件和编译后的文件扩展名分别为( ) A..class和 .java B..java和 .class ...

  2. 传智播客java测试题_传智播客Java基础综合测试题

    传智播客Java基础综合测试题 传智播客Java基础综合测试题 第一关 1.动手完成 Java 开发包的安装,并设置环境变量 Path . 2.编写一个程序,要求程序运行后在屏幕上输出: ****** ...

  3. java就业班学什么呀_传智播客JAVA就业班学习心得

    传智播客JAVA就业班学习心得 4月26日CVS---4月27日UML 连续两天状态很是不好,上课总是不能够集中精神.不知为什么听这两天课的时候精神很涣散,也不知道自己在想什么,一整天的课,似听非听的 ...

  4. 参加口碑最好的广州传智播客Java就业培训班吧

    参加口碑最好的广州传智播客Java就业培训班吧 广州传智播客Java培训课程与时俱进性与科学专业性,为广大学子省去了后顾之忧,其中JAVAEE+android3G/4G培训课程更是以科学的体系为支撑, ...

  5. 成都传智播客java培训中心

    "21世纪什么最重要.人才!" "IT世界里,人才是最宝贵的财富!" 成都传智播客java培训中心,自成立以来!以其雄厚的师资.真实的项目推动,帮助广大的学子走 ...

  6. 成都传智播客Java培训

    成都传智播客Java培训,严格按照北京传智播客的教育模式,为西南IT行业培养了许多优秀的软件开发工程师. 我们有专为0基础.或者基础不够硬的学员开设的Java基础与加强班,让你轻轻松松跨进Java的世 ...

  7. 传智播客java就业班入学测试题(自测+答案)

    ---------------------- ASP.Net+Android+IOS开发..Net培训.期待与您交流! ---------------------- 传智播客java就业班入学测试题 ...

  8. 广州Java培训机构之广州传智播客Java课程

    广州Java培训机构之广州传智播客Java课程      广州传智播客Java课程,全国领先的Java课程,一群敢于创新,勇于创新的精英老师.广州传智播客Java学科,从开设学科以来,秉承着张孝祥老师 ...

  9. 传智播客JAVA培训20100524SPRING SECURITY

    传智播客JAVA培训20100524SPRING SECURITY 这两天反反复复的看了佟刚老师的教育办公管理系统的项目视频,真是感觉到该老师真是强大,讲的项目非常有技术含量,虽然到现在我都还是半知半 ...

  10. 传智播客JAVA培训2010-4-29Lucene总结

    传智播客JAVA培训2010-4-29Lucene总结 今天心情不错,北京的天终于露出了太阳那花儿一般的脸蛋儿,心情也不由因此而生出喜悦,人总是会受环境的影响,下午回来新闻中我看到广东那边发生的事,我 ...

最新文章

  1. struct stat结构体的详解和用法
  2. 上海巴斯德所在新型冠状病毒早期进化机制方面取得进展
  3. mysql性能的介绍少_MySQL性能突然下降怎么回事 MySQL性能突然下降原因介绍
  4. 文章标题对网站优化有什么影响?
  5. 响应式网站——第二话(技术实现)
  6. 再读《精通css》06:背景图片
  7. “约见”面试官系列之常见面试题之第五十六篇之typeof返回的数据类型(建议收藏)
  8. smbd的安装与使用
  9. 一文带你搞懂从动态代理实现到Spring AOP
  10. Visio 2007中进行数据库建模时如何显示字段类型以及概念名称
  11. Java执行系统命令策略
  12. 继续发布分页类的BLL层和Interface层部分哈
  13. 明略数据(现在)是一家怎样的公司?
  14. java 汾_Javaweb学习 4
  15. win10如何删除微软拼音输入法
  16. 重装系统时的硬盘格式化
  17. GHOST系统(迅雷下载集合)
  18. 什么是供应链管理及其重要性?
  19. 店宝宝:双十一战线拉长,规则又复杂了吗?
  20. 罚钱太多,项目经理要起义,如何摆平项目管理考核这个大难题?

热门文章

  1. radius服务器mac_连如何抵御MAC攻击都不知道 过年还如何抵御三姑六婆的魔法攻击...
  2. rabbitmq python高性能开发_RabbitMQ工作队列实现高性能任务的负载分发[Python实例]...
  3. vue3 eslint吐槽记录
  4. windows GDI开发
  5. 得到照片_用PS制作重曝效果的人像艺术照片
  6. 12306一直提示网络有问题_春运10日拉开大幕 买票遇到问题?别慌!这里有答案...
  7. 多个安卓设备投屏到电脑_无线投屏器投屏不需要网络
  8. 计算机软件行业职业病,IT行业的六大职业病,看看你有没有中
  9. macos 管理员权限 黑苹果_Mac OS X 黑苹果系统安装驱动Kext方法
  10. c语言课程设计类层次图,C语言课程设计————写下流程图! 谢谢