第三周。
这周看的东西比较多,这篇主要记录一些小知识点,下一篇写面向对象的一些知识。
Do while ——先执行,后判断
while ——先判断,后执行
break
break:在任何循环语句的主体部分均可用break用于强行退出循环,不执行循环中剩余的语句。
代码:从0~100循环随机一个数,如果随机出36结束循环,输出循环的次数。
int total = 0;
System.out.println("——————break例子——————");
while (true) {
total++;
int a = (int)(100*Math.random());
if (a == 36) {
break;
}
}
System.out.println("循环次数为" + total);
continue
continue语句用在循环语句中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
代码:输出从100到150中不能整除3的整数。
int changRows = 0;
for(int i = 100;i < 150;i++){
if(i%3 == 0){
continue;
}
changRows++;
System.out.print(i + "\t"); //这句要在if判断前面。
if(changRows % 3 == 0){
System.out.println(); //换行
}
}
goto关键字
goto关键字很早就在程序设计语言(c语言)中出现,尽管
goto仍是java的一个保留字,但并未在语言中得到正式使用。
java没有goto,然而在break和continue这俩个关键字的身
上,我们还可以找到一些goto的影子:带标签的break和
continue。
goto思想在java中的应用:打印100~150之间所有的质数。
outer: for(int i = 100; i <= 150; i++){
for(int j = 2; j < (i/2);j++ ){ //因为1可以被任何数整除,所以从2开始计算
if(i % j == 0){ //如果条件成立,表明这个数不是质数
continue outer;
}
}
System.out.print("质数为:" + i + "\t");
}
方法(method,function)
return:1.返回值。2.结束方法的标志。
java中进行方法调用中传递参数时,遵循值传递的原则:基本类型传递的是该数据值本身,引用类型传递的是对对象的引用,而不是对象本身。
**java中只有值传递**
设计方法的原则:方法的本意是功能块,就是实现某个功能的语句的集合。
我们设计方法的时候,最好保持方法的原子性(就是一个方法完成一个功能),这样有利于我们后期的扩展。
递归(耗时,耗空间的一种算法)
递归是一种常见的解决问题的方法,即把问题逐渐简单化。
递归的基本思想就是“自己调用自己”。
递归的结构包括俩部分:
递归头:什么时候不掉用自身的方法。如果没有递归头,将陷入死循环。
递归体:什么时候需要调用自身方法。
代码:计算阶乘
public static long factorial(int n){
if(n == 1){ //递归头
return 1;
}else{ // 递归体
return n * factorial(n - 1);
}
}
public static void main(String[] args) {
System.out.println(factorial(5));
}
API
Application Programming Interface 应用程序编程接口
Package
包的命名:域名倒着写,再加上模块名,并与内部管理类。
java中的核心包:java.lang 包。核心包中的类可以拿来直接用不需要导包(如:Byte,float,Math等)。