java学习笔记2

3 选择结构

3.1 if选择结构

3.1.1 基本if结构
  • 语法
if(条件){
	// 代码块
}
  • 执行流程

    当if条件为真,执行代码块,否则不执行代码块。

  • 代码

public class Demo1 {
   
  public static void main(String[] args) {
   
    // 需求: 张浩的考试成绩>90分,奖励一部Iphone6s
    Scanner sc = new Scanner(System.in);
    System.out.println("输入张浩的成绩:");
    double score = sc.nextDouble();
    if (score > 90) {
   
      System.out.println("奖励一部Iphone6s");
    }
    System.out.println("程序运行结束!");
  }
}
3.1.2 复杂条件的if
public class Demo2 {
   
	// 复杂条件的if语句
  public static void main(String[] args) {
   
    // 张浩Java成绩大于90分,并且音乐成绩大于80分时,或者Java成绩等于100分,
	// 音乐成绩大于70分时,老师奖励他,该怎么做呢
    Scanner sc = new Scanner(System.in);
    System.out.println("输入java成绩:");
    double scoreJava = sc.nextDouble();
    System.out.println("输入音乐成绩:");
    double scoreMusic = sc.nextDouble();
    boolean flag = (scoreJava>90&&scoreMusic>80)||(scoreJava==100&&scoreMusic>70);
    if (flag) {
   
      System.out.println("奖励iphone6s");
    }
    System.out.println("程序结束");
  }
}

3.2 流程图

  • 流程图是算法的图形化表示方法
  • 常用的流程图

3.2.1 顺序流程
  • 程序按照从上到下执行,形成的流程

3.2.2 选择流程
  • 通过条件判断形成的分支结构流程

3.2.3 if条件流程图
  • 代码

    public class Demo1 {
         
      public static void main(String[] args) {
         
        Scanner sc = new Scanner(System.in);
        System.out.println("输入张浩的成绩:");
        double score = sc.nextDouble();
        if (score > 90) {
         
          System.out.println("奖励一部Iphone6s");
        }
        System.out.println("程序运行结束!");
      }
    }
    
  • 流程图

3.3 if-else结构

  • 语法
if(条件){
	// if语句块
}else{
	// else语句块
}
  • 执行流程

    当条件为真时,执行if语句块;否则执行else语句块。

  • 代码

public class Demo3 {
   
  public static void main(String[] args) {
   
    // 输入java成绩,大于90分奖励iphone6s 否则蹲马步5分钟
    Scanner sc = new Scanner(System.in);
    System.out.println("Input your java score: ");
    double scoreJava = sc.nextDouble();
    if (scoreJava > 90) {
   
      System.out.println("搞的不错,奖励一部iphone6s!");
    } else {
   
      System.out.println("先蹲马步5分钟,继续努力!");
    }
    // String res = scoreJava > 90 ? "搞的不错,奖励一部iphone6s!" : "先蹲马步5分钟,继续努力!";
    // System.out.println(res);
  }
}
  • 流程图

3.4 if-else-if结构

  • 语法
if(条件1){
	// 语句1
}else if(条件2){
	// 语句2
}else if(条件3){
	// 语句3
}
...
else if(条件n){
	// 语句n
}else{
	// else语句
}
  • 执行流程

    当条件1为真,执行语句1,否则判断条件2

    当条件2为真,执行语句2,否则判断条件3

    当条件3为真,执行语句3,否则判断条件n

    当条件n为真,执行语句n,否则执行else语句

  • 代码

public class Demo4 {
   
  public static void main(String[] args) {
   
    Scanner sc = new Scanner(System.in);
    System.out.println("输入你的考试成绩:");
    double score = sc.nextDouble();
    if (score >= 80) {
   
      System.out.println("优秀");
    } else if (score >= 70) {
   
      System.out.println("良好");
    } else if (score >= 60) {
   
      System.out.println("中等");
    } else {
   
      System.out.println("差");
    }
  }
}

多重if的短路效应: 当某个条件为真时,其它的条件都不会再判断,哪怕其它的条件也为真

上面的代码中,如果score=90,score>=80为真,输出 ‘优秀’,其它条件即使为真不会执行。

  • 流程图

3.5 if嵌套

  • 在一个条件判断中还有其它的条件判断,这种结构称条件嵌套,条件可以在if或else中,可以无限层嵌套

  • 语法

    if(条件1) {
      if(条件2) {
        // 代码块1
      } else {
        // 代码块2
      }
    } else {
      // 代码块3
    }
    
  • 执行流程

    当条件1为假时,

    ​ 执行代码块3

    当条件1为真时,

    ​ 判断条件2,

    ​ 当条件2为真时,执行代码块1,否则执行代码块2

  • 代码

public class Demo5 {
   
  public static void main(String[] args) {
   
    // if条件嵌套,可以有多层,可以在if中,也可以在else
    Scanner sc = new Scanner(System.in);
    // score<10s 入围决赛,否则淘汰
    System.out.println("输入跑步成绩:");
    double score = sc.nextDouble();
    if (score >= 10) {
   
      // 淘汰
      System.out.println(score + "s成绩被淘汰");
    } else {
   
      // 进入决赛
      System.out.println(score + "s,恭喜进入决赛!");
      // 输入性别判断进入男子 还是 女子决赛
      System.out.println("输入性别(男/女):");
      String gender = sc.next();
      if (gender.equals("男")) {
   
        System.out.println(score + "s,恭喜进入男子组决赛!");
      } else if (gender.equals("女")) {
   
        System.out.println(score + "s,恭喜进入女子组决赛!");
      } else {
   
        System.out.println("把妖赶出去!");
      }
    }
  }
}

3.6 switch结构

  • switch结构主要是做等值判断的分支结构

  • 语法

    switch(表达式){
      case 常量1:{
        语句1;
        break;
      }
      case 常量2:{
        语句2;
        break;
      }
      ...
      case 常量n:{
        语句n;
        break;
      }
      default:{
        默认语句;
        break;
      }
    }
    case 常量的数据类型可以是: int short byte  char 枚举 Strin

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/562371.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mapreduce中的ReduceTask工作机制(Hadoop)

ReduceTask 是 Hadoop 中的一个重要组件&#xff0c;负责对 MapTask 的输出进行合并、排序和归并&#xff0c;最终生成最终的输出结果。 ReduceTask 的工作机制 1. 分组&#xff08;Shuffle&#xff09;阶段&#xff1a; 在分组阶段&#xff0c;ReduceTask 会从多个 Mapper …

第二届 Oceanbase 开发者大会 实录

第二届 Oceanbase 开发者大会 实录 今天很有幸参加了Oceanbase 开发者大会&#xff0c;我是真的我一开始还不知道什么是Oceanbase &#xff0c;直到我开了会才知道。看来真的需要多参加一些这样活动。 会议议程 我们科普一下什么是Oceanbase OceanBase 是阿里巴巴集团推出…

FastChat启动与部署通义千问大模型

FastChat简介 FastChat is an open platform for training, serving, and evaluating large language model based chatbots. FastChat powers Chatbot Arena, serving over 10 million chat requests for 70 LLMs.Chatbot Arena has collected over 500K human votes from sid…

Llama 3 实测效果炸裂,一秒写数百字(附镜像站)

这几天大火的llama 3刚刚在https://askmanyai.cn上线了&#xff01; 玩了一会儿&#xff0c;这个生成速度是真的亚麻呆住。文案写作和代码生成直接爽到起飞&#xff0c;以往gpt要写一两分钟的千字文&#xff0c;llama 3几秒钟就写完了。而且效果甚至感觉更好&#xff1f; 效果惊…

日期相关的题目

日期相关的题目 1. 计算日期到天数转换2. 日期累加3. 打印日期4. 日期差值 1. 计算日期到天数转换 输出示例: 思路&#xff1a;计算前n-1个月的天数在加上这个月的天数。 #include <iostream> using namespace std;int main() {int year, month, day;cin >> yea…

数据结构练习-数据结构概述

----------------------------------------------------------------------------------------------------------------------------- 1. 在数据结构中&#xff0c;从逻辑上可以把数据结构分成( )。 A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构 C. 线性结…

Spring AI Summary

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Spring AI is a project that aims to streamline the development of AI applications by providing abstractions and reusable components that can be easily integrate…

梯度消失/梯度爆炸

梯度消失/梯度爆炸&#xff08;Vanishing / Exploding gradients&#xff09; 梯度消失或梯度爆炸&#xff1a;训练神经网络的时候&#xff0c;导数或坡度有时会变得非常大&#xff0c;或者非常小&#xff0c;甚至于以指数方式变小&#xff0c;这加大了训练的难度。 g ( z ) …

Java学习Go(入门)

下载Go 《官网下载golang》 直接点Download&#xff0c;然后根据你自己的操作系统进行下载&#xff0c;我这里以win10为例 安装go 默认安装到C:\Program Files\Go&#xff0c;这里我们可以选择安装到其他盘&#xff0c;也可以选择默认安装。初学者建议直接一路next。 安装完…

Java发送邮件 启用SSL

使用的maven依赖: <dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.4.7</version> </dependency> 配置文件mail.properties如下: # 邮箱配置 email.username=your-email@exa…

(助力国赛)美赛O奖数学建模可视化!!!含代码2(箱型图、旭日图、直方图、三元图、平行坐标图、密度图、局部放大图)

众所周知&#xff0c;数学建模的过程中&#xff0c;将复杂的数据和模型结果通过可视化图形呈现出来&#xff0c;不仅能够帮助我们更深入地理解问题&#xff0c;还能够有效地向评委展示我们的研究成果。   今天&#xff0c;承接《可视化代码1》&#xff0c;作者将与大家分享《…

【软考---系统架构设计师】软件架构

目录 1 一、软件架构的概念 二、软件架构风格 &#xff08;1&#xff09;数据流风格​​​​​​​ &#xff08;2&#xff09;调用/返回风格 &#xff08;3&#xff09;独立构件风格 &#xff08;4&#xff09;虚拟机风格 &#xff08;5&#xff09;仓库风格 三、架构…

【数学建模】优劣解距离法Topsis模型(含MATLAB代码)

TOPSIS法&#xff0c;全称 Technique for Order Preference by Similarity to an Ideal Solution&#xff0c;是由C.L.Hwang和K.Yoon于1981年首次提出的 。这是一种多目标决策分析中常用的有效方法&#xff0c;也被称作优劣解距离法 。 TOPSIS法的基本原理是通过检测评价对象与…

如何使用PHPStudy+Cloudreve搭建个人云盘并实现无公网IP远程访问——“cpolar内网穿透”

文章目录 1、前言2、本地网站搭建2.1 环境使用2.2 支持组件选择2.3 网页安装2.4 测试和使用2.5 问题解决 3、本地网页发布3.1 cpolar云端设置3.2 cpolar本地设置 4、公网访问测试5、结语 1、前言 自云存储概念兴起已经有段时间了&#xff0c;各互联网大厂也纷纷加入战局&#…

uniapp中scroll-view初始化的时候 无法横向滚动到某个为止

项目需求 实现日历&#xff08;13天&#xff09;默认高亮第六天 并定位到第六 左边右边各六天&#xff08;可以滑动&#xff09; 直接上代码 <template><scroll-view class"scroll-X":show-scrollbar"true" :scroll-x"scrollable":…

Chrome 侧边栏开发示例

前言 最近做项目&#xff0c;需要开发浏览器扩展&#xff0c;但是考虑页面布局兼容性问题&#xff0c;使用了Chrome114开始的侧边栏&#xff0c;浏览器自带的能力毕竟不会出现兼容性问题&#xff0c;不过Chrome123开始&#xff0c;侧边栏居然又可以选择固定右侧扩展栏了&#…

C++的初步知识——命名空间,缺省参数,重载函数

C 首先写一段代码&#xff1a; #include <stdio.h>int main() {printf("Hello world\n");return 0; }这段C语言代码在cpp文件中仍可运行。我们了解C是兼容C语言的&#xff0c;C的关键字中就包含了C语言的关键字和自身的关键字。关于关键字&#xff0c;我们简…

LCR 039

. - 力扣&#xff08;LeetCode&#xff09;. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/0ynMMM/ 给定非负整数数组 heights &#xff0c;数组中的数字用来表示…

共享内存和信号灯集练习

#include <mystdio.h> int main(int argc, const char *argv[]) { //创建key值 key_t key ftok("/home/ubuntu",2); if(key<0) { perror("ftok"); return -1; } printf("key%#x\n",key); …

上位机图像处理和嵌入式模块部署(树莓派4b和类muduo网络编程)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 既然是linux编程&#xff0c;那么自然少不了网络编程。在linux平台上面&#xff0c;有很多的网络编程库可以选择&#xff0c;大的有boost、qt&…