day04(循环语句&方法)

04.01 Java语言基础(循环结构概述和for语句的格式及其使用)

A:循环结构的分类: for while do...while

B:循环结构for语句的格式:

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

循环体;

}

C:执行流程:

  1. 执行初始化语句
  2. 执行判断条件语句,看其返回值是true还是false

如果是true,就继续执行

如果是false,就结束循环

  1. 执行循环体语句
  2. 执行循环后的操作表达式
  3. 回到B继续

04.02 Java语言基础(循环结构for语句的练习之获取数据)

A: 输出数据1-10

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

System.out.println(“i = ”+ i);

}

输出数据10-1

for(int i = 10; i>=1;i--){

System.out.println(“i = ”+ i);

}

B:注意实事项:

  1. 判断条件语句无论简单还是复杂结果是boolean类型
  2. 循环题语句如果是一条语句,大括号可以省略,多态语句,不能省略,建议永远不要省略
  3. 一般来说:有左大括号就没有分好,有分号就没有左大括号

04.03 Java语言基础(循环结构for语句的练习之求和思想)

A:案例:求出1-10之间数据之和

int sum = 0;

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

sum = sum +i;

}

System.out.println(“sum = ”+ sum);

B:1.求出1-100之间偶数和

int sum = 0;

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

if(i%2==0){

sum = sum +i;

}

}

System.out.println(“sum = ”+ sum);

 

2.求出1-100之间奇数和 

int sum=0;
  for(int i=1;i<=100;i=i+2){
sum=sum+i;
  }
  System.out.println("1-100奇数之和为:"+sum);

 

 

 

04.04 Java语言基础(循环结构for语句的练习之水仙花数)

A:案例:输出所有的水仙花数

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

举例: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/100%10; //1%10

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

System.out.println(i);

}

}

04.05 Java语言基础(循环结构for语句的练习之统计思想)

A:案例:统计”水仙花数”共有多少个

分析:1.需要有一个变量记录住水仙花数的个数

2.获取到所有的3位数

3.判断是否满足水仙花数

4.如果满足条件,计数器就自增

int count = 0;

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/100%10; //1%10

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

count++;

}

}

System.out.println(i);

04.06 Java语言基础(循环结构while语句的格式和基本使用)

1.while循环的基本格式:

While(判断条件语句){

循环体语句;

}

2.while循环的完整格式:

While(判断条件语句){

循环体语句;

控制循环语句;

}

3.执行流程:

执行初始化语句

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

如果是true,就继续执行

如果是false,就结束循环

执行循环语句

执行控制条件语句

回到B继续

4.在控制台输出数据1-10

int x = 1;

while(x<=10){

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

x++;

}

04.07 Java语言基础(循环结构while语句的练习)

A:求和思想:求1-100之和

int sum = 1;

int x = 1;

while(x<=100){

Sum += i; //sum = sum+i

x++; //让变量i自增

}

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

B:统计思想:统计水仙花数共有几个

int count = 0; //计数器

int i = 100;

while(i<=999){ //获取100到999之间的数

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

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

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

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

count++;

}

i++;

}

System.out.println(count = +count);

C:某屌丝为了追求女神,写了一段代码示爱,但是女神也会java,改动一下把屌丝拒绝

int j = 1;

While(j<=10000){

System.out.println(I love you !!);

}

改动的代码:

While(j<=10000);{

不执行循环体

}

04.08 Java语言基础(循环结构do ...while语句的格式和基本使用)

A:循环结构 do...while语句的格式:

do{

循环体语句;

}while(判断条件语句);

完整格式:

初始化语句

do{

循环体语句;

控制条件语句;

}while(判断条件语句);

B:执行流程:

  1. 执行初始化语句
  2. 执行循环体语句
  3. 执行控制条件语句
  4. 执行判断条件语句,看其返回值是true还是false

如果是true,就继续执行

如果是false,就结束循环

  1. 回到B继续

C:输出1-10的数据

Int i= 1;

do{

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

}while(i<=10);

04.09Java语言基础(循环结构三种循环语句的区别)

A:三种循环语句的区别:

do ...while循环至少执行一次循环体

而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句.

B:for 循环与while循环的区别:

如果想要在循环结束后,继续使用控制条件的那个变量,用while,否则用for.因为for 循环中定义的变量使用后 会被释放

04.10Java语言基础(循环结构注意事项之死循环)

A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环

B:两种最简单的死循环

while(true){.....}

for( ;  ; ){.....}

04.11 Java语言基础(循环结构循环嵌套输出4行5列的星星)

A:案例:请输出一个4行5列的星星(*)图案

  如: *****

*****

*****

*****

注意:System.out.println(“*”) 和System.out.print(“*”)的区别

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

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

System.out.print(“*”); //print不换行

}

System.out.println(“”); //println换行

}

B;外循环控制行数, 内循环控制列数

04.12Java语言基础(循环结构循环嵌套输出正三角形)

A:案例:请输出下列形状

*

* *

* * *

* * * *

* * * * *

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

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

System.out.print(“*”); //print不换行

}

System.out.println(“”); //println换行

}

 

04.13Java语言基础(循环结构九九乘法表)

A:输出九九乘法表:

1 * 1 =1

1 * 2 = 2 2 * 2 = 4

......

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

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

System.out.print(j+”*”+i+”=”+(i*j)+’\t’); //print不换行

}

System.out.println(“”); //println换行

}

B:代码优化:

‘\t’ tab键 ‘\r’ 回车 ‘\n’换行

04.14 Java语言基础(控制跳转语句break语句)

A:break : 只能用在switch 和 循环中

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

if(j == 4){

break; //跳出循环

}

System.out.print(j);

}

 

04.15 Java语言基础(控制跳转语句continue语句)

A:continue : 只能用在循环中

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

if(i == 4){

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

}

System.out.print(i);

}

04.16 Java语言基础(控制跳转语句标号)

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

System.out.print(“i = ”+ i);

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

System.out.print(“j = ”+ j);

break outer; //outer就是标号,只要是合法的标识符就可以

}

}

04.17Java语言基础(控制跳转语句练习)

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

if(i%3 == 0){

// break; //我想在控制台输出2次:”java基础班”

// continue ; //我想在控制台输出7次:”java基础班”

System.out.print(java基础班”

);//我想在控制台输出13次:”java基础班”

}

System.out.print(java基础班”

);

}

04.18Java语言基础(控制跳转语句return语句)

A:return的作用

返回

结束方法

B:return 和break以及continue的区别

return 结束方法

break 跳出循环

Continue 终止本次循环继续下次循环

04.19Java语言基础(方法概述和格式说明)

A;为什么要有方法: 提高代码的复用性

B:什么是方法: 完成特定功能的代码块

C:方法的格式:

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

方法体语句;

return 返回值;

}

D;方法的格式说明:

修饰符:目前就用 public static

返回值类型:就是功能结果的数据类型

方法名:符合命名规则即可.方便我们的调用

参数:

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

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

参数类型:就是参数的数据类型

参数名:就是变量名

方法体语句:就是完成功能的代码

return :结束方法的

返回值:就是功能的结果,由return带给调用者

04.20Java语言基础(方法之求和案例及其调用)

A:如何写一个方法

明确返回值类型

明确参数列表

B:案例;求两个数据之和

import java.util.Scanner;

 

public static void mian(String[] args ){

Scanner scanner = new Scanner(System.in);

System.out.println("请输入a值:");

double a = scanner.nextInt();

System.out.println("请输入b的值:");

double b = scanner.nextInt();

int sum=add(a,b); 

System.out.println("两个数的和:" + sum);

}

public static int add(double a ,double b ){

return a+b ;

}

 

04.21_Java语言基础(方法的注意事项)

A;方法调用:

  1. 单独调用,一般来说没有意义,所有不推荐
  2. 输出调用,但是不够好.因为我们肯需要针对结果进行进一步的操作
  3. 赋值调用,推荐方案

B:注意事项:

  1. 方法不调用不执行
  2. 方法与方法是平级关系,不能嵌套定义
  3. 方法定义的时候参数之间用逗号隔开
  4. 方法调用的时候不用在传递数据类型
  5. 如果方法有明确的返回值,一定要有return带回一个值

04.22_Java语言基础(方法的练习)

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

import java.util.Scanner;

 

public static void main(String[]) args{

Scanner scanner = new Scanner(System.in);

System.out.println("请输入a值:");

int a = scanner.nextInt();

System.out.println("请输入b的值:");

int b = scanner.nextInt();

int max=getMAX(a,b); 

System.out.println("最大的数是:" + max);

}

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

  if(a > b){

return a;

} else{

     return b;

}

案例: 键盘录入两个数据,比较两个数是否相等???

import java.util.Scanner;

 

public static void main(String[]) args{

Scanner scanner = new Scanner(System.in);

System.out.println("请输入a值:");

double a = scanner.nextInt();

System.out.println("请输入b的值:");

double b = scanner.nextInt();

boolean be = isEquals(a,b); 

}

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

return a==b;

}

04.23_Java语言基础(方法之输出星形及其调用)

案例: 根据键盘录入的行数和列数,在控制台输出星形

调用

import java.util.Scanner;

 

public static void main(String[]) args{

Scanner scanner = new Scanner(System.in);

System.out.println("请输入行数:");

int a = scanner.nextInt();

System.out.println("请输入列数:");

int b = scanner.nextInt();

ShowStar(a,b); 

}

public void ShowStar(int a, int b) {

 for (int i = 0; i < a; i++) {

for (int j = 0; j < b; j++) {

System.out.print("*");

} System.out.println();

}

return;

}

 

 

04.24_Java语言基础(方法的练习)

案例:根据键盘录入输出相应的乘法表

import java.util.Scanner;

 

public static void main(String[]) args{

System.out.println("请输入N:(0<N<9)");

         Scanner sc=new Scanner(System.in);

         int N=sc.nextInt();

         System.out.println("下面是"+N+"*"+N+"的乘法表");

chengfab(N); 

}

public void chengfab(int a) {

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

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

                 System.out.print(x+"*"+y+"="+x*y+"      ");

             }

             System.out.println();

         }

}

 

04.25_Java语言基础(方法重载概述和基本使用)

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

参数列表不同;

  1. 参数个数不同

public void add(int a,int b) {

  return a+b;         

}

public void add(int a,int b,int c) {

  return a+b+c;         

}

 

  1. 参数类型不同

public void add(int a,int b) {

  return a+b;         

}

public void add(double a,double  b) {

  return a+b;         

}

 

  1. 参数顺序不同(算重载,但在开发中不用)

 

04.26_Java语言基础(方法重载练习比较数据是否相等)

A:比较两个数据是否相等

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

return a==b;

}

B:参数类型分别为两个int类型,两个double类型,并在main方法中进行测试

public static void main(String[]) args{

boolean x = isEquals(10,2);

 System.out.println(x);

boolean be = isEquals(10.5 , 10.5); 

System.out.println(be);

}  

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

return a==b;

}

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

return a==b;

}

猜你喜欢

转载自blog.csdn.net/qq_42700595/article/details/81180151
今日推荐