Java学习day4 程序流程控制一
一、分支结构
条件语句:if...else
if语句:
一个 if 语句包含一个布尔表达式和一条或多条语句,如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。
语法:
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}
if...else语句:
if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。
语法:
    if(布尔表达式){
       //如果布尔表达式的值为true
    }else{
       //如果布尔表达式的值为false
    }
if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。
语法:
    if(布尔表达式1){
       执行代码块;//如果布尔表达式1的值为true执行代码
    }
       else if(布尔表达式2){
       执行代码块;//如果布尔表达式2的值为true执行代码
    }
       ... ...
       else{
            执行代码块;//如果以上布尔表达式都不为true执行代码
       }                    
使用 if,else if,else 语句的时候,需要注意下面几点:
1.if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
2.if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
3.一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
实例:
public class Test {
   public static void main(String args[]){
      int x = 30;
      if( x == 10 ){
         System.out.print("Value of X is 10");
      }else if( x == 20 ){
         System.out.print("Value of X is 20");
      }else if( x == 30 ){
         System.out.print("Value of X is 30");
      }else{
         System.out.print("这是 else 语句");
      }
   }
}
以上代码编译运行结果如下:
Value of X is 30
二、分支结构2
switch case 语句
语法:
switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}
有关规则:
1.switch(表达式)中表达式的返回值必须是下述之种类型之一:byte, short, char, int, 枚举,String ;
2.case子句中的值必须是常量,且所有case子句中的值应该是不同的;
3.default子句是可任选的,当没有匹配的case时,执行default
4.break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
5.switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。
实例1:
public class Test1 {
    public static void main(String args[]){
        String season = "winter";
        switch(season){
        case"spring":
            System.out.println("spring is a little girl");
            break;
        case"summer":
            System.out.println("summer is a young boy");
            break;
        case"autumn":
            System.out.println("autumn is a big man");
            break;
        case"winter":
            System.out.println("winter is a old people");
            break;
            default:
                System.out.println("who am i?");
                break;
        }
    } 
}
运算结果为:winter is a old people
switch和if语句的对比:
1.主要使用if语句,if语句的使用范围更广泛
2.如果判断的具体数值不多,且符合byte, short, int, char这四种类型,建议使用switch;(if语句也可以用,但switch语句效率更高)
3.对区间的判断,对结果为boolean类型判断,须使用if语句
错误总结:在编译实例1是遇到以下错误:

经过百度得知错误原因在于switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型只有JDK版本1.7以上才可以支持String
解决办法:右击项目Test1---->选择properties---->选择Java Compiler---->版本选择1.7以上

Java学习day4 程序流程控制一的更多相关文章
- Java基础之程序流程控制
		Java中的程序流程控制 Java中的程序流程分为三种结构:①顺序结构:②分支结构:③循环结构 一.顺序结构 Java中定义成员变量的时候,采用的是前向引用,也就是后面的变量可以引用之前定义好的变量. ... 
- Java基本语法--程序流程控制
		流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块.流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构.分支结构.循环结构.本篇博客主要是对 ... 
- 【原】Java学习笔记005 - 流程控制
		package cn.temptation; public class Sample01 { public static void main(String[] args) { // 程序的流程控制(流 ... 
- Java学习笔记五——流程控制
		分支结构 Java提供了两种常见的分支控制结构:if语句和switch语句. if语句 if语句使用布尔值或布尔表达式(表达式结果为布尔值),if语句有3中形式: 第一种形式: if (5 > ... 
- Java笔记(六)……程序流程控制
		判断结构 三种结构: 1: if(条件表达式) 2: { 3: 执行语句; 4: } 5: 6: if(条件表达式) 7: { 8: 执行语句; 9: } 10: else 11: { 12: 执行 ... 
- 【原】Java学习笔记007 - 流程控制
		package cn.temptation; public class Sample01 { public static void main(String[] args) { // for循环 // ... 
- 【原】Java学习笔记006 - 流程控制
		package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:写一万次&q ... 
- java中的程序流程控制
		一.布尔逻辑1.布尔运算符:①短路和——&&:判断两个表达式,如果第一个为真,继续判断第二个表达式,如果第一个为假,就不需要判断第二个变大时②和——&:判断两个表达式,如果第一 ... 
- [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套
		一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大 ... 
随机推荐
- 线段树维护区间前k小
			线段树维护区间前k小 $ solution: $ 觉得超级钢琴太麻烦?在这里线段树提供一条龙服务 . 咳咳,开始讲正题!这道题我们有一个和超级钢琴复杂度一样 $ ~O(~\sum x\times lo ... 
- ipsec概念理解
			互联网安全协议(英语:Internet Protocol Security,缩写:IPsec): 本质上一个协议包,透过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议 ... 
- note 2019.12.16
			1.无序 HTML 列表: <ul> <li>Coffee</li> <li>Tea</li> <li>Milk</li& ... 
- LeetCode--096--不同的二叉搜索树(python)
			我的思路比较low直接看官方题解吧... class Solution: def numTrees(self, n: int) -> int: G = [0] * (n+1) G[0],G[1] ... 
- docker for windows 中 镜像 microsoft/donet 的文件结构
			一共有3个文件夹和1个文件: [Program Files] [Users] [Windows] License.txt 使用vs默认生成的dockerfile文件生成后,会新增app文件夹. 
- [LightOJ1240]Point Segment Distance 题解
			题意简述 原题LightOJ 1240,Point Segment Distance(3D). 求三维空间里线段AB与C. 题解 我们设一个点在线段AB上移动,然后发现这个点与原来的C点的距离呈一个单 ... 
- 【CF1251E】Voting(贪心)
			题意:有n个人,需要搞到全部n个人的票,搞到第i个人的票有两种方式:之前已经搞到mi个人的票,或者直接花费pi 问最小的搞到所有票的总代价 n<=2e5,1<=p[i]<=1e9,0 ... 
- K-th occurrence HDU - 6704 (后缀数组+二分线段树+主席树)
			大意: 给定串s, q个询问(l,r,k), 求子串s[l,r]的第kk次出现位置. 这是一篇很好的题解: https://blog.csdn.net/sdauguanweihong/article/ ... 
- leetcode-mid-array-3 Longest Substring Without Repeating Characters
			mycode 99.21% class Solution(object): def lengthOfLongestSubstring(self, s): """ :ty ... 
- BeautifulSoup模块学习文档
			一.BeautifulSoup简介 1.BeautifulSoup模块 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档 ... 
