D4 LJY
作业 day04
1:for循环的格式?要能看懂执行流程。
for(初始化表达式;条件表达式;循环后的操作表达式) {
循环体;
}
执行流程:
* a:执行初始化语句
* b:执行判断条件语句,看其返回值是true还是false
* 如果是true,就继续执行
* 如果是false,就结束循环
* c:执行循环体语句;
* d:执行循环后的操作表达式
* e:回到B继续。
用for循环完成如下案例
求和
class Work1 {
public static void main(String[] args) {
//求1_100和
int sum = 0;
for (int i =1;i <= 100 ;i++ ) {
sum = sum + i;
}System.out.println(sum);
}
}
求偶数和
class Work1 {
public static void main(String[] args) {
//求偶数和
int sum = 0;
for (int i =1;i <= 100;i++ ) {
if (i % 2 == 0) {sum = sum + i;
}
}System.out.println(sum);
}
}
求奇数和
class Work1 {
public static void main(String[] args) {
//求奇数和
int sum = 0;
for (int i =1;i <= 100;i++ ) {
if (i % 2 != 0) {sum = sum + i;
}
}System.out.println(sum);
}
}
打印水仙花数
class Work_FL{
public static void main(String[] args) {
for (int i = 100;i <= 999 ;i++ ) {
int s = i % 10;
int t = i / 10 % 10;
int h = i / 10 / 10 %10;
if (s * s * s + t * t * t + h * h * h == i) {
System.out.println(i);
}
}
}
}
统计水仙花数
class While_F {
public static void main(String[] args) {
int i =100; int amount = 0;
while (i <= 999) {
int u = i % 10;
int t = i / 10 % 10;
int h = i /10 / 10 % 10 ;
if (u * u * u + t * t * t + h * h * h == i) {
amount = amount + 1;
} i ++;
}System.out.println(amount);
}
}
九九乘法表
class Mul {
public static void main(String[] args) {
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();
}
}
}
2:while循环的格式?要能看懂执行流程
while循环的基本格式:
while(判断条件语句) {
循环体语句;
}
完整格式:
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
:执行流程:
* a:执行初始化语句
* b:执行判断条件语句,看其返回值是true还是false
* 如果是true,就继续执行
* 如果是false,就结束循环
* c:执行循环体语句;
* d:执行控制条件语句
* e:回到B继续。
3:break,continue和return分别有什么用?
Break 跳出循环 continue 终止本次循环继续往下执行 return 结束方法
4:函数(方法)的概念?函数的格式?格式的解释说明
完成特定功能的代码块. 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2..........) {
方法体语句;
returen 返回值;
}
解释说明:
修饰符:暂时就用public static
方法名:符合命名规则即可,方便调用
参数: 实际参数:实际参与运算的
形式参数:方法定义上的,用于接收实际参数的
参数类型:参数的数据类型
参数名:就是变量名
方法体语句:就是完成功能的代码.
return:结束方法的
5:函数的调用
A:明确返回值类型的函数调用
单独调用,无意义不推荐
输出调用 不推荐
赋值调用 (推荐)
B:void类型的函数调用
单独调用
6:函数的练习:
A:求两个数据之和
import java.util.Scanner;
class Homework_Add {
public static void main(String[] args) {
//求俩个值之和
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数");
int x = sc.nextInt();
System.out.println("请输入第二个整数");
int y = sc.nextInt();
int sum = add(x,y);
System.out.println(sum);
}
public static int add(int a, int b) {
return a + b;
}
}
B:判断两个数据是否相等
import java.util.Scanner;
class Homework_Add {
public static void main(String[] args) {
//判断两个数据是否相等
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数");
int x = sc.nextInt();
System.out.println("请输入第二个整数");
int y = sc.nextInt();
boolean sum = add(x,y);
System.out.println(sum);
}
public static boolean add(int a, int b) {
return a == b ? true: false;
}
}
C:获取两个数中较大的值
import java.util.Scanner;
class Homework_Add {
public static void main(String[] args) {
//判断两个数据是否相等
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数");
int x = sc.nextInt();
System.out.println("请输入第二个整数");
int y = sc.nextInt();
int max = getMax(x,y);
System.out.println(max);
}
public static int getMax(int a, int b) {
int c = (a > b) ? a: b;
return c;
}
}
D:打印m行n列的星形矩形
import java.util.Scanner;
class Star {
public static void main(String[] args) {
//打印m行n列的星形矩形
Scanner sc = new Scanner(System.in);
System.out.println("请输入打印的行数");
int x = sc.nextInt();
System.out.println("请输入打印的列数");
int y = sc.nextInt();
print(x,y);
}
public static void print(int a ,int b) {
for (int i = 1;i <= a ;i++ ) {
for (int j = 1;j <= b ;j++ ) {
System.out.print('*');
}
System.out.println();
}
}
}
E:打印nn乘法表
import java.util.Scanner;
class nn{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个1-9的整数");
int x = sc.nextInt();
pt(x);
}
public static void pt(int a ){
for (int i = 1;i <= a ;i++ ) {
for (int j = 1;j <= i ;j++ ) {
System.out.print(i + "*" + j + "=" + (i * j) +"\t");
}
System.out.println();
}
}
}
7:什么是函数重载?以及函数重载的练习?把讲过的案例练习一次即可
在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
*参数列表不同:
参数个数不同
参数类型不同
参数的顺序不同(算重载,但是在开发中不用)
practive
俩个整数的合与三个整数的合
import java.util.Scanner;
class Noname8 {
public static void main(String[] args) {
//俩个整数的合与三个整数的合
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要对几个数进行加法运算");
int count = sc.nextInt();
if (count == 2) {
System.out.println("请输入一个整数");
int x = sc.nextInt();
System.out.println("请输入一个整数");
int y = sc.nextInt();
int sum1 = add(x , y);
System.out.println(sum1);
}
else {
System.out.println("请输入一个整数");
int q = sc.nextInt();
System.out.println("请输入一个整数");
int w = sc.nextInt();
System.out.println("请输入一个整数");
int e = sc.nextInt();int sum2 = add(q , w, e);
System.out.println(sum2);}
}
public static int add(int a, int b) {
int sum = a + b;
return sum;
}
public static int add(int a ,int b ,int c ) {
int sum = a + b + c;
return sum;
}
}