1、break 关键字
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。 break 跳出最里层的循环,并且继续执行该循环下面的语句。
【演示:跳出循环】
2、continue 关键字
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。 在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
3、两者区别
break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循 环中剩余的语句。(break语句也在switch语句中使用)
continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行 下一次是否执行循环的判定。 4、带标签的continue
【了解即可】
-
goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到 正式使用;Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些 goto的影子—带标签的break和continue。
-
“标签”是指后面跟一个冒号的标识符,例如:label:
-
对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希 望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使 用,它们就会中断到存在标签的地方。
-
带标签的break和continue的例子:
【演示:打印101-150之间所有的质数】
3.关于go to关键字
java中没有go to但是仍能看到go to的影子
“标签”是指后面跟着一个冒号的标识符
对于JAVA来说唯一用到标签的地方就是循环语句之前。而在循环语句之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由break和continue关键字通常只中断循环,但若随标签使用,他们就会中断到存在标签的地方。
Java方法详解
什么是方法
system.out.println()
//system 相当于一个类 out相当于对象 println()这个是方法
调用系统类里的标准输出对象的类
方法是语句的集合。他们再一起执行一个功能
*方法是解决一类问题的步骤的有序组合
*方法包含在类或对象里
*方法在程序中被创建,在其他地方被引用
设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合,我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样有利于我们后期的拓展
方法的命名规则:
首字母小写,后面是驼峰命名规则
方法的定义
JAVA的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:
方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型
返回值类型:方法可能会返回值。returnValueType是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValue Type是关键字void
方法名:是方法的实际名称。方法名和参数表共同构成方法签名
参数类型:参数像是一个占位符,当方法被调用时,传递值给参数。这个值被称为参或变量。参数列表是指方法的参数类型,顺序和参数的个数。参数是可选的,方法可以不包含任何参数
- 形式参数:在方法被调用时用于接收外界输入的数据
- 实参:调用方法时实际传给方法的数据
方法体:方法体包含具体的语句,定义该方法的功能
语法:
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
方调调用
调用方法:对象名,方法名(实参列表)
Java支持两种的调用方的方式。根据方法是否返回值来选择’
当方法返回一个值的时候,方法调用通常被当作一个值。
例如:
int larger=max(30,40);
如果方法返回值时void,方法调用一定是一条语句
system.out.println(“Hello,jiange”)
值传递(java)和引用传递
方法重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数
方法重载的规则:
方法名称必须相同
参数列表必须不同(个数不同,或类型不同,参数排列顺序不同等)
方法的返回值类型可以同也可以不同
仅仅返回类型不同不足以成为方法的重载
实现理论:
方法名称相同时,编译器会根据调用方法的参数个数,参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。
命令行传参
有时候希望运行一个程序时候再传递给他消息。这要靠传递命令行参数给main()函数实现
public class CommandLine{
public static void main(String arg[]){
for(int i=0;i<args.length;i++){
System.out.println("arg["+i+"]:")+args[i];
}
}
}
可变参数
JDK1.5开始,java支持同类型的可变参数给一个方法
在方法声明中,在指定参数类型后加一个省略号(…)
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它声明之前。
package com.jian.method;
public class Dome04 {
public static void main(String[] args){
printMax(34,43,434,434,432,42,24,42442);
printMax(new double[]{1,2424,442,2434});
}
public static void printMax (double...numbers){
if (numbers.length==0){
System.out.println("no argument passed");
return;
}
double result=numbers[0];
//排序
for (int i=1;i<numbers.length;i++){
if (numbers[i]>result){
result=numbers[i];
}
}
System.out.println("The max value is"+result);
}
}
递归
A方法调用B方法,我们很容易理解
递归就是A方法调用A方法!就是自己调用自己
利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题求解,递归策略只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大的减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。
递归结构包括两个部分:
递归头:什么时候不调用自身方法。如果没有头,将陷入死循环
递归体:什么时候需要调用自身方法