首页 > 编程语言 >【Java基础】03选择结构

【Java基础】03选择结构

时间:2024-08-06 08:57:59浏览次数:15  
标签:case 03 Java ... 代码 else 选择 switch 条件

if分支

if

if(条件){
    代码块;
}

if...else...

if(条件){
    代码块1;
}else {
    代码块2;
}

if...else if...else...

if(条件1){
    代码块1;
}else if (条件2){
    代码块2; // else if 可以写多个
}else {
    代码块3; // else 可以省略不写
}

if 嵌套

 if(条件1) {
      if(条件2) {
              代码块1;
      } else {
              代码块2;
      }
} else {
      代码块3;
}

if选择结构,包括以下形式

  • 基本if选择结构:可以处理单一或组合条件的情况
  • if-else选择结构:可以处理简单的条件分支情况
  • 多重if选择结构:可以处理分段的条件分支情况
  • 嵌套if选择结构:可以处理复杂的条件分支情况,通过外层语句和内层语句的协作,增强程序的灵活性

字符串比较

  • ==:比较引用类型内存地址是否相同
  • equals:默认比较内存地址,但是String类重写了equals()方法,比较的是内容是否相同。

例:用户输入性别sex 判断是否是“男”

sex.equals("男"); // 可能会出现空指针异常(用户未输入内容)
"男".equals(sex); // 避免空指针异常

字符串为null 时,表示没有在堆中开辟空间

switch分支

switch (表达式) {
    case 常量 1:
        语句;
        break;
    case 常量 2:
        语句;
        break;
    …
    default:
        语句;
}

使用switch分支的几点注意事项

  • 表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。
  • case给出的值不允许重复,且只能是字面量,不能是变量。
  • 正常使用switch的时候,不要忘记写break,否则会出现穿透现象。
  • 存在多个case分支的代码是一样时,可以把代码写到一个case块,其他case块通过穿透性能,穿透到该case块即可,这样可以简化代码。

switch与多重if

相同点:都是用来处理多分支条件的结构

不同点:switch选择结构,只能处理等值条件判断的情况;多重if选择结构,适合某个变量处于某个连续区间时的情况。

在等值判断时if 判断可以换为switch 判断。

标签:case,03,Java,...,代码,else,选择,switch,条件
From: https://www.cnblogs.com/yierg/p/18344421

相关文章

  • 供应商较多的汽车制造业如何选择供应商协同平台?
    汽车制造业的供应商种类繁多,根据供应链的不同环节和产品特性,可以大致分为以下几类。按供应链等级分包括:一级供应商通常具有较高的技术水平和生产能力,能够满足汽车厂商对零部件的高品质、高性能和高可靠性的要求。二级供应商具有较为专业化的技术和生产能力,负责生产和供应特定......
  • 金融行业到底该选择什么样的FTP替代方案?
    2018年以来,受“华为、中兴事件”影响,我国科技尤其是上游核心技术受制于人的现状对我国经济发展提出了严峻考验。在全球产业从工业经济向数字经济升级的关键时期,中国明确“数字中国”建设战略,抢占数字经济产业链制高点。在执行层面,从最关系国计民生的行业开始,也就是“2+8+N”......
  • 机器学习领域中选择使用Python还是R
    在机器学习领域中,选择使用Python还是R,这主要取决于个人需求、项目特性、技能水平以及偏好。以下是对两种语言在机器学习方面的详细比较:一、社区支持与生态系统Python:Python在数据科学和机器学习领域拥有庞大的社区支持,这意味着你可以轻松找到大量的教程、文档、库和框架。......
  • 【TS】 TypeScript声明文件:打通JavaScript和TypeScript的桥梁
     TypeScript声明文件的讲解: TypeScript声明文件(DeclarationFile)在TypeScript项目中具有举足轻重的地位,它是连接TypeScript严格的类型系统与外部无类型或类型不明确的JavaScript代码的关键纽带。 声明文件的核心价值在于为TypeScript编译器提供必要的类型信息......
  • 【Java数据结构】---初始数据结构
    乐观学习,乐观生活,才能不断前进啊!!!我的主页:optimistic_chen我的专栏:c语言,Java欢迎大家访问~创作不易,大佬们点赞鼓励下吧~前言从今天开始我们就要学习Java的数据据结构部分,根据前面Java语法的基础上,更加深入的了解算法的基本知识。文章目录前言什么是数据结......
  • 解决Maven Deploy时提示module java.base does not "opens java.util" to unnamed mod
    使用Maven向中央仓库推送项目时,遇到Unabletomakefieldprivatefinaljava.util.Comparatorjava.util.TreeMap.comparatoraccessible:modulejava.basedoesnot"opensjava.util"tounnamedmodule的错误提示。网上搜了下,大概是因为自Java9起,引入了模块系统(ProjectJig......
  • 匿名内部类在Java中的使用场景与注意事项
    匿名内部类在Java中的使用场景与注意事项大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们来讨论Java中的匿名内部类。匿名内部类是Java中一种简洁而强大的特性,通常用于简化代码,尤其是在需要创建一次性对象的时候。本文将详细介绍匿名内部类的......
  • Java爬虫技术:从基础到进阶的全面指南
    Java爬虫技术:从基础到进阶的全面指南大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们来探讨Java爬虫技术,从基础知识开始,逐步深入到进阶技术,并通过代码示例进行详细说明。一、Java爬虫的基础爬虫是一个自动化程序,旨在访问网页并提取数据。Jav......
  • javaCC链6
    CC6条件:commons-conlections<=3.2.1不限制jdk版本payloadpackageorg.example;importorg.apache.commons.collections.Transformer;importorg.apache.commons.collections.functors.ChainedTransformer;importorg.apache.commons.collections.functors.ConstantTrans......
  • javaCC链3
    cc3cc3区别cc6不再是使用Rutime类执行命令,而是通过类加载器动态加载恶意类然后执行类加载:ClassLoader.loadClass->ClassLoader.findClass->ClassLLoader.defineClassClassLoader.loadClass:寻找加载的类(双亲委派机制)ClassLoader.findClass:如果loadClass没找到类,就根据类名称/......