第1关:关键字
任务描述
本关任务:修改程序中错误的关键字,使程序可以正常运行。
相关知识
为了完成本关任务,你需要掌握:1.理解Java中的关键字是什么,2.记忆Java中常用关键字。
Java中的关键字: (1)48个关键字: abstract assert boolean break byte case catch char class continue default do double else enum extends final finally float for if implements import int interface instanceof long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while (2)2个保留字: goto const (3)3个特殊直接量: true false null
编程要求
根据提示,在右侧编辑器修改代码,使程序能够正常输出
#
提示: 错误隐藏在第1、2、3行的关键字中 共有3个错误
测试说明
平台会对你编写的代码进行测试:
预期输出:
Hello world!
代码如下
package step1;
public class KeyWord
{
public static void main(String[] args)
{
System.out.println("Hello world!");
}
}
第2关:标识符
任务描述
本关任务:理解、记忆标识符的命名规则。
相关知识
为了完成本关任务,你需要掌握:1.什么是标识符,2.如何对标识符正确命名。
标识符
Java 中标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。在 Java 语言中,标识符的构成规则如下。 由英文大小写字母、数字字符、$(美元符号)、 _(下划线)组成
- 注意:
- 不能以数字开头
- 不能是Java中的关键字
- 区分大小写
标识符分为两类,分别为关键字和用户自定义标识符。 用户自定义标识符是由用户按标识符构成规则生成的非保留字的标识符,如 abc 就是一个标识符。
提示:使用标识符时一定要注意,或者使用关键字,或者使用自定义的非关键字标识符。此外,标识符可以包含关键字,但不能与关键字重名。
例如以下合法与不合法标识符:
合法标识符:date、state、s_number、flag等。
不合法的标识符:123.com、2com、for、if 等。
标识符命名规则
标识符用来命名常量、变量、类和类的对象等。 因此,一个良好的编程习惯要求命名标识符时,应做到见名知意。
编程要求
根据提示,在右侧编辑器修改代码,使运行正确运行。
输出结果为:
java实训2
代码如下
package step2;
public class Identifier
{
public static void main(String[] args)
{
/********* Begin *********/
String s = "java实训";
int i =2;
System.out.println(s + i);
/********* End *********/
}
}
第3关:ifelse分支
任务描述
本关任务:使用if-else语句编写一个能输出成绩等级的程序。
相关知识
1.if-else的基本结构
if (条件) { if (条件){ 当条件为 true 时执行的代码 } else{ 当条件不为 true 时执行的代码 } } else(条件) { 当条件不为 true 时执行的代码 }
例如:
public class Test {
public static void main(String args[]){
int x = 30;
if( x == 10 ){
System.out.print("Value of X is 10");
}else if( x == 20 ){
System.out.print("Value of X is 20");
}else if( x == 30 ){
System.out.print("Value of X is 30");
}else{
System.out.print("这是 else 语句");
}
}
}
编程要求
根据提示,在右侧编辑器补充代码,计算并输出该成绩对应的等级。
//0-59 -> 不及格
//60-75 -> 良好
//76-85 -> 优秀
//86-100 -> 非常优秀
测试说明
平台会对你编写的代码进行测试:
测试输入:
5
预期输出:不及格
测试输入:
236
预期输出:你输入的成绩有误!
代码如下
package step3;
import java.util.Scanner;
public class ifelse
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
int grade = scanner.nextInt();
// ---------------------Begin------------------------
if(grade<0||grade>100)
System.out.print("你输入的成绩有误!");
else
{
if(grade>0&&grade<60)
System.out.print("不及格"); //0-59 -> 不及格
else if(grade>=60&&grade<=75)
System.out.print("良好"); //60-75 -> 良好
else if(grade>75&&grade<=85)
System.out.print("优秀"); //76-85 -> 优秀
else if(grade>85&&grade<=100)
System.out.print("非常优秀"); //86-100 -> 非常优秀
}
// ---------------------End------------------------
}
}
第4关:switch语句
任务描述
本关任务:使用switch进行季节判断,季节划分[12,1,2]=冬季.[3,4,5]= 春季, [6,7,8]=夏季,[9,10,11]= 秋季
相关知识
1. 基本格式
语法:switch(表达式) {
case 目标值1:
执行语句1
break;
case 目标值2:
执行语句2
break;
case 目标值n:
执行语句n
break;
default:
执行语句n+1
break;
注:
•表达式:(将要匹配的值)取值为byte、short、int、char, JDK5以 后可以是枚举,JDK7以后可以是String
表达式类型有:
整型:byte、short、int
字符:char
字符串:String
枚举
*case:后面跟的是要和表达式进行比较的值(被匹配的值)
*break:表示中断,结束的意思,用来结束switch语句(break不写的话会一直执行下去直到遇到break)
*default:表示所有情况都不匹配的时候,就执行该处的内容,和if语 句的else相似。
例子:
public class Main {
public static void main(String[] args) {
int week=5;
switch (week){
default :
System.out.println("输入的数字不正确...");
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
}
}
}
编程要求
根据提示,在右侧编辑器补充代码,使用switch进行季节判断,
季节划分
[12,1,2]=冬季.
[3,4,5]= 春季,
[6,7,8]=夏季,
[9,10,11]= 秋季
测试说明
平台会对你编写的代码进行测试:
测试输入:
12
预期输出:当前为时间为冬季
测试输入:
66
预期输出:输入的月份不正确!!!
代码如下
package step4;
import java.util.Scanner;
public class SwitchCase
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
// ---------------------Begin------------------------
//季节划分[12,1,2]=冬季.[3,4,5]= 春季, [6,7,8]=夏季,[9,10,11]=秋季
if(month<1||month>12)
System.out.println("输入的月份不正确!!!");
else
{
switch(month)
{
case 12: case 1: case 2:
{
System.out.print("当前为时间为冬季");
break;
}
case 3: case 4: case 5:
{
System.out.print("当前为时间为春季");
break;
}
case 6: case 7: case 8:
{
System.out.print("当前时间为夏季");
break;
}
case 9: case 10: case 11:
{
System.out.print("当前为时间为秋季");
break;
}
}
}
// ---------------------End------------------------
}
}
第5关:三元运算符
任务描述
本关任务:使用三元运算符输出2个整数中的较大者
相关知识
三目运算符的本质相当于是一个带有判断的赋值运算符,传统的赋值运算符能够设置的内容基本上就是变量或者是常量,它采用都是比较直白的模式。
1.三元运算符格式:
(关系表达式)?表达式1:表达式2;
解释:
1、如果关系表达式的结果为true,运算后的结果是表达式1;
2、如果关系表达式的结果为false,运算后的结果是表达式2;
例如:
maxvalue = a>b?a:b;
上面这条语句就实现了将变量a和b中的较大者赋值给了变量maxvalue
编程要求
根据提示,在右侧编辑器补充代码,使用三元运算符输出2个整数中的较大者
测试说明
平台会对你编写的代码进行测试:
测试输入:
42
,12
;预期输出:
两数中的最大值为:42
代码如下
package step5;
import java.util.Scanner;
public class Threeyuan
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
// ---------------------Begin------------------------
//将???的位置替换成3元表达式,要求a>=b时maxvalue=a,否则maxvalue=b
int maxvalue =(a>=b?a:b) ;
// ---------------------End------------------------
System.out.println("两数中的最大值为:"+maxvalue);
}
}
第6关:while循环
任务描述
本关任务:使用while循环打印出0-a所有整数,a为整型变量。
相关知识
- while是最基本的循环,它的结构为:
while(布尔表达式) {
//循环内容
}
- 只要布尔表达式为true,循环就会一直执行下去。
- 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。少部分情况需要循环一直执行,比如服务器的请求响应监听等。
- 循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死奔溃!
- 思考:计算1+2+3+...+100=?
解如下:
public static void main(String[] args) {
//输出1-100
int i = 0;
int sum = 0;
while (i<=100){
sum = sum + i;
i++;
}
System.out.println(sum);
}
编程要求
根据提示,在右侧编辑器补充代码,使用while循环打印出0-a所有整数,a为整型变量。
测试说明
平台会对你编写的代码进行测试:
测试输入:
4
预期输出:
0
1
2
3
4
代码如下
package step6;
import java.util.Scanner;
public class WhileCircle
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
// ---------------------Begin------------------------
//使用while循环输出0-a的所有整数
int i=0;
while(i<=a)
{
System.out.println(i);
++i;
}
// ---------------------End------------------------
}
}
第7关:for循环
任务描述
本关任务:编写一个能输出三角形的程序
相关知识
for 语句是一种在程序执行前就要先判断条件表达式是否为真的循环语句。假如条件表达式的结果为假,那么它的循环语句根本不会执行。for 语句通常使用在知道循环次数的循环中。
for 语句语法格式如下所示:
for(条件表达式1;条件表达式2;条件表达式3) { 语句块; }
例如,同样是计算 5 的阶乘,使用 for 循环的实现代码如下:
public static void main(String[] args)
{
int result=1;
for(it number=1;number<=5;number++)
{
result*=number;
}
System.out.print("5 的阶乘结果是:"+result); //输出"5的阶乘结果是:120"
}
编程要求
根据提示,在右侧编辑器补充代码,编写一个能输出三角形的程序
测试说明
平台会对你编写的代码进行测试:
测试输入:
4
预期输出:
*
**
***
****
测试输入:
8
预期输出:
*
**
***
****
*****
******
*******
********
代码如下
package step7;
import java.util.Scanner;
public class ForCircle
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
int row = scanner.nextInt();
// ---------------------Begin------------------------
int s,z;
for(s=1;s<=row;s++)
{
for(z=1;z<=s;z++)
{
System.out.print("*");
}
System.out.println();
}
// ---------------------End------------------------
}
}