java与.net比较学习系列(5) 流程控制语句
java中流程控制语句主要分为以下几类,第一,条件语句,主要包括if语句和switch语句。第二,循环语句,主要包括while循环语句,for循环语句。第三,跳转语句,主要包括三种,break跳出语句,continue继续语句和return返回语句。可以说分类和用法大致与C#基本相同。
这篇文章主要从以下几个方面进行总结。
1,条件语句之if语句
2,条件语句之switch语句
3,循环语句之while循环
4,循环语句之for循环
5,跳转语句之return返回
6,跳转语句之break跳出
7,跳转语句之continue继续
条件语句之if语句
这里的if语句包括了if语句和if…else语句。其中if语句是按条件执行,if…else则实现了双路分支,它可以控制程序在两个不同的路径中执行。当然,if语句和if…else语句可以混合使用,但是有一个原则是else语句总是和其最近的if语句相搭配。下面是示例和代码。

public class StatementIf { /**
* @param args
*/
public static void main(String[] args) {
// if条件语句
int k = 87; // 表示成绩
String str = null; // 表示成绩评价 if (k < 0 || k > 100) {
str = "成绩不合法";
}
if (k < 60) {
str = "不及格";
}
if (k >= 60 && k < 75) {
str = "合格";
}
if (k >= 75 && k < 85) {
str = "优秀";
} else {
str = "良好";
}
System.out.println("分数:" + k + "评价:" + str);
}
}

程序输出结果为:分数:87评价:良好
总结:条件语句的if语句用法与C#相同。
条件语句之switch语句
上面的示例中使用了if…else阶梯的形式进行多路分支语句的处理,但是这样的过程非常复杂,所以java提供了一种简单的形式实现了多路分支情况的处理,即switch语句。下面是示例和代码。

public class StatementSwitch { /**
* @param args
*/
public static void main(String[] args) {
// Switch语句
int k = 5;
String str = "k=" + k + "的汉字形式是:"; switch (k) { // switch中的表达式可以是整形或字符串
case 1:
str += "一";
break;
case 2:
str += "二";
break;
case 3:
str += "三";
break;
case 4:
str += "四";
break;
case 5:
str += "五";
break;
case 6:
str += "六";
break;
case 7:
str += "七";
break;
default:
str += "数字超出范围";
break;
}
System.out.println(str);
}
}

程序输出结果为:k=5的汉字形式是:五
总结:java中的switch语句用法与C#基本相同。
循环语句之while循环
while循环的特点是当条件为true时会一直执行循环体的内容,直到条件的值为假时为止。下面是示例和代码。

public class StatementWhile { /**
* @param args
*/
public static void main(String[] args) {
// while循环(当条件为true时会一直执行循环体的语句,直到条件为假为止)
int n = 10;
while (n > 0) {
System.out.println("n=" + n);
n--;
}
}
}

程序输出结果为:
n=10 n=9 n=8 n=7 n=6 n=5 n=4 n=3 n=2 n=1
总结:java的while循环语句用法与C#基本相同。
循环语句之for循环
for循环语句是while循环的加强,注意for循环的语法格式,下面是示例和代码。

public class StatementFor { /**
* @param args
*/
public static void main(String[] args) {
// for语句
// 计算1到100各整数的和
int sum = 0;
for (int n = 100; n > 0; n--) {
sum += n;
}
System.out.println("1到100各整数的和为:" + sum);
}
}

程序输出结果:1到100各整数的和为:5050
总结:java中的for循环用法与C#基本相同,但是C#中新增了foreach语句可以遍历实现了IEnumerable接口的数组或对象集合,java中也有类似于C#中的foreach语句,但是形式不同,具体的用法在后面会进行总结。
跳转语句之return返回
return返回语句,一般用于方法的返回,它把程序的控制权交给方法的调用者。return可以有返回值也可以没有。下面是示例和代码。

public class StatementReturn { /**
* @param args
*/
public static void main(String[] args) {
// return返回语句,一般用于方法的返回,它把程序的控制权交给方法的调用者
for (int i = 0; i < 10; i++) {
if (i < 5) {
System.out.println("第" + i + "次循环");
} else if (i == 5) {
return;
}
// 下面的语句永远不会执行
else {
System.out.println("第" + i + "次循环");
}
}
}
}

程序输出结果为:
第0次循环 第1次循环 第2次循环 第3次循环 第4次循环
总结:java中的return返回语句的用法与C#基本相同。
跳转语句之break跳出
break语句的主要作用是强制跳出循环,即使在条件仍然满足的情况下。循环被终止,并从循环后下一句处继续执行程序。下面是示例和代码。

public class StatementBreak { /**
* @param args
*/
public static void main(String[] args) {
// break语句,跳出循环,将控制传递给循环后面的语句
System.out.println("使用break的例子");
for (int i = 0; i <= 50; i++) {
System.out.println("i=" + i);
if (i == 10)
break; // 当i等于10的时候跳出循环
}
System.out.println("循环跳出");
}
}

程序输出结果为:
使用break的例子 i=0 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 循环跳出
总结:break语句的用法与C#基本相同。
跳转语句之continue继续
continue语句的作用是终止当次循环剩余的部分,然后继续执行下次循环。它不像break完全终止循环,这一点需要注意。下面是示例和代码。

public class StatementContinue { /**
* @param args
*/
public static void main(String[] args) {
// continue语句,停止当前循环的剩余部分,继续执行下一次循环
for (int i = 1; i <= 50; i++) {
System.out.print(i + " ");
if (i % 5 != 0) {
continue;
} else {
// 当i除以5等于0时换行
System.out.println("*****");
}
}
}
}

程序输出结果为:
1 2 3 4 5 ***** 6 7 8 9 10 ***** 11 12 13 14 15 ***** 16 17 18 19 20 ***** 21 22 23 24 25 ***** 26 27 28 29 30 ***** 31 32 33 34 35 ***** 36 37 38 39 40 ***** 41 42 43 44 45 ***** 46 47 48 49 50 *****
总结:java中的continue语句用法与C#基本相同,在循环语句中比较常用。
文章摘自:http://www.cnblogs.com/mcgrady/p/3407437.html
java与.net比较学习系列(5) 流程控制语句的更多相关文章
- Java学习笔记之---流程控制语句
Java学习笔记之---流程控制语句 (一)循环语句 (1)if语句 if(布尔表达式){ //如果布尔表达式为true将执行的语句 } if(i%2!=0){ System.out.println( ...
- Java I/O系统学习系列二:输入和输出
编程语言的I/O类库中常使用流这个抽象概念,它代表任何有能力产出数据的数据源对象或者是有能力接收数据的接收端对象.“流”屏蔽了实际的I/O设备中处理数据的细节. 在这个系列的第一篇文章:<< ...
- java与.net比较学习系列(2) 基础语言要素
这一篇从最基础的开始对比总结,说起基础语言要素,故名思义,就是学习语言的基础,主要内容包括标识符,关键字和注释.我想从以下几点进行总结,有区别的地方有都使用红色粗体字进行了总结. 1,标识符 2,关键 ...
- java与.net比较学习系列开发环境和常用调试技巧常用操作快捷键
调试 F5 F11 调试运行 CTRL+F5 暂无 非调试运行 F6 不适用 编译整个解决方案 SHIFT+F6 不适用 编译当前选择的工程 SHIFT+F5 CTRL ...
- Dart语言学习(十) Dart流程控制语句
一.条件语句:if.if...elseif.if...elseif...else int score = 95; if (score >=90) { print('优秀'); } else if ...
- Java基础(Scanner、Random、流程控制语句)
第3天 Java基础语法 今日内容介绍 u 引用数据数据类型(Scanner.Random) u 流程控制语句(if.for.while.dowhile.break.continue) 第1章 引用数 ...
- java与.net比较学习系列(1) 开发环境和常用调试技巧
最近因为公司项目要由.net平台转到java平台的原因,之前一直用.net的我不得不开始学习java了,刚开始听到说要转java的时候很抗拒,因为我想专注在.net平台上,不过这样也并不完全是坏事,通 ...
- Java I/O系统学习系列一:File和RandomAccessFile
I/O系统即输入/输出系统,对于一门程序语言来说,创建一个好的输入/输出系统并非易事.因为不仅存在各种I/O源端和想要与之通信的接收端(文件.控制台.网络链接等),而且还需要支持多种不同方式的通信(顺 ...
- Java 7 源码学习系列(一)——String
String表示字符串,Java中所有字符串的字面值都是String类的实例,例如“ABC”.字符串是常量,在定义之后不能被改变,字符串缓冲区支持可变的字符串.因为 String 对象是不可变的,所以 ...
随机推荐
- Android 编程下 Activity 的创建和应用退出时的销毁
为了确保对应用中 Activity 的创建和销毁状态进行控制,所以就需要一个全局的变量来记录和销毁这些 Activity.这里的大概思路是写一个类继承 Application,并使获取该 Applic ...
- kvm 启动libvirtd市出现错误
kvm 启动libvirtd市出现错误: /etc/init.d/libvirtd start启动 libvirtd 守护进程:libvirtd: relocation error: libvirtd ...
- 监控工具zabbix
1 安装zabbixyum install -y epel-release安装rpm包的lamp环境 yum install httpd mysql mysql-libs php php-mysql ...
- angularJS自定义过滤器、服务和指令
自定义过滤器 mainApp.filter('mayfilter',function(){ return function(input){ (过滤逻辑代码) } }); 自定义创建指令 mainA ...
- 老生常谈的Javascript作用域问题
在前端学习中,作用域这个问题一直被广泛提起,什么是作用域,什么又是作用域链?在Javascript中,怎么去理解这些概念都是学好这门语言的关键,所以在学习前端开发的过程中,我需要也很有必要去学习和总结 ...
- Web Service学习笔记(webservice、soap、wsdl、jws详细分析) (转)
Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...
- 调试EF源码
在解决方案中添加下载好的EF的源码的引用 在新建项目中添加程序集的引用 添加配置文件中的节点 测试 获取程序集的公钥标记: 使用sn.exe命令 使用reflector
- 《第一行代码》学习笔记13-UI(2)
1.EditText:程序和用户进行交互的重要控件,允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理. 2.Android控件使用的一般规律:给控件定义一个id->指定下控件的宽 ...
- Geodatabase - 创建要素类.
在NET中,会遇到以“_2”结尾的属性,这些属性是可写的. 以下代码在已有工作空间下,创建一个新的点要素类: //例如,personalDBPath=@"G:\doc\gis\1.400\d ...
- 通过maven创建自己的archetype
最近项目组做好一套框架,为了推广需要创建一些空白项目给项目组使用,因为所有的空白项目里面的配置基本上都是一样的,为了减少重复工作,想通过maven创建一个自己的archetype,于是在网上大致搜了一 ...