day05韩明琰

一. 方法(函数)

1:函数的概念?函数的格式?格式的解释说明

函数又叫方法,是完成特定功能的代码块

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

            方法体语句;

            return 返回值;

           }

修饰符: 目前就用public static 修饰

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

方法名: 符合命名规则即可,最好见名识义

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

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

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

参数名: 就是变量名

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

return: 结束方法的

返回值: 功能的结果,由return带给调用者:返回值是什么类型,返回值类型就是该类型

2:函数的调用
 A:明确返回值类型的函数调用

单独调用:没有什么意义,不推荐

输出调用:不够好,因为我们可能对结果做进一步操作

赋值调用:推荐方案
 B:void类型的函数调用

单独调用:正确

输出调用:错误

赋值调用:错误
 
3:函数的练习:
 A:求两个数据之和
 B:判断两个数据是否相等
 C:获取两个数中较大的值
 D:打印m行n列的星形矩形
 E:打印nn乘法表

package com.zkch.test;

import java.util.Scanner;

public class Demo3 {
 public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入第一个数字:");
  int num1 = sc.nextInt();
  System.out.println("请输入第二个数字:");
  int num2 = sc.nextInt();
  System.out.println("两个数字的和为:"+add(num1,num2));
  System.out.println("两个数字是否相等:"+isEquals(num1,num2));
  System.out.println("较大的数字为:"+getMax(num1,num2));
  System.out.println("请输入矩形的行数:");
  int row = sc.nextInt();
  System.out.println("请输入矩形的列数:");
  int column = sc.nextInt();
  getStar(row,column);
  System.out.println("请输入要打印几几乘法表(1到9)");
  int num3 = sc.nextInt();
  get99(num3);
 }
public static int add(int a,int b) {
 return a+b;
}
public static boolean isEquals(int a,int b) {
 return a==b;
}
public static int getMax(int a,int b) {
 return a>b?a:b;
}
public static void getStar(int a,int b){
 for(int i = 1;i <= a;i++) {
  for(int j = 1;j <= b;j++) {
   System.out.print("*");
  }
  System.out.println();
 }
}
public static void get99(int num) {
 for(int i = 1;i <= num;i++) {
  for(int j = 1;j <= i;j++) {
   System.out.print(j+"*"+i+"="+i*j+"\t");
  }
  System.out.println();
 }
}

}

4:什么是函数重载?以及函数重载的练习?把讲过的案例练习一次即可

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

===============================================================
===============================================================

二. 内存图

画图操作:
1.一个数组的内存图

 

2.两个数组的内存图

 

 

3.三个引用两个数组的内存图

 

=======================================
=======================================


⦁ 填空题
⦁ Java中有两种类型的选择结构的控制语句,分别是if语句和  switch语句            。
⦁ 在Java JDK1.7之前,switch只能支持byte、short、char、int或者其对应的封装类以及Enum类型。在JDK1.7中又加入了    String        类型。
⦁ for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中在整个循环过程中只执行一次的部分是  表达式1         。
⦁ 在循环结构中,如果想跳出循环体,结束整个循环结构可以使用   break      语句。
⦁ _______continue______语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。即只结束本次循环,而不是终止整个循环的执行。


⦁ 选择题

1. 以下代码的执行结果是(   C )。(选择一项)
 boolean m = false;
if(m = false){
 System.out.println("false");
}else{
 System.out.println("true");
}
  
 A. false
 B. true
 C. 编译错误
 D. 无结果

2. 分析如下Java代码,编译运行的输出结果是( A   )。(选择一项)
 public static void main(String[ ] args) {
  boolean a=true;
  boolean b=false;
  if (!(a&&b)) {
   System.out.print("!(a&&b)");
  }else if (!(a||b)) {
   System.out.println("!(a||b)");
  }else {
   System.out.println("ab");
  }
}
  
 A !(a&&b)
 B. !(a||b)
 C. ab
 D. !(a||b)ab

3. 下列选项中关于变量x的定义,(   BD )可使以下switch语句编译通过。(选择二项)
 switch(x) {
    case 100 :
        System.out.println("One hundred");
        break;
    case 200 :             
        System.out.println("Two hundred");                
        break;
    case 300 :
        System.out.println( "Three hundred");
        break;
    default :
        System.out.println( "default");   
}
  
 A double x = 100;
 B. char x = 100;
 C. String x = "100";
 D. int x = 100;

4. 阅读下列文件定入的Java代码,其执行结果是( D    )。(选择一项)
 public class Test {
 public static void main(String[] args) {
  char ch = 'c';
  switch (ch) {
      case 'a':
       System.out.print("a");  break;
      case 'b':
       System.out.print("ab");
      case 'c':
       System.out.print("c");
      default:
       System.out.print("d");
  }
 }
}
  
 A a
 B. b
 C. c
 D. cd

5. 以下Java程序编译运行后的输出结果是(  B  )。(选择一项)
 public class Test {
 public static void main(String[] args) {
  int i = 0, sum = 0;
  while (i <= 10) {
   sum += i;
   i++;
  }
  System.out.println(sum);
 }
}
  
 A 0
 B. 55
 C. 50
 D. 36

6. 以下四个选项中和下面代码功能相同的是(   B  )。(选择一项)
 int i = 1;
int sum = 0;
while (i <= 100) {
 if (i % 2 == 0)
  sum = sum + i;
 i++;
}
  
 A for (int x =1; x<=100;x++){ sum=sum+x;}
 B. for (int x =0; x<=100;x+=2){ sum=sum+x;}
 C. for (int x =1; x<=100;x+=2){ sum=sum+x;}
 D. 上述全对

7. 以下do-while循环代码的执行结果是(  A  )。(选择一项)
 int a=0;
int c=0;
do{
 --c;
 a=a-1;
}while(a>0);
System.out.println(a+"  "+c);
  
 A. -1  -1
 B. 死循环
 C. -1  -2
 D. -1  0

8. while循环和do-while循环的区别是( D   )。(选择一项)
  
 A. 没有区别,这两个结构在任何情况下效果一样
 B. while循环比do-while循环执行效率高
 C. while循环是先循环后判断,所以循环体至少被执行一次
 D. do-while循环是先循环后判断,所以循环体至少被执行一次

9. 在Java中有如下代码,则编译运行该类的输出结果是(  D  )。(选择一项)
 public static void main(String[ ] args) {
  for(int i=0;i<10;i++){
   if (i%2!=0)
    return;
   System.out.print(i);
  }
}
  
 A 13578
 B. 02468
 C. 0123456789
 D. 0

10. 下面程序执行的结果是在屏幕上打印(  B   )次Java基础班。(选择一项)
 for(int  i=1;i<=10;i++){
 if (i<5)
  continue;
 System.out.println("Java基础班");
}
  
 A 5
 B. 6
 C. 7
 D. 8

⦁ 判断题(共20个题目,总计10分)
⦁ if语句的条件表达式的结果都必须是boolean值。(  true )
⦁ switch选择语句是多分支选择语句,只能处理等值条件判断的情况,表达式可以是int类型、char类型,但不能是double,float类型。( true  )
⦁ while循环结构的特点是先循环再判断,循环体至少执行一次。(   false )
⦁ for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中三个表达式都可以省略。(true   )
⦁ break语句可以出现在switch语句和循环语句中。( true   )
⦁ continue语句可以出现在switch语句和循环语句中。( false   )

⦁ 简答题
⦁ if多分支语句和switch语句的异同之处

相同之处:都是选择结构控制语句,可用于分情况操作

不同之处:switch建议判断固定值的时候使用,效率更高。if建议判断区间或范围的时候使用
⦁ while和do-while语句的异同之处

相同之处:都是循环结构控制语句

不同之处:while是先判断,然后决定是否执行。do-while是先执行,后判断循环,最少执行一次循环体
⦁ break和continue语句的作用

break用于结束switch语句和结束循环语句

continue用于跳过循环语句中的某一次循环

⦁ 编码题
⦁ 输入一个数,判断是奇数还是偶数

package com.zkch.test;

import java.util.Scanner;

public class Demo2 {
 public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入一个整数:");
  int num = sc.nextInt();
  if(num%2==0) {
   System.out.println("这是一个偶数");
  }else {
   System.out.println("这是一个奇数");
  }
 }

}


⦁ 根据成绩输出对应的等级,使用if多分支和switch语句分别实现。
⦁ A级   [90,100]
⦁ B级   [80,90)
⦁ C级   [70,80)
⦁ D级   [60,70)
⦁ E级   [0,60)

package com.zkch.test;

import java.util.Scanner;

public class Demo4 {
 public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入成绩:");
  int score = sc.nextInt();
  if(score >= 90 && score <= 100) {
   System.out.println("A级");
  }else if(score >= 80 && score <= 89) {
   System.out.println("B级");
  }else if(score >= 70 && score <= 79) {
   System.out.println("C级");
  }else if(score >= 60 && score <= 69) {
   System.out.println("D级");
  }else if(score >= 0 && score <= 59) {
   System.out.println("E级");
  }else {
   System.out.println("输入有误");
  }
 }

}


⦁ 根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。

package com.zkch.test;

import java.util.Scanner;

public class Demo5 {
 public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入月份:");
  int month = sc.nextInt();
  switch(month) {
  case 3:
  case 4:
  case 5:
   System.out.println("春季到了,莺歌燕舞,鸟语花香,我们可以放风筝,去郊游");
   break;
  case 6:
  case 7:
  case 8:
   System.out.println("夏天到了,烈日炎炎,绿树成荫,我们可以吃棒冰,去游泳");
   break;
  case 9:
  case 10:
  case 11:
   System.out.println("秋天到了,秋风习习,一叶知秋,我们可以赏枫叶,去爬山");
   break;
  case 12:
  case 1:
  case 2:
   System.out.println("冬天到了,千里冰封,白雪皑皑,我们可以烤暖气,去冬泳");
   break;
   default:
    System.out.println("输入有误");
    break;
  }
 }

}


 
⦁ 从键盘输入一个班5个学生的分数,求和并输出。

package com.zkch.test;

import java.util.Scanner;

public class Demo6 {
 public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入第一位同学的成绩:");
  int score1 = sc.nextInt();
  System.out.println("请输入第二位同学的成绩:");
  int score2 = sc.nextInt();
  System.out.println("请输入第三位同学的成绩:");
  int score3 = sc.nextInt();
  System.out.println("请输入第四位同学的成绩:");
  int score4 = sc.nextInt();
  System.out.println("请输入第五位同学的成绩:");
  int score5 = sc.nextInt();
  int sum = getSum(score1,score2,score3,score4,score5);
  System.out.println("成绩和为:"+sum);
 }
public static int getSum(int a,int b,int c,int d,int e) {
 return a+b+c+d+e;
}

}

⦁ 可选题
⦁ 根据考试成绩输出对应的礼物,90分以上爸爸给买电脑,80分以上爸爸给买手机, 60分以上爸爸请吃一顿大餐,60分以下爸爸给买学习资料。
要求:该题使用多重if完成

package com.zkch.test;

import java.util.Scanner;

public class Demo7 {
 public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入成绩:");
  int score = sc.nextInt();
  if(score > 90 && score <= 100) {
   System.out.println("爸爸给买电脑");
  }else if(score > 80 && score <=90) {
   System.out.println("爸爸给买手机");
  }else if(score > 60 && score <=80) {
   System.out.println("爸爸请吃一顿大餐");
  }else if(score >=0 && score <= 60) {
   System.out.println("爸爸给买学习资料");
  }else {
   System.out.println("输入有误");
  }
 }

}


⦁ 
给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐。

package com.zkch.test;

public class Demo8 {
 public static void main(String[] args) {
  int money = 20;
  int count = 0;
  while(money>=3) {
   money = money - 3;
   money++;
   count++;
  }
  System.out.println("最多可买"+count+"瓶可乐");
 }

}


 

posted @ 2018-07-17 22:00  失忆*  阅读(189)  评论(0编辑  收藏  举报