学习java语法知识(2)

关键字的使用

continue,break,return关键子的使用
continue

一般用于循环语句,当循环到某一次时,跳过该次循环

//输出0~10之间所有的奇数
for(int i = 0;i<10;i++){
    if(i % 2 == 0){
        continue;
    }
    System.out.println(i);
}
break

主要用于switch中的case条件,可以防止case穿透;另外,break用于循环语句时,在循环中表示这一层的结束

loop1:for(int j = 10;j<20;j++){			
    loop2:for(int i = 1;i<10;i++){
        if(i % 3 == 0){
            break loop1;
        }
        System.out.println(j+"==="+i);
    }
}
return

return 一般用于方法中,表示方法的结束,当return被执行时,其后续代码没有执行的可能性。

递归

递归指的是在方法内部对方法自身调用;递归一般用于一些常见的算法的解决,在实际应用中,比如对文件夹内部文件的递归检索;以及树形菜单的显示;递归是对循环的一种补充。

//求5!
public int m(int n){
    if(n == 1){
        return 1;
    }else{
        return n * m(n - 1);
    }
}

//斐波拉契数列
public long fib(long n){
    if(n == 1 || n == 2){
        return 1;
    }else{
        return fib(n - 1) + fib(n - 2);
    }
}

数组

在java中,数组是一种用于存储一种相同类型数据的数据结构,比如一组整数,一组字符串,甚至是一组对象,数组是一种有序的线性结构;

数组的声明方法

数据类型[] 变量名称

int[] i;
boolean[] b;
String[] s;
Student[] stus;
数组的初始化

java中数组的初始化分为两种方式:

  1. 静态初始化:在声明时直接将数组中的元素定义出来
  2. 动态初始化:在声明数组时,只为其分配空间,而不赋予元素
//静态初始化
int[] i = {1,1,2,3,5,8,13};

//动态初始化
int[] j = new int[6];
int[] k = new int[]{4,5,6,7};
数组的遍历
int[] i = {1,1,2,3,5,8,13};

//遍历数组中的元素-for循环
for(int n = 0;n < i.length;n++){
    System.out.println(i[n]);
}

//while循环遍历
int index = 0;
while(index < i.length){
    System.out.println(i[index]);
    index++;
}

//JDK1.5+新增了增强for循环(forEach)
for(int m:i){
    System.out.println(m);
}

数组长度一旦定义了就无法改变

数组拷贝
int[] i = {3,4,5};

int[] j = new int[10];

//数组的拷贝 ArrayList
System.arraycopy(i,0,j,0,i.length);

ArrayList(动态数组)的实现就是使用数组拷贝完成

排序算法

1选择排序
Arrays.sort()?)里面是要进行排序算法的数组
2 折半查找
Arrays.binarySearch(a,t);a是数组,t是输入的数组中的数

多维数组
多维数组的声明
静态初始化
String[][] citys = {
    {"武汉","荆门","孝感","黄石"},
    {"长沙","湘潭","岳阳"},
    {"广州","东莞","韶关"}
};
动态初始化
//二维数组的动态初始化(只指定行数)
int[][] i = new int[3][];//{}
//为指定的元素赋值(指定列空间)
i[0] = new int[2];
i[0][0] = 1;
二维数组遍历
String[][] citys = {
    {"武汉","荆门","孝感","黄石"},
    {"长沙","湘潭","岳阳"},
    {"广州","东莞","韶关"}
};

for(int i = 0;i < citys.length;i++){
    for(int j = 0;j < citys[i].length;j++){
        System.out.print(citys[i][j]+" ");
    }
    System.out.println();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值