Java04-Java语法基础(三)流程控制

一、数据类型的转换

1、自动转换:在赋值运算中,占字节数大的类型会自动向字节小的类型转换

double d1 = 3.14;

int t1 = d1;

2、强制类型转换:当将宽度大的数据赋给宽度小的变量时,需要强制转换。会损失数据的精度(不会四舍五入)

(数据类型名)表达式;

二、流程控制:程序语句的执行方式

1、顺序结构:按语句出现的先后顺序执行

2、选择结构:根据条件选择执行部分语句

(1)由if 或 if--else构成的选择结构

A、if(条件表达式){

语句1;

}

执行过程:先运算“条件表达式”,若结果为真,执行“语句1”,若“条件表达式”结果为假,则跳出if结构,执行其它语句

流程图的图例:

菱形:表示条件判断

矩形:表示语句

箭头:表示执行方向

B、if---else构成的条件结构

if(条件表达式){

语句1;

}else{

语句2;

}

强调:a、else不能单独使用,必须和if结合起来使用

b、"{ }"表示控制范围,若 if 或 else只控制一条语句,则可以省略"{ }"

C、在if子句中嵌套if—else

if(条件表达式1){

if(条件表达式2){

语句1;

}else{

语句2;

}

}else{

语句3;

}

D、在else子句中嵌套if—else

if(条件表达式1){

语句1部分;

}else if(条件表达式2){

语句2部分;

}else if(条件表达式3){

语句3部分;

}else if(条件表达式n){

语句n部分;

}else{

语句n+1部分;

}

(2)由switch--case --break;构成的选择结构

switch(表达式){

case 常量1:语句1;break;

case 常量2:语句2;break;

case 常量3:语句3;break;

case 常量4:语句4;break;

........

case 常量n:语句n;break;

default:

语句n+1;

}

强调(语法):

a、switch后的"表达式"的运算结果只能是字符型或整型

b、case后常量的类型必须和switch后的"表达式"的运算结果的类型一致

c、default不是必须的,它的位置在switch中是任意的,通常将它放在 所有的case之后

d、"break;"语句的作用是跳出switch结构,若没有该语句,则实现不了选择的功能

执行过程:

第一步:先运算switch后的"表达式"

第二步:将switch后的"表达式"的运算结果与case后的常量进行比较,若相等则执行其后的语句;

第三步:若switch后的"表达式"的运算结果与所有case后的常量都不相等,若存在default,则执行其后的语句;若不存在default则跳出switch结构

(3)由条件表达式构成的选择结构

表达式1 ? 表达式2 : 表达式3

Java04-Java语法基础(三)流程控制的更多相关文章

  1. JAVA入门基础及流程控制

    JAVA入门基础及流程控制 数据类型 位 存储单位 eg:0001 0011 八位 字节 byte 处理数据单位 一字节等于八位 eg:1b=0011 0001 类变量: static int num ...

  2. Java入门教程三(流程控制)

    概述 程序有 3 种结构:顺序结构.选择结构和循环结构.分别为:if elseswitch case,while与do while,for, foreach,return,break ,continu ...

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

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

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

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

  5. Go语言基础之流程控制

    Go语言基础之流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用额流程控制有if和for,而switch和goto主要是为了简化代 ...

  6. python语法入门之流程控制

    python语法入门之流程控制 流程控制是指控制流程,具体指控制程序执行的流程. 流程控制分为三种: 1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构) 2.分支结构 赋予程序人的思维 ...

  7. Swift中文教程(三)--流程控制

    原文:Swift中文教程(三)--流程控制 Swift用if和switch编写条件控制语句,用for-in,for,while和do-while编写循环.条件控制语句和循环语句中,小括号是可选的,但花 ...

  8. Java语法基础(1)

    Java语法基础(1) 1.      Java是一门跨平台(也就是跨操作系统)语言,其跨平台的本质是借助java虚拟机 (也就是JVM(java virtual mechinal))进行跨平台使用. ...

  9. Ruby语法基础(三)

    Ruby语法基础(三) ​ 在前面快速入之后,这次加深对基本概念的理解. 字符串 ​ Ruby字符串可以分为单引号字符串和双引号字符串,单引号字符串效率更高,但双引号的支持转义和运行 puts '单引 ...

  10. GO语言学习——Go语言基础之流程控制一

    Go语言基础之流程控制 if else(分支结构) package main import "fmt" // if条件判断 func main(){ // age := 19 // ...

随机推荐

  1. 尚硅谷springboot学习20-web开发简介

    使用SpringBoot 1).创建SpringBoot应用,添加我们需要的模块: 2).SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来 3).自己编写业 ...

  2. MOBA项目问题记录

    1,动态变化的文本,使用较多时,耗时大,原因:只要字符串发生改变就会重绘,原理:每个字符的宽度不一样 项目中使用了网上写的一个文本控件,大概类型UGUI的东西,实现了字符缓存,绘制过的字符就不会再重建 ...

  3. js总结001

    JSTL 表达式与 EL 语言      http://leon906998248.iteye.com/blog/1502569 2   jquery中$each()方法的使用指南     http: ...

  4. linux 自定义模块来缓存skb的意义

    linux中,管理网卡收发报文的结构是sk_buff,这个结构比freebsd中的m_buf复杂的多,这个也是为什么现在用户态协议栈大多采用bsd为基础来实现的一个原因. struct sk_buff ...

  5. 关于HashMap多线程下环形链表的总结

    目录 1. 概述 2. 敲黑板的点 3. 为什么会出现循环链表的情况呢?(jdk1.7) 4. jdk1.8中改进了resize方法 5. HashMap的线程安全问题 6. 总结 1. 概述 本文主 ...

  6. 创建DLL动态链接库——声明导出法

    DLL声明导出法:是通过使用__declspec(dllexport),添加到需要导出的函数前,进行声明. 头文件定义如下(OPdll.h): 源文件定义如下(OPdll.cpp): 通过以上两个文件 ...

  7. windows安装AnyProxy 配合夜神模拟器抓包

    AnyProxy是阿里巴巴基于 Node.js 开发的一款开源代理服务器.做为中间代理服务器,它可以收集所有经过它的http请求流量(包括https明文内容):它提供了友好的web界面,便于直观的查看 ...

  8. anchor_generator.proto:11:3: Expected "required", "optio nal", or "repeated"

    转自:https://github.com/tensorflow/models/issues/1834 When I use the commond " protoc object_dete ...

  9. 如何自学web安全(详细路径)

    看到学习路径,收藏一下https://blog.csdn.net/q251500/article/details/79441316

  10. Centos6.5 防火墙设置详解

    vim /etc/sysconfig/iptables #丢弃所有进入请求 INPUT DROP [0:0] #丢弃所有转发请求 FORWARD DROP [0:0] #允许所有的output请求 O ...