开篇说明


本篇文章主要会记录我们的Java课堂上的部分代码,和所有的课后作业,其中会对一些重要的部分进行解析。

如果你目前无法使用Java环境进行代码的编译

推荐使用:

Java在线开发工具|w3cschool

Java 在线工具|菜鸟工具

如果您使用的是PC设备:您可以根据页面左边的目录进行浏览。

如果您使用的是移动设备:您可以点击页面右下角的目录图标查看目录。

如有错误,或者觉得解释不够详细,请在评论区回复,或者直接V我指正

课后作业

2022年9月

6日 Hello World

代码部分

1
2
3
4
5
piblic class Main{
public static viod mian(String[] args){
System.out.println("Hello World")
}
}

解释部分

过于简单,一条输出命令,暂不解释。

需要注意的是请输入输入法英文状态下的符号

并且注意Main String System 的首字母都是大写

9日 水仙花数

代码部分

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

public class NarcissisticNumber {
public static void main(String[] args) {
///水仙花数
//定义累加值
int sum = 0;
//循环出所有的三位数
for(int i = 100;i < 1000; i++ ){
//分别获取三位的个位,十位,百位
int a = i % 10;// 个位
int b = i / 10 % 10;// 十位
int c = i / 100;// 百位

if ((a*a*a + b*b*b +c*c*c) == i){
System.out.println(i);
//进行累加
sum += i;
}
}
System.out.println("三位数的水仙花数和为:"+sum);
}

}

解释部分

这次作业是让输出所有三位数的水仙花数和这些水仙花数之和。

完成作业的前提是要知道什么是水仙花数

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。

知道了这个,那么结合代码来看本题就不难了。

课堂代码


2022年9月

9日 Scanner获取键盘输入值

代码部分

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//1、导包 (自动导包)
import java.util.Scanner;

public class ScannerDemo1 {
public static void main(String[] args) {
//1、目的 : 学习使用api,使用扫描器技术,获取键盘输入值

//2、获取扫描器对象
Scanner sc = new Scanner(System.in);

System.out.println("请输入你的年龄:");

//3、获取键盘输入值
int age = sc.nextInt();

System.out.println("请输入你的姓名:");
String name = sc.next();


System.out.println("你的年龄是:"+age +"\n你的姓名是:"+name);
}
}

解释部分

import java.util.Scanner;

导入了 java.util.Sacnner的包

util 是 utiliy 的缩写,是一个多功能、基于工具的包。

Java是一门面向对象的语言,所以在Java中,一切都是对象。

所以在第2步新建了一个对象为 sc 并且在后面调用了sc的方法 sc.next() ,以此来获得键盘上的值

值得注意的是,next() 方法在读取数据的时候,遇到有空格的地方,他就停止了。

1
2
3
4
5
6
7
8
9
10
11
12
import java.util.Scanner;

public class next_and_nextline {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str1 =null ;
System.out.println("输入的字符串为:");
str1 = sc.next();
System.out.println("输出的字符串为:");
System.out.println(str1);
}
}

结果如下:

1
2
3
4
输入的字符串为:
a b c
输出的字符串为:
a

extline() 就可以可以读取一整行的数据了,直到键入回车才会停止。

此外关于Scanner还有更加深入的用法,我会在深入学习后进行补充。

15日 数组的累加

代码部分

题目:五名员工的销售额分别是 16, 26, 36, 6, 100, 计算他们的销售额总和

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Sales {
public static void main(String[] args) {
// 计算五名员工的销售额总和
//1.定义数组
int[] sales = {16, 26, 36, 6, 100};

//2.初始化sum用于后来求和
int sum = 0;

//3.利用for循环来迭代相加
for (int i = 0; i < sales.length; i++) {
sum+=sales[i];
}

System.out.println(sales.length+"位的销售额总和为:"+sum);
}
}

解释部分

详细见代码注释

15日 跳出多重循环【标签变量】

利用标签变量跳出多重循环

这种方法是在最外层for循环设置一个标签变量,在需要跳出的循环处使用 break 标签变量 即可跳出多重循环。

实例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class BreakOut {
public static void main(String[] args) {

label:
while (true){

for (int i = 0; i<=10; i++){
if (i == 8){
// 只写一个break并不能跳出外层循环,怎么跳出呢?
// break;

break label;
}
}
System.out.println("代码循环中");
}
System.out.println("已跳出循环");

}
}