java语言基础2

2019-10-12  本文已影响0人  爱睡觉的小章鱼

1.循环语句

分类:

for,while,do...while 

(1)循环结构for

a.语句格式

for(初始化表达式;条件表达式;循环后的操作表达式) {

循环体;

}

b.执行流程

a:执行初始化语句

b:执行判断条件语句,看其返回值是true还是false

如果是true,就继续执行

如果是false,就结束循环

c:执行循环体语句;

d:执行循环后的操作表达式

e:回到B继续。

c.示例:

for (int i = 1;i <= 10 ;i++ ) {

System.out.println("helloworld");

}

d.注意

循环体语句如果是一条语句,大括号可以省略;

如果是多条语句,大括号不能省略。建议永远不要省略。

一般来说:有左大括号就没有分号,有分号就没有左大括号

e.例子

求出1-100之间奇数和

int sum = 0;

for (int i = 1;i <= 100 ;i+=2 ) {

/*if (i % 2 != 0) {

sum = sum + i;

}*/

sum = sum + i;

}

System.out.println("sum = " + sum);

在控制台输出所有的”水仙花数”

所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

举例:153就是一个水仙花数。

153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153

分析:

1,100 - 999

2,获取每一个位数的值,百位,十位,个位

3,判断各个位上的立方和是否等于这个数,如果等于打印

for (int i = 100;i <= 999 ;i++ ) { //获取100到999之间的数

int ge = i % 10; //123 % 10

int shi = i / 10 % 10; //12 % 10;

int bai = i / 10 / 10 % 10; //1 % 10

if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {

System.out.println(i);

}

(2) 循环结构while

a.语句的格式

初始化语句;                                                                                                                                         while(判断条件语句)                                                                                                                             {                                                                                                                                                        循环体语句;                                                                                                                                      控制条件语句;                                                                                                                                                            }

b.执行流程

a:执行初始化语句

b:执行判断条件语句,看其返回值是true还是false

如果是true,就继续执行

如果是false,就结束循环

c:执行循环体语句;

d:执行控制条件语句

e:回到B继续。

c.示例

public static void main(String[] args) {

int x = 1;

while (x <= 10) {

System.out.println("x = " +  x);

x++;

}

}

(3) 循环结构do while

a.语句的格式

初始化语句;

do {

循环体语句;

控制条件语句;

}while(判断条件语句);

b.执行流程

a:执行初始化语句

b:执行循环体语句;

c:执行控制条件语句

d:执行判断条件语句,看其返回值是true还是false

如果是true,就继续执行

如果是false,就结束循环

e:回到b继续。

(4)  无限循环

while语句的无限循环

while (true) {

System.out.println("hello world");

for语句的无限循环

for (; ; ) {

System.out.println("hello world");

}

(5)  循环嵌套

示例

for (int i = 1;i <= 4 ;i++ ) { //外循环决定的是行数

for (int j = 1;j <= 5 ;j++ ) { //内循环决定的是列数

System.out.print("*");

}

System.out.println();

}

结果

*****

*****

*****

*****

2.  控制语句

(1)break的使用场景

只能在switch和循环中 

for (int x = 1;x <= 10 ;x++ ) {

if (x == 4) {

break; //跳出循环

}

System.out.println("x = " + x);

结果为1  2  3

(2)continue的使用场景

只能在循环中 

for (int x = 1;x <= 10 ;x++ ) {

if (x == 4) {

continue; //终止本次循环,继续下次循环

}

System.out.println("x = " + x);

结果为1 2 3 5 6 7 8 9 10
(3)mark 的使用场景

outer: for (int i = 1;i <= 10 ;i++ ) { //outer就是标号,只要是合法的标识符即可

System.out.println("i = " + i);

inner: for (int j = 1;j <= 10 ;j++ ) {

System.out.println("j = " + j);

break outer;

}

结果为i=1  j=1

(4)return 的使用场景

for (int i = 1;i <= 10 ;i++ ) {

if (i == 4) {

//break; //停止循环

return; //返回的意思,用来返回方法

}

}

(5)  return和break以及continue的区别?

return是结束方法

break是跳出循环

continue是终止本次循环继续下次循环

3.  方法

(1)方法的格式

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {

            方法体语句;

            return 返回值; 

        } 

(2)方法的格式说明

 参数:

实际参数:就是实际参与运算的。

形式参数;就是方法定义上的,用于接收实际参数的。

(3)示例

键盘录入两个数据,返回两个数中的较大值

public static void main(String[] args) {

Scanner sc = new Scanner(System.in); //创建键盘录入对象

System.out.println("请输入第一个整数:");

int x = sc.nextInt(); //将键盘录入的整数存储在x中

System.out.println("请输入第二个整数:");

int y = sc.nextInt(); //将键盘录入的整数存储在y中

int max = getMax(x,y);

System.out.println(max);

public static int getMax(int a,int b) {

return a > b ? a : b;

}

(4)方法重载

在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

参数列表不同:

A:参数个数不同 B:参数类型不同 C:参数的顺序不同(算重载,但是在开发中不用)

(5)示例

比较两个数据是否相等

boolean b1 = isEquals(10,10);

System.out.println(b1);

boolean b2 = isEquals(10.5,10.5);

System.out.println(b2);

public static boolean isEquals(int a,int b) {

return a == b;

}

public static boolean isEquals(double a,double b) {

return a == b;

}

上一篇 下一篇

猜你喜欢

热点阅读