java入门学习(十二)运算语句 if switch
这两天在网上做兼职,耽误了些博客见谅哈 欢迎来我的博客:www.taomaipin.com
java中的运算语句而且频繁用到的无法就是条件语句和循环语句,包括if,for,while,switch,break,continue,接下来我会一一介绍这些运算
语句的用法。
第一:if语句(也就是条件语句)
在我们日常生活中,如果去做一件事,有好多的条件并不是一个条件,比如我去北京,我可以坐火车,乘飞机,坐汽车这三个条件,在java的if语句
中,为了避免多写if语句就产生了一个多分枝语句 if–else else –if。
首先咱们看看if语句的格式
if(条件){
功能代码
}else{
工能代码
}
比如上面的去北京的条件,假如火车,飞机,汽车三个条件那么分别声明三个条件的变量
如下代码
public class Test7 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean huoche=true;
boolean feiji=true;
boolean qiche=true;
if(huoche){
System.out.println(“我成火车去北京”);
}else{
System.out.println(“我没有成火车去北京”);
}
if(feiji){
System.out.println(“我成飞机去北京”);
}else{
System.out.println(“我没有成飞机去北京”);
}
if(qiche){
System.out.println(“我成汽车去北京”);
}else{
System.out.println(“我没有成汽车去北京”);
}
}
}
if语句中括号里面的变量值必须是boolean型的true或false,比如声明一个变量a=1,if(a){} 这样写是错误的,而如果是if(a==1){}就是对的
因为a=1返回值是booelan值true
其实上面代码可以用java的多分支语句来写而不是每次多条件 就要大量写if if if看下面代码:
public class Test7 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean huoche=true;
boolean feiji=true;
boolean qiche=true;
if(huoche){
System.out.println(“我成火车去北京”);
}else if(feiji){
System.out.println(“我成飞机去北京”);
}else if(qiche){
System.out.println(“我成汽车去北京”);
}
}
}
上面所述的两个例子代码效果是一样的是不是第二个例子看起来更简洁些。
i上面的第一个例子代码可以吧else{}去掉,如果else{}里面不是语句块 没有功能代码或者业务逻辑处理那么就可以去掉它。
再来看一个示例代码,该代码的功能是实现将百分制的成绩转换为A、B、C、D和E,代码如下:
int score = 87;
if(score >= 90){
System.out.println(‘A’);
} else if(score >= 80){
System.out.println(‘B’);
} else if(score >= 70){
System.out.println(‘C’);
} else if(score >= 60){
System.out.println(‘D’);
} else{
System.out.println(‘E’);
}
从该代码中可知,每个else if语句在书写时是有顺序的,在实际书写时,必须按照逻辑上的顺序进行书写,否则将出现逻辑错误。
if-else else-if语句是Java语言中提供的一个多分支条件语句,但是在判断某些问题时,会书写的比较麻烦,所以在语法中提供了另外一个语句
——switch语句来更好的实现多分支语句的判别。
第二:switch语句
说到这个语句 就不能不说break,使用break意思是可以立刻终止程序往下运行,跳出当前程序进行后面的语句
switch的语法是:
switch(表达式)
{
case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
} default就是如果没有符合的case就执行它,default并不是必须的. case后的语句可以不用大括号. switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型. 如下代码
public class Test7 {
/**
* @param args
*/
public static void main(String[] args) {
int x = 1;
switch (x)
{
case 1:
System.out.println(“1″);
break;
case 2:
System.out.println(“2″);
break;
case 3:
System.out.println(“3″);
break;
}
}
打印结果是:1
如果用if语句来实现上面的效果那么必须这样写:如下代码:
public class Test7 {
/**
* @param args
*/
public static void main(String[] args) {
int x = 1;
if(x==1){
System.out.println(“1″);
}else if(x==2){
System.out.println(“2″);
}else if(x==3){
System.out.println(“3″);
}
}
}
打印结果:1
所以 一但条件很多一般 都用switch语句来实现功能。
欢迎来我的博客:www.taomaipin.com
java入门学习(十二)运算语句 if switch的更多相关文章
- java web 学习十二(session)
一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...
- JAVA多线程学习十二 - Semaphere同步工具
java 中Semaphere可类比操作系统信号量,硬件资源如IO.内存.磁盘等都是有固定量的,多个程序需要竞争这些资源,没有资源就需要被挂起. 一.类和方法摘要 构造函数: public Semap ...
- Java入门教程十二(集合与泛型)
在 Java 中数组的长度是不可修改的.然而在实际应用的很多情况下,无法确定数据数量.这些数据不适合使用数组来保存,这时候就需要使用集合. Java 的集合就像一个容器,用来存储 Java 类的对象. ...
- Java开发学习(十二)----基于注解开发依赖注入
Spring为了使用注解简化开发,并没有提供构造函数注入.setter注入对应的注解,只提供了自动装配的注解实现. 1.环境准备 首先准备环境: 创建一个Maven项目 pom.xml添加Spring ...
- “全栈2019”Java异常第二十二章:try-with-resources语句详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第十二周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第十二周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nw ...
- Java Web入门学习(二) Eclipse的配置
Java Web学习(二) Eclipse的配置 一.下载Eclipse 1.进入Eclipse官网,进行下载 上图,下载Eclipse IDE for JaveEE Developers 版本,然后 ...
- MyBatis基础入门《十二》删除数据 - @Param参数
MyBatis基础入门<十二>删除数据 - @Param参数 描述: 删除数据,这里使用了@Param这个注解,其实在代码中,不使用这个注解也可以的.只是为了学习这个@Param注解,为此 ...
- Java多线程学习(二)synchronized关键字(2)
转载请备注地址:https://blog.csdn.net/qq_34337272/article/details/79670775 系列文章传送门: Java多线程学习(一)Java多线程入门 Ja ...
随机推荐
- linux tar.gz zip 减压 压缩命令
http://apps.hi.baidu.com/share/detail/37384818 download ADT link http://dl.google.com/android/ADT-0. ...
- Oracle中的delete和truncate的关系
转自:http://chenxy.blog.51cto.com/729966/168459 1.相同点 a.都可以删除数据,其中truncate用于全表清空数据,而delete可以选择的删 ...
- ACdreamoj(1105)模拟题
题意:射一次激光最多能够攻击到几个敌人(因为激光非常强大,能够在击中敌人后穿过它,而瑶瑶自己的坦克因为有特殊装置,所以不会被激光击中.激光也会直接穿过它) . 表示此处为空地 * 表示此处为障碍(激光 ...
- RQNOJ PID2 / 开心的金明
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”.今 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(15)-用户登录详细错误和权限数据库模型设计
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(15)-用户登录详细错误和权限数据库模型设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
- int有符号和无符号类型内存 -- C
/* int 有符号 0xffffffff == -1 0xfffffffe == -2 最小 0x80000000 == -21 4748 3648 最大 0x7fffffff == 21 4748 ...
- opencv2对于读书笔记——二值化——thresholded功能
opencv二进制图象值功能threshold功能 其结构 double cv::threshold( //二值化函数 const CvArr* src, //原始图像 CvArr* dst, //输 ...
- Entity Framework加载相关实体——延迟加载Lazy Loading、贪婪加载Eager Loading、显示加载Explicit Loading
Entity Framework提供了三种加载相关实体的方法:Lazy Loading,Eager Loading和Explicit Loading.首先我们先来看一下MSDN对三种加载实体方法的定义 ...
- 使用ArcGIS API for Silverlight实现地形坡度在线分析
原文:使用ArcGIS API for Silverlight实现地形坡度在线分析 苦逼的研究生课程终于在今天结束了,也许从今以后再也不会坐在大学的课堂上正式的听老师讲课了,接下来的时间就得开始找工作 ...
- autorun.vbs病毒的清除办法
症状:计算机里面出现一堆autorun为文件名称的文件,删除后出现找不到autorun.vbs的提示.我就打开当中的一个文件:Autorun.bat,内容例如以下: @echo off //不显示系 ...