目录

前置:

*. 从键盘读取数据:

1.导包 import java.util.Scanner;

2.创建对象 Scanner s = new Scanner(System.in);

3.调用方法 int age = s.nextInt();

//1.导包 import java.util.Scanner;

import java.util.Scanner;

public class ScannerTest{ public static void main(String[] args){ //2.创建对象 Scanner s = new Scanner(System.in); Scanner s = new Scanner(System.in); System.out.println("请输入您的名字"); String name = s.next(); System.out.println("请输入您的年纪"); //3.调用方法 int age = s.nextInt(); (对象名.方法名) int age = s.nextInt(); System.out.println("请输入您的成绩"); double score = s.nextDouble(); System.out.println("请输入您长的帅吗?(true/false)"); boolean handsome = s.nextBoolean(); System.out.println("名字=" + name); System.out.println("年纪=" + age); System.out.println("成绩=" + score); System.out.println("帅不帅=" + handsome); } }

1、分支结构

1.1if-else结构

格式1:

If(条件表达式){

执行语句;

}

如果条件表达式的结果为true则执行执行语句

格式2:二选一

If(条件表达式){

执行语句1:

}else{

执行语句2;

}

如果表达式的结果为true则执行 执行语句1,否则执行 执行语句2.

格式3:多选一

If(条件表达式1){

执行语句1;

}else if(条件表达式2){

执行语句2;

} else if(条件表达式3){

执行语句3;

}

......

else{

执行语句n;

}

哪个条件表达式的结果为true就执行相应的执行语句.

说明:

条件表达式的结果是布尔类型。

else可以省略

如果执行语句只能一句的话,大括号可以省略但不建议

多个条件表达式如果为互斥关系,谁上谁下都可以。如果为包含关系,范围小的在上面范围大的在下面。

public class IfTest{

public static void main(String[] args){ //第一种形式 boolean handsome = false; if(handsome){ System.out.println("伦家愿意的了"); } //第二种形式 int money = 50; if(money < 50){ System.out.println("人家不是那种人了"); }else{ System.out.println("千万别把我当人"); } //第三种形式 int age = 20; if(age < 18){ System.out.println("少儿不宜"); }else if(age >= 18 && age < 30){ System.out.println("别看片了还是和媳妇逛街去吧"); }else if(age >= 30 && age < 50){ System.out.println("看片多了吧,还是应该多运动"); }else{ System.out.println("年纪太大了,还是不玩了"); } System.out.println("---------------------------------------------------"); int score = 160; if(score == 100){ System.out.println(100); }else if(score > 90 && score < 100){ System.out.println("大于90"); } System.out.println("代码执行完毕"); } }

案例实操(1):

岳小鹏参加Java考试,他和父亲岳不群达成承诺:

如果:

成绩为100分时,奖励一辆BMW;

成绩为(80,99]时,奖励一台iphoneX;

当成绩为[60,80]时,奖励一个 iPad;

其它时,什么奖励也没有。

请从键盘输入岳小鹏的期末成绩,并加以判断

说明:

1.当有多个条件表达式时,如果多个条件表达式是互斥关系,谁上谁下都可以。

如果多个条件表达式是包含关系,范围小的在上面。范围大的在下面。

import java.util.Scanner;

public class IfTest3{ public static void main(String[] args){ //第一步 从键盘读取成绩 Scanner s = new Scanner(System.in); //创建对象 System.out.println("请输入小鹏鹏的成绩"); int score = s.nextInt(); //从键盘读取成绩 //第二步 使用 if-else if进行判断 /* if(score == 100){ System.out.println("不错不错给你一辆BMW"); }else if(score > 80 && score <= 99){ System.out.println("还可以给你iphoneX"); }else if(score >= 60 && score <= 80){ System.out.println("呐 给你一个ipad"); }else{ System.out.println("哼 还想要礼物 ,啥都没有"); } */ //带校验功能 /* if(score >= 0 && score <= 100){ if(score == 100){ System.out.println("不错不错给你一辆BMW"); }else if(score > 80){ System.out.println("还可以给你iphoneX"); }else if(score >= 60){ System.out.println("呐 给你一个ipad"); }else{ System.out.println("哼 还想要礼物 ,啥都没有"); } } */ if(score == 100){ System.out.println("不错不错给你一辆BMW"); }else if(score >= 60 && score <= 80){ System.out.println("呐 给你一个ipad"); }else if(score > 80 && score <= 99){ System.out.println("还可以给你iphoneX"); }else{ System.out.println("哼 还想要礼物 ,啥都没有"); } System.out.println("代码执行完毕"); } }

案例实操(2):

编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,

对它们进行排序(使用 if-else if-else),并且从小到大输出。

import java.util.Scanner;

public class IfTest4{ public static void main(String[] args){ //1.从键盘读取数据 Scanner s = new Scanner(System.in); System.out.println("请输入一个数"); int num1 = s.nextInt(); System.out.println("请输入一个数"); int num2 = s.nextInt(); System.out.println("请输入一个数"); int num3 = s.nextInt(); //比较前两个数的大小。再用第三个数和前两个数进行比较 if(num1 > num2){ //如果num3大于num1说明 num3 > num1 > num2 if(num3 > num1){ System.out.println(num2 + " " + num1 + " " + num3); }else if(num3 < num2){ //如果num3小于num2 说明 num1 > num2 > num3 System.out.println(num3 + " " + num2 + " " + num1); }else{ //其它 num1 > num3 > num2 System.out.println(num2 + " " + num3 + " " + num1); } }else{ //num1 <= num2 if(num3 > num2){ System.out.println(num1 + " " + num2 + " " + num3); }else if(num3 < num1){ System.out.println(num3 + " " + num1 + " " + num2); }else{ System.out.println(num1 + " " + num3 + " " + num2); } } } }

案例实操(3)

/*

(int)(Math.random() * 90 + 10) : 获取随机数

*/

public class IfTest6{ public static void main(String[] args){ //Math.random() 返回一个随机数,随机数的范围是 [0.0,1.0) int number = (int)(Math.random() * 90 + 10); System.out.println(number); } }

1.2 switch-case结构

格式:

switch(表达式){

case 常量1:

执行语句1;

break; case 常量2: 执行语句2; break; case 常量3: 执行语句3; break; default: 执行语句n; break; }

说明:

1.当执行switch-case时,会先根据switch中的变量的值,依次和case后面的常量进行匹配。一旦匹配成功,则执行相应的执行语句。如果该case中没有break则继续向下执行其它执行语句。直到遇到break或者到达该结构中的结尾则跳出switch-case结构。

2.break :可选。如果有break当执行语句遇到时则跳出switch-case结构.

3.default : 可选(位置是灵活的)。如果没有匹配成功的。则执行default中的执行语句。

4.表达式的类型只能是 byte short int char 枚举 String

5.case后面只能是常量

案例实操(1):

import java.util.Scanner;

public class SwitchTest{ public static void main(String[] args){ int a = 100; switch(a){ default: System.out.println("other"); //break; case 0: System.out.println("0"); //break; case 1: System.out.println("1"); //break; case 2: System.out.println("2"); //break; case 3: System.out.println("3"); //break; } String str = "a"; switch(str){ case "a": System.out.println("a"); break; case "b": System.out.println("b"); break; } } }

案例实操(2):

对学生成绩大于60分的,输出“合格”。低于60分的,输出“不合格”。

import java.util.Scanner;

public class SwitchTest3{ public static void main(String[] args){ Scanner s = new Scanner(System.in); System.out.println("请输入学生成绩"); int score = s.nextInt(); /* switch(score / 10){ case 0: case 1: case 2: case 3: case 4: case 5: System.out.println("不合格"); break; case 6: case 7: case 8: case 9: case 10: System.out.println("合格"); break; } */ switch(score / 60){ case 0: System.out.println("不合格"); break; case 1: System.out.println("合格"); break; } } }

案例实操(3):

编写程序:从键盘上输入2017年的“month”和“day”,要求通过程序输出输入的日期为2017年的第几天。

从键盘分别输入年、月、日,判断这一天是当年的第几天

注:判断一年是否是闰年的标准:

1)可以被4整除,但不可被100整除

2)可以被400整除

import java.util.Scanner;

public class SwitchTest4{ public static void main(String[] args){ Scanner s = new Scanner(System.in); System.out.println("请输入年份"); int year = s.nextInt(); System.out.println("请输入月份"); int month = s.nextInt(); System.out.println("请输入日期"); int day = s.nextInt(); int sumDay = 0; //记录总天数 switch(month){ case 3: //sumDay += 28; //sumDay = sumDay + 28; if((year % 400 == 0 )|| (year % 4 == 0 && year % 100 != 0)){ sumDay += 29; }else{ sumDay += 28; } case 2: sumDay += 31;//sumDay = sumDay + 31; case 1: sumDay += day;//sumDay = sumDay + day; } System.out.println(year + "-" + month + "-" + day + ",是当年的第" + sumDay + "天"); } }

2、循环结构

循环的四个部分:

1.初始化条件

2.循环条件

3.循环体

4.迭代条件

2.1 循环: for循环

格式 :

for(初始化条件; 循环条件;迭代条件){

循环体

}

for(1; 2;4){

}

循环顺序 : 1- 2 - 3 - 4 - 2 - 3 - 4 ...... 2

public class ForTest{

public static void main(String[] args){ //需求: 打印五遍我爱苍老师 //注意 : 循环条件结果为false时跳出循环体,结果为true时执行循环体 /* int i = 0; for(; i < 5; i++){ System.out.println("我爱苍老师"); } System.out.println(i); System.out.println("-------------------------------------"); */ /* 练习 :求一百以内的偶数,输出偶数的个数,求偶数的总和。 练习:求一百以内的奇数,输出奇数的个,求奇数的总和(作业) */ int count = 0; //用于统计偶数的个数 int sum = 0; //用于统计偶数的总和 for(int i = 1; i <= 100; i++){ if(i % 2 == 0){ count++; sum += i; System.out.println(i); } } System.out.println("count=" + count + " sum=" + sum); } }

案例实操:水仙花数

输出所有的水仙花数,所谓水仙花数是指一个3   位数,其各个位上数字立方和等于其本身。

例如: 153 = 1*1*1 + 3*3*3 + 5*5*5

public class ShuiXianHua{

public static void main(String[] args){ for(int i = 100; i < 1000; i++){ //将各个位上的数进行拆分 int a = i / 100; int b = i % 100 / 10; int c = i % 10; if(i == (a * a * a + b * b * b + c * c * c)){ System.out.println(i); } } } }

2.2 循环  while

格式:

初始化条件

while(循环条件){

循环体;

迭代条件;

}

说明: 1.while和for循环可以相互转换

思考: while循环和for循环的区别是什么?

while初始化条件在结构外。for循环的初始化条件在结构内(也可以写在结构外)。

案例实操:

public class WhileTest{

public static void main(String[] args){

/*

练习 :求一百以内的偶数,输出偶数的个数,求偶数的总和。

练习:求一百以内的奇数,输出奇数的个,求奇数的总和(作业)

*/

//1.初始化条件

int i = 1;

int count = 0; //偶数的个数

int sum = 0; //偶数的总和

while(i <= 100){//2.循环条件 当循环条件的值为false时跳出当前while结构继续向下执行

//3.循环体

if(i % 2 == 0){

count++;

sum += i;

System.out.println(i);

}

//4.迭代条件

i++;

}

System.out.println("count=" + count + " sum=" + sum);

}

}

java求偶数位之和,JavaSE (四)程序流程控制 -- if 、switch、for、while相关推荐

  1. java求偶数位之和,Java实战开发今日头条资讯网站

    ==================课程目录===================== 第1节 开发工具和Java语言介绍 主要介绍项目所需要的开发工具,并且会简单回顾这个项目所用到的语言-java, ...

  2. Java入门教程笔记03(程序流程控制)

    目录 顺序结构 (系统默认流程) 分支结构 if(3种格式) switch分支 switch分支注意事项: switch的穿透性 循环结构 for 循环 for循环案例1 for循环案例2 for循环 ...

  3. 【Java基础】· Java基本语法:程序流程控制习题总结

    写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...

  4. 一文带你深入理解【Java基础】· Java基本语法:程序流程控制

    写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...

  5. c语言程序流程控制(下)

    c语言程序流程控制 嵌套 switch分支结构 语法 例题 switch细节 练习 switch与if语句的比较 循环控制 for循环 练习题 while循环控制 do while 循环 多重循环控制 ...

  6. 四 【java基础】 程序流程控制- 分支结构

    目录 01 程序流程控制概述 02 顺序结构 03 分支结构 3.1 if-else 结构 3.2 从键盘输入数据(Scanner) 3.2 Switch-case结构 01 程序流程控制概述 流程控 ...

  7. Java架构师成长之道之Java程序流程控制

    Java架构师成长之道之Java程序流程控制 Java架构师成长之道 4.1 程序流程控制概述 之前编写的绝大多数程序都是顺序执行,也就是从main函数开始,由上到下一行一行的执行,也被称为顺序结构. ...

  8. 【Java从入门到天黑|03】JavaSE入门之流程控制

    大家好,我是孙叫兽,本期内容给大家分享一下JavaSE入门之流程控制. 用户交互Scanner 1.Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样 ...

  9. Java笔记2.3——Java基本语法之程序流程控制

    Java基础 Java基本语法(下):程序流程控制 目录 目录 Java基础 Java基本语法(下):程序流程控制 一.程序流程控制 1.理论 2.分支语句1: if-else结构 2.1.if-el ...

最新文章

  1. Python加密—AES加密(2)
  2. If语句:你们到底想把我放到哪儿?
  3. python多进程优化_如何利用多进程优化Python视频应用
  4. javascript做极简时钟特效,再简单没思路你也做不出来
  5. 20165232 缓冲区溢出漏洞实验
  6. java的URLConnection
  7. viewpager的使用
  8. 欧菲光:拟对子公司江西晶超增资9亿元
  9. java clock计时_Java Clock类– java.time.Clock
  10. 空间换时间--程序策略
  11. 东北育才10天大总结
  12. 计算机三级学科及代码,《学科分类及代码》.doc
  13. 【JAVA】学生信息管理系统
  14. OSPF配置命令总结
  15. UE4(虚幻4) 教学网站等资源推荐
  16. 词频分析与词频统计在线工具---如何统计文章词频,从而更快了解一篇文章?今天跟大家介绍一个词频分析在线工具
  17. 计算机TTL逻辑电平信号,ttl电平是什么意思
  18. linux系统的系统命令大全,linux系统命令大全
  19. gmx_MMPBSA--计算蛋白-配体自由能及能量分解
  20. Vue 中使用高德地图api

热门文章

  1. InstallShield安装包卸载-完美卸载
  2. 在Linux下安装tuned以使用tuned-adm命令优化Linux系统性能
  3. 7-28 猴子选大王 (20 分)
  4. GPIO 错误 提示
  5. Deepin Linux 系统常用快捷键记录
  6. Linux usb子系统(一):子系统架构
  7. ApiCloud拦截返回键
  8. 在IIS中实现JSP
  9. 你会招聘一个能力比自己强的人做下属吗?
  10. 绝对精彩的马字成语接龙40龙