闲聊

有些东西并不能像爱因斯坦老先生说的那样,书上查的到就不用去记住...


开始

  • java使用了C的所有流程控制语句;
  • java中同样有switch语句;
  • 大多数情况下,switch都可以用if替换;

好,下面说容易忘掉的,和可能被忽视的一些东西:

  • 基本结构(tm我就是忘了怎么写基本结构的,谁让自己依赖ide太多,谁让ide敲switch只有个switch()出来)
switch (表达式) {
case 条件1:
语句1;
break;
case 条件2:
语句2;
break;
...
default:
语句;
}
  • 一般流程,switch对象,然后进入case,直到遇到break结束——所以,1、default是默认case;2、一般每个case都写break,不然你可以试试,当然,特殊情况,多个case公用一个case;
  • 注意:default不一定写在最后,所以不一定一定不需要break; 保险起见,或者说编程风格来说,请给每一个case加上break;
·
switch (a){
default:
shit.getNum();
case "":
break;
}
  • 注意定义格式是这样的
switch(integral-selector) {
case integral-value : statement: break;
case integral-value : statement: break;
...
default:statement;
}

其中integral-selector是指整数选择因子,也就是说是一个定值,比如int,char这种,特殊的有枚举(所以不能直接用的,可以用这个变通),但是复杂类、float这种就不行,比如

·
String a = "a";
switch (a) {
case "a":
break;
} Shit shit = new Shit();
// switch (shit) {
//
// } switch (shit.num){ } switch (shit.getNum()){ } private class Shit {
int num = 0; int getNum(){
return this.num;
}
}

integral-value是整数值,也就是要确定的值,所以类的方法这种是不行的(其实这里我还有点疑问。。)

//        switch (a){
// case shit.getNum():
// break;
// }

结束

麻雀虽小,五脏俱全。

参考博客:Java switch 详解

【技术累积】【点】【java】【2】聊一聊似曾相识的switch语句的更多相关文章

  1. Java连载20-复习、switch语句

    一.复习 1.标识符(自己定义的,下划线.美元符号) 2.驼峰命名(变量名,方法名首字母小写) 3.关键字(就是固定的那几个) 4.字面值(数据.有类型.八种基本类型从小到大,byte\char=sh ...

  2. java基础面试题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

    package com.swift; public class Switch_Test { public static void main(String[] args) { /* * switch语句 ...

  3. (转)如何学习Java技术?谈Java学习之路

    51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...

  4. Protocol Buffer技术详解(Java实例)

    Protocol Buffer技术详解(Java实例) 该篇Blog和上一篇(C++实例)基本相同,只是面向于我们团队中的Java工程师,毕竟我们项目的前端部分是基于Android开发的,而且我们研发 ...

  5. Atitit. 。Jna技术与 解决 java.lang.Error: Invalid memory access

    Atitit. .Jna技术与 解决 java.lang.Error: Invalid memory access 1. 原因与解决1 2. jNA (这个ms sun 的)1 3. Code1 4. ...

  6. 公共技术点之 Java 反射 Reflection

    本文摘录地址: http://codekk.com/open-source-project-analysis/detail/Android/Mr.Simple/%E5%85%AC%E5%85%B1%E ...

  7. Java 12 骚操作, switch居然还能这样玩!

    Java 13 都快要来了,12必须跟栈长学起! Java 13 即将发布,新特性必须抢先看! Java 12 中对 switch 的语法更友好了,建议大家看下栈长在Java技术栈微信公众号分享的&l ...

  8. Java 17 新特性:switch的模式匹配(Preview)

    还记得Java 16中的instanceof增强吗? 通过下面这个例子再回忆一下: Map<String, Object> data = new HashMap<>(); da ...

  9. Java中简单的操作(if语句、常用操作符、switch语句、变量赋值等)

    ---------------------if语句介绍--------------------------------------------------- class IfDemo { public ...

随机推荐

  1. 编写 Shell 脚本的最佳实践

    转自:http://kb.cnblogs.com/page/574767/ 前言 由于工作需要,最近重新开始拾掇shell脚本.虽然绝大部分命令自己平时也经常使用,但是在写成脚本的时候总觉得写的很难看 ...

  2. SQLServer · BUG分析 · Agent 链接泄露分析(转载)

    背景 SQLServer Agent作为Windows服务提供给用户定期执行管理任务,这些任务被称为Job:考虑应用镜像的场景如何解决Job同步问题,AWS RDS的做法是不予理会,由用户维护Job, ...

  3. 将会改变未来IT世界的十种编程语言

    这里要说的都是革新,说这些的目的就是要保持关注最新技术.如果你是一个程序员,想要探寻未来技术,那这篇文章就是你的必读之选.我们这里列出了10种编程语言,10种将会改变IT世界工作方式的编程语言.这些语 ...

  4. 用 Python 理解 Web 并发模型

    用 Python 理解 Web 并发模型 http://www.jianshu.com/users/1b1fde012122/latest_articles   来源:MountainKing 链接: ...

  5. Spark MLlib之线性回归源代码分析

    1.理论基础 线性回归(Linear Regression)问题属于监督学习(Supervised Learning)范畴,又称分类(Classification)或归纳学习(Inductive Le ...

  6. 为什么用clojure作为storm 的主要开发语言

    Why you choose Clojure as the development language of Storm? Could you talk about your long practica ...

  7. c18---数组和指针

    // // main.c // day09 #include <stdio.h> int main(int argc, const char * argv[]) { ; int *numP ...

  8. String不可变性

    今天分析一下String,String有很多实用的特性,比如说“不可变性”,是工程师精心设计的艺术品.用final就是拒绝继承,防止内部属性或方法被破坏. 一,什么是不可变? String不可变很简单 ...

  9. 一篇个人感觉比较好的lua入门的文章

    原文转自www.cppprog.com,由三篇文章组成 Lua是一个嵌入式的脚本语言,它不仅可以单独使用还能与其它语言混合调用.Lua与其它脚本语言相比,其突出优势在于: 1.  可扩展性.Lua的扩 ...

  10. BZOJ 2929 网络流

    题意是啥--. 思路: 不是与1或n连起来的边 边权是1 否则是inf 跑网络流 //By SiriusRen #include <queue> #include <cstdio&g ...