Java中的for循环介绍

1、Java中的for循环
不严格的说,Java的第二种for循环基本是这样的格式:

for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体

借助这种语法,遍历一个数组的操作就可以采取这样的写法:
例1:遍历数组的简单方式

/* 建立一个数组 */
int[] integers = {1, 2, 3, 4};
/* 开始遍历 */
for (int i : integers) {
  System.out.println(i);/* 依次输出“1”、“2”、“3”、“4” */
}
//这里所用的for循环,会在编译期间被看成是这样的形式:遍历数组的简单方式的等价代码
/* 建立一个数组 */
int[] integers = {1, 2, 3, 4};
/* 开始遍历 */
for (int 变量名甲 = 0; 变量名甲 < integers.length; 变量名甲++){
  System.out.println(变量名甲);/*依次输出“1”、“2”、“3”、“4” */
}
//这里的“变量名甲”是一个由编译器自动生成的不会造成混乱的名字。

例2:遍历一个Collection的操作也就可以采用这样的写法:

//遍历Collection的简单方式
/* 建立一个Collection */
String[] strings = {"A", "B", "C", "D"};
Collection list = java.util.Arrays.asList(strings);
/* 开始遍历 */
for (Object str : list) {
  System.out.println(str);/* 依次输出“A”、“B”、“C”、“D” */
}
//这里所用的for循环,则会在编译期间被看成是这样的形式:遍历Collection的简单方式的等价代码
/* 建立一个Collection */
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
/* 开始遍历 */
for (Iterator 变量名乙 = list.iterator(); 变量名乙.hasNext();) {
  System.out.println(变量名乙.next());//依次输出“A”、“B”、“C”、“D”
}
/*这里的“变量名乙”也是一个由编译器自动生成的不会造成混乱的名字。因为在编译期间,编译器会把这种形式的for循环,看成是对应的传统形式,所以不必担心出现性能方面的问题。*/

二、foreach()循环

  foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。

foreach的语句格式:
foreach(数据类型 标识符 in 表达式){
    //引用了标识符的循环体
}
public void test1() {   
    //定义并初始化一个数组   
    int arr[] = {2, 3, 1};   
    System.out.println("排序前的一维数组");   
    for (int x : arr) {   
        System.out.println(x); //逐个输出数组元素的值   
    }   

    //对数组排序   
    Arrays.sort(arr);   

    //利用java新特性for each循环输出数组   
    System.out.println("排序后的一维数组");   
    foreach (int x in arr) {   
        System.out.println(x); //逐个输出数组元素的值   
    }
} 
运行结果:
排序前的一维数组 
2 
3 
1 
排序后的一维数组 
1 
2 
3

三、java中的instanceof
  instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
  

用法:
result = object instanceof class
参数:
Result:布尔类型。
Object:必选项。任意对象表达式。
Class:必选项。任意已定义的对象类。
说明:
如果 objectclass 的一个实例,则 instanceof 运算符返回 true。如果 object不是指定类的一个实例,或者 object 是 null,则返回 false

例:
  instanceof是Java的一个二元操作符,和==,>,<是同一类东东。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。举个例子:

  String s = “I AM an Object!”;
  boolean isObject = s instanceof Object;

  我们声明了一个String对象引用,指向一个String对象,然后用instancof来测试它所指向的对象是否是Object类的一个实例,显然,这是真的,所以返回true,也就是isObject的值为true。

4、js里的for循环定义如下:

for(var variable in obj) { ... }

  obj可以是一个普通的js对象或者一个数组。如果obj是js对象,那么variable在遍历中得到的是对象的属性的名字,而不是属性对应的值。如果obj是数组,那么variable在遍历中得到的是数组的下标。

//例1
var v = {};
v.field1 = "a";
v.field2 = "b";
for(var v in v) {
    console.log(v);
}
//控制台下输出:
field1 
field2 

//例2
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
for (var x in mycars){
  console.log(x);
}
//控制台输出:
0 
1
2 
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值