又到了今天学习java基础的时间,让我们一起来看看都更新了哪些新内容吧。
1、循环结构的第一种: for循环
语句定义格式:
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
2、 循环结构的第二种: while循环
语句定义格式:
初始化语句;
while(判断条件语句){
循环体内容;
控制条件语句;
}
/* while循环打印10句HelloWorld
初始化语句:int i=1;
判断条件语句:i<=10;
循环体语句:System.out.println("HelloWorld");
控制条件语句:i++;
*/
int i = 1;
while (i<=10){
System.out.println("HelloWorld");
i++;
}
while循环与for循环的区别?
(1)、它们之间虽然可以做等价转换,但在循环次数已知的情况下,优先使用for循环。
(2)、当循环的次数不确定的时候,优先使用while循环,举例:喝水,吃葡萄
作用域带来的区别:
(3)、for循环结束后,初始化语句中的变量在外部无法访问
(4)、while循环结束后,初始化语句中的变量还能继续使用
3、while循环的第二种格式:do...while循环
语句定义格式:
初始化语句;
do{
循环体语句;
控制条件语句;
}while(判断条件语句);
do...while循环与while循环的区别?
(1)、do...while循环会先执行一次循环体内容,然后再进行判断是否进循环。也即do...while至少执行一次。
(2)、while循环是先执行判断条件语句,是true的时候,才会执行循环体内容。
4、双重for循环:
外层for循环控制行,内层for循环控制列。
/**
* 需求:请输出如下图
*
* * 第一行,i=0,j<=i,打印1个
* ** 第二行,i=1,j<=i,打印2个
* *** 第三行,i=2,j<=i,打印3个
* **** 第四行,i=3,j<=i,打印4个
* ***** 第五行,i=4,j<=i,打印5个
*/
for (int i = 0; i < 5; i++) { // 外面的循环控制的是行
for (int j = 0; j <= i; j++) { // 内部的循环控制的是列
System.out.print("*\t");
}
System.out.println();// 每打印一行后换行
}
/**
* 需求:在控制台输出九九乘法表
*
* 1*1=1
* 2*1=2 2*2=4
* 3*1=3 3*2=6 3*3=9
* ...
* 9*1=9 9*2=18 .............. 9*9=81
*/
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i + "*" + j + "=" + (i * j) + "\t");
}
System.out.println();
}
4、跳转控制语句(有3个):
break; ---- break的作用是结束整个循环。
continue; ---- continue的作用是跳出当次循环,继续执行后面的循环。
return; ---- return的作用是结束main方法,结束程序执行。正常情况下,return在方法中使用。
(1)、break:
break的使用场景:在选择结构switch语句中、在循环语句中。离开使用场景的存在是没有意义的。
注意事项:
1、单独一个if语句中不可以使用,可以在for循环嵌套的if语句中使用。
2、单独使用break没有意义,也不准使用。
3、 break跳出多层循环的使用,带标签的跳出。
wc:for (int i = 1; i <= 9; i++) { //这里的wc就是自定义的标签
nc:for (int j = 1; j <= i; j++) {
if(j==4){
break wc; //单独使用的时候,结束的是离它最近的那个循环,就是跳出单层循环
}
System.out.print(i + "*" + j + "=" + (i * j) + "\t");
}
System.out.println();
}
(2)、continue:
只能使用在循环语句中
//在打印1-10过程中,打印3之前我们continue一下
for(int i=1;i<=10;i++){
if(i==3){
continue; //跳出当次循环,继续执行后面的循环。
}
System.out.println(i);
}
运行结果是:1 2 4 5 6 7 8 9,就是说跳过了输出3
(3)、return; 相当于结束了main方法,学完方法后,return作为定义方法的最后一句,表示方法结束返回值给调用者。
5、方法:
简单的理解:就是完成特定功能的代码块。在java中函数就是方法,方法就是函数。
定义格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...){
方法主体代码;
return 返回值;
}
名词解释:
(1)、修饰符:修饰符比较多,这里只需要记住一个组合: public static
(2)、返回值类型: 定义return返回的数据类型
(3)、方法名:给方法起个名字(必须要符合标识符规则)
(4)、参数(有2个):
形参:定义在方法内的参数名
实参:将来在main函数中调用方法实际传入的值
(5)、 参数类型: 限定将来调用方法时需要传入实参的数据类型
(6)、参数名(形参): 是一个变量,用于接收将来调用方法传入的实参。起名字的时候符合标识符规则,并且见名知意。
(7)、 函数体:将来要实现功能的代码,主要实现方法的主要逻辑。
(8)、 return:
一般情况下,有返回值的方法,才会有return。return的作用时将计算好的结果返回给调用者。
注意,return返回的结果类型要和方法定义的返回值类型要一致。
(9)、返回值:程序被return带回的结果,返回给调用者。
public class FunctionDemo1 {
public static void main(String[] args) {
//需求:计算两个int类型的数据之和
int a = 10;
int b = 20;
/**
* 有返回值的方法调用的时候,一般情况下,有两种处理方式:
* 1、定义一个变量接收方法的返回值(推荐使用这种方式,因为这种方式灵活度更高)。
* 2、直接输出或者直接使用。
*/
int res1 = sum(a,b);
System.out.println("a+b的和为:" + res1);
System.out.println("a+b的和为:" + sum(a,b));
}
/**
* 定义方法来实现
* 有返回值 int
* 参数是两个int类型的数据
*/
public static int sum(int a1, int b1) {
return a1 + b1;
}
}
注意:
1、返回值类型与return要一致。
2、方法不调用坚决不执行,在main方法中调用,因为main方法是JVM程序运行的唯一入口。
3、当只是输出的时候或者写数据的时候,方法没有返回值。没有返回值的时候,返回值类型是void。
4、方法与方法之间是平级关系,不能嵌套定义!!!
6、方法的重载:
当一个类中方法名一样,参数列表(参数个数或者参数类型)不一样的时候,这种现象叫做方法的重载现象。
public static double sum(int a, int b, double d) {
return a + b + d;
}
public static int sum(int a, int b, int c) {
return a + b + c;
}
注意:
1、方法重载与返回值无关
2、在调用时,虚拟机通过参数列表的不同来区分同名方法
好了,以上就是今天的所有内容了,喜欢的朋友给我点个赞,或者关注一下,感谢啦。
明天继续更新哦。