个人博客网:https://wushaopei.github.io/    (你想要这里多有)

目录

前置:

* . 从键盘读取数据:

1、分支结构

1.1 if-else结构

1.2 switch-case结构

2、循环结构

2.1 循环: for循环

案例实操:水仙花数

2.2 循环  while


前置:

 * . 从键盘读取数据:

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.1 if-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就执行相应的执行语句.

明:

  1. 条件表达式的结果是布尔类型。
  2. else可以省略
  3. 如果执行语句只能一句的话,大括号可以省略但不建议
  4. 多个条件表达式如果为互斥关系,谁上谁下都可以。如果为包含关系,范围小的在上面范围大的在下面。
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); }
}

JavaSE (四)程序流程控制 -- if 、switch、for、while的更多相关文章

  1. Java 基础入门随笔(4) JavaSE版——程序流程控制

    上一节对于运算符有了大致的了解,这一节针对程序流程控制进行复习!程序流程控制包括顺序结构.判断结构(if).选择结构(switch).循环结构. 1.判断结构 ①if语句的第一种格式:        ...

  2. Java基础之程序流程控制

    Java中的程序流程控制 Java中的程序流程分为三种结构:①顺序结构:②分支结构:③循环结构 一.顺序结构 Java中定义成员变量的时候,采用的是前向引用,也就是后面的变量可以引用之前定义好的变量. ...

  3. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

  4. Java基本语法--程序流程控制

    流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块.流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构.分支结构.循环结构.本篇博客主要是对 ...

  5. [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套

    一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大 ...

  6. Java 基础 程序流程控制 (下)

    Java 程序流程控制 (下) 此篇单独对循环结构的知识点进行整理: 之前讲到循环结构分为:for循环,while循环,do...while循环三种最基本的循环结构:在JDK1.5以后的版本还提供了f ...

  7. Java 基础 程序流程控制 (上)

    Java程序流程控制 (上) Java程序大体分为三种流程控制结构:顺序结构.分支结构.循环结构 顺序结构 程序由上到下的逐行执行,中间没有任何跳转和判断语句. 示例代码如下: public clas ...

  8. 4. Scala程序流程控制

    4.1 程序流程控制说明 在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句,顺序控制,粉质控制,循环控制 温馨提示:Scala语言中控制结构和Java语言中的 ...

  9. Java基础-程序流程控制第一弹(分支结构/选择结构)

    Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...

  10. Excel VBA入门(四)流程控制2-循环控制

    所谓循环控制,即在循环执行一段代码,用于完成一些重复性任务. VBA中的循环控制语句主要有3种:for.while.loop.对于大多数人来说,for的使用频率最高,而我个人也觉得for是最为灵活的, ...

随机推荐

  1. Day_13【IO流】扩展案例2_统计指定项目文件中字符出现的次数

    需求分析 统计当前项目下info2.txt文件中, 每个字符出现的个数 文件内容如下: welcome to itheima!!! 最终效果如下: w(1) (2)!(3)t(2)e(3)c(1)a( ...

  2. 一文教你快速修改ubuntu终端显示的主机名和用户名

    为了让终端的显示更加简洁,清爽,改掉显示的用户名和主机名,改成你喜欢的名字. 创作不易,如果本文帮到了您: 如果本文帮到了您,请帮忙点个赞

  3. redis 集群安装

    redis集群安装 1.下载redis源码 2.解压并进入解压后的文件夹redis内 3.make,生成一系列的文件(mkreleasehdr.sh, redis-benchmark, redis-c ...

  4. Offset等一些类似属性的使用

    1.offset系列 // offset 系列 var father = document.querySelector('.father'); var son = document.querySele ...

  5. 数据库连接池Druid的介绍,配置分析对比总结

    Druid的简介 Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBos ...

  6. JS理论:调用栈、事件循环、消息队列(也叫任务队和回调队列)、作业队列(微任务队列)

    一:调用栈是个什么鬼东西,它具有栈的属性--后进先出 先看一段简单的JS代码: const second = function(){ console.log('hello there'); } con ...

  7. JS防抖和节流:原来如此简单

    一.函数防抖 前端开发工作中,我们经常在一个事件发生后执行某个操作,比如鼠标移动时打印一些东西: window.addEventListener("mousemove", ()=& ...

  8. 记录下做攻防世界的misc题

    0x00 记录一下,代表自己做过 0x01 flag_universe 看简介是来自2018年的百越杯. 将文件下载下来后,就一个flag_universe.pcapng文件,wireshark打开. ...

  9. appium——如何导出夜神模拟器下载“微信”app的apk

    背景:夜神模拟器是一款功能强大的安卓模拟器,但是当我们在上面下载APP应用后,通常不知道apk文件在哪里,下面以“微信”APP为例做一下详细介绍. 一般情况下,使用夜神安卓模拟器下载的文件只能在夜神安 ...

  10. ql的python学习之路-day8

    前言:本节主要学习的是函数的全局变量和局部变量以及递归 一.全局变量和局部变量 定义在函数外并且在函数头部的变量,叫做全局变量,全局变量在整个代码中都生效. 局部变量只在函数里生效,这个函数就叫做这个 ...