Java04-Java语法基础(三)流程控制
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语法基础(三)流程控制的更多相关文章
- JAVA入门基础及流程控制
JAVA入门基础及流程控制 数据类型 位 存储单位 eg:0001 0011 八位 字节 byte 处理数据单位 一字节等于八位 eg:1b=0011 0001 类变量: static int num ...
- Java入门教程三(流程控制)
概述 程序有 3 种结构:顺序结构.选择结构和循环结构.分别为:if elseswitch case,while与do while,for, foreach,return,break ,continu ...
- Java基础-程序流程控制第一弹(分支结构/选择结构)
Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...
- Java基础-程序流程控制第二弹(循环结构)
Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...
- Go语言基础之流程控制
Go语言基础之流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用额流程控制有if和for,而switch和goto主要是为了简化代 ...
- python语法入门之流程控制
python语法入门之流程控制 流程控制是指控制流程,具体指控制程序执行的流程. 流程控制分为三种: 1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构) 2.分支结构 赋予程序人的思维 ...
- Swift中文教程(三)--流程控制
原文:Swift中文教程(三)--流程控制 Swift用if和switch编写条件控制语句,用for-in,for,while和do-while编写循环.条件控制语句和循环语句中,小括号是可选的,但花 ...
- Java语法基础(1)
Java语法基础(1) 1. Java是一门跨平台(也就是跨操作系统)语言,其跨平台的本质是借助java虚拟机 (也就是JVM(java virtual mechinal))进行跨平台使用. ...
- Ruby语法基础(三)
Ruby语法基础(三) 在前面快速入之后,这次加深对基本概念的理解. 字符串 Ruby字符串可以分为单引号字符串和双引号字符串,单引号字符串效率更高,但双引号的支持转义和运行 puts '单引 ...
- GO语言学习——Go语言基础之流程控制一
Go语言基础之流程控制 if else(分支结构) package main import "fmt" // if条件判断 func main(){ // age := 19 // ...
随机推荐
- 尚硅谷springboot学习20-web开发简介
使用SpringBoot 1).创建SpringBoot应用,添加我们需要的模块: 2).SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来 3).自己编写业 ...
- MOBA项目问题记录
1,动态变化的文本,使用较多时,耗时大,原因:只要字符串发生改变就会重绘,原理:每个字符的宽度不一样 项目中使用了网上写的一个文本控件,大概类型UGUI的东西,实现了字符缓存,绘制过的字符就不会再重建 ...
- js总结001
JSTL 表达式与 EL 语言 http://leon906998248.iteye.com/blog/1502569 2 jquery中$each()方法的使用指南 http: ...
- linux 自定义模块来缓存skb的意义
linux中,管理网卡收发报文的结构是sk_buff,这个结构比freebsd中的m_buf复杂的多,这个也是为什么现在用户态协议栈大多采用bsd为基础来实现的一个原因. struct sk_buff ...
- 关于HashMap多线程下环形链表的总结
目录 1. 概述 2. 敲黑板的点 3. 为什么会出现循环链表的情况呢?(jdk1.7) 4. jdk1.8中改进了resize方法 5. HashMap的线程安全问题 6. 总结 1. 概述 本文主 ...
- 创建DLL动态链接库——声明导出法
DLL声明导出法:是通过使用__declspec(dllexport),添加到需要导出的函数前,进行声明. 头文件定义如下(OPdll.h): 源文件定义如下(OPdll.cpp): 通过以上两个文件 ...
- windows安装AnyProxy 配合夜神模拟器抓包
AnyProxy是阿里巴巴基于 Node.js 开发的一款开源代理服务器.做为中间代理服务器,它可以收集所有经过它的http请求流量(包括https明文内容):它提供了友好的web界面,便于直观的查看 ...
- 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 ...
- 如何自学web安全(详细路径)
看到学习路径,收藏一下https://blog.csdn.net/q251500/article/details/79441316
- Centos6.5 防火墙设置详解
vim /etc/sysconfig/iptables #丢弃所有进入请求 INPUT DROP [0:0] #丢弃所有转发请求 FORWARD DROP [0:0] #允许所有的output请求 O ...