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 ...
随机推荐
- BZOJ 1015 JSOI2008 星球大战 starwar 并检查集合
标题效果:给定一个无向图.联通谋求块的数目,以及k一个点的破坏后每次:联通,块的数目 侧面和摧毁的地步全记录,我们可以做相反的. 需要注意的是该点不能算作破坏联通块 #include<cstdi ...
- cocos2d-x教程2:在windows下怎样批量转换pvr,ccz为png或jpg
这是一个非经常见的功能,可是找了全网,竟然找不到,于是借鉴别人的批处理文件,改了下,就能够把整个文件夹的所有一次批量转换. 将这个bat文件暂定为,myConvert.bat,运行时就把这个bat文件 ...
- 使用reserve要再次避免不必要的分配
关于STL容器,最了不起的一点是,它们会自己主动增长以便容纳下你放入当中的数据,仅仅要没有超出它们的最大限制就能够.对于vector和string,增长过程是这样来实现的:每当须要很多其它空间时 ...
- Android ADT Bundle(Eclipse with ADT) ADT R23
ADT Bundle Platform Package Size MD5 Checksum Windows 32-bit adt-bundle-windows-x86-20140624.zip 377 ...
- c++界面设计皮肤工具
1. 先进行软件界面设计,确定软件界面美术包装方案 2. 依据软件界面美术设计装方案制作对应的图片,图片格式请參见AUDK的帮助文档或皮肤工具SkinTool 的 Demo 3. 打开皮肤工具 Ski ...
- 用Maven整合SpringMVC+Spring+Hibernate 框架,实现简单的插入数据库数据功能
一.搭建開始前的准备 1.我用的MyEclipse2014版,大家也能够用IDEA. 2.下载Tomcat(免安装解压包).MySQL(zip包下载地址 免安装解压包,优点就是双击启动,最后我会把ba ...
- js 正则学习小记之NFA引擎
原文:js 正则学习小记之NFA引擎 之前一直认为自己正则还不错,在看 次碳酸钴,Barret Lee 等大神都把正则玩的出神入化后发现我只是个战五渣. 求抱大腿,求大神调教. 之前大致有个印象,正 ...
- Java数据结构系列——简单排序:泡、选择、直接进入
package SimpleSort; public class SimpleSort { /** * 冒泡排序:每次循环过程中.小的排在后面的数会像水中的 * 气泡一样慢慢往上冒,所以命名为冒泡排序 ...
- VS2013打包部署(图解)
首先要说明的是VS解决方案的配置Debug模式和Release有什么区别模式.Debug模式通常被称为调试模式,它包括调试信息,不优化的代码,序:Release模式通常叫做公布模式.不包括调试信息,可 ...
- SEO要领:8文章主持技巧(两)
续篇:搜索引擎优化要领:8条辅助技巧(一) 四.检查你的robots.txt文件 与谷歌的蜘蛛通信的经常用法是使用robots.txt文件. 这是一个文本文件.同意你告诉搜索引擎,你的站点的网页上抓取 ...