在文件2-1中,第1018行代码定义了一个addStudentName()方法,用于实现存储全班同学姓名的功能,其中通过创建一个String类型的数组students来存储多个同学的姓名,借助Scanner类通过键盘输入的方式输入同学的姓名,并将这些姓名依次存储到数组元素中;第2330行代码定义一个printStudentName()方法,用于实现总览全班同学姓名的功能,通过遍历数组students的方式打印全班每一位同学的姓名;第35~42行代码定义一个randomStudentName()方法,用于实现随机点名其中一人的功能,通过Random类的nextInt(intn)方法获取随机索引,然后根据随机索引从数组中获取姓名,这个姓名就是随机点名到的同学姓名。
一、实验描述
1、考核知识点
名 称:变量的类型转换
2、练习目标
掌握不同数据类型间的强制类型转换
3、需求分析
强制类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明。例如,两种类型彼此不兼容,或者目标类型取值范围小于源类型,都需要进行强制类型转换。
4、设计思路(实现原理)
1)编写一个类Example02
2)在Example02中的main()方法中定义一个int类型的变量i和byte类型的变量b,并将变量i的值赋给变量b
3)使用println语句打印出变量b的值
二、实验实现
代码:
static byte Example02(int i,byte b)
{
b=(byte)i;
System.out.println(b);
return b;
}
public static void main(String[] args)
{
//实验1-2 变量的强制类型转换
int i=3;
byte b=0;
Example02(i,b);
}
运行结果截图为图1-2:
图1-2运行结果
三、实验总结
1、强制类型转换,具体格式如下:
目标类型 变量 = (目标类型)值
2、在对变量进行强制类型转换时,会发生取值范围较大的数据类型向取值范围较小的数据类型的转换,如将一个int类型的数转为byte类型,这样做极容易造成数据精度的丢失。int在内存中占用4个字节。byte类型的数据在内存中占用1个字节,当将变量i的数据在内存中占的内存大于1个字节时,前面3个高位字节的数据会丢失,数值也会发生改变。
一、实验描述
1、考核知识点
名称:运算符的优先级
2、练习目标
掌握运算符之间的优先级
3、需求分析
当使用不同的运算符进行运算时,应该按照一定的顺序进行运算,即根据运算符的优先级进行运算。
4、设计思路(实现原理)
1)编写一个类Example03
2)在main方法中定义两个int型变量x和y
3)将表达式3>2*x?x++:–x赋值给y
4)用输出语句分别输出变量x和y的值
二、实验实现
代码:
public static int Example03(int x,int y)
{
y=3>2*x?x++:–x;
System.out.printf(“%d,%d”,x,y);
return y;
}
//实验1-3 运算符的优先级
int x=1;
int y=3;
Example03(x,y);
运行结果截图为图1-3:
图1-3运行结果
三、实验总结
1.本实验中表达式的运算过程如下所示:
1)在表达式y=3>2*x?x++:–x;中赋值运算符=的优先级最低,所以要先运算=右侧的表达式;
2)?:为三元运算符,该运算符的优先级较低,要先运算?前面的表达式。
3)的优先级比>的高,所以3>21为true。按照三元运算符的运算规则表达式等价于y=x++
4)x++的++在后面,所以要先进行其它运算再自增,最后结果为x=2,y=1
2、下表列举了Java中运算符的优先级,数字越小优先级越高。
3、其实没有必要去刻意记忆运算符的优先级。由于运算符“()”的优先级最高,编写程序时,尽量使用括号“()”来实现想要的运算顺序,以免产生歧义。
一、实验描述
1、考核知识点
名称:if条件语句
2、练习目标
掌握if条件语句的语法格式
了解if条件语句的执行流程
3、需求分析
if…else if…else语句用于对多个条件进行判断,进行多种不同的处理。本实验使用if…else if…else语句实现判断某月是哪个季节的功能。
设计思路(实现原理)
1)编写一个类Example04
2)定义一个变量month用于存储月份。
3)用if条件语句,判断这个月份在哪一个季节并输出结果,如:春季是3、4、5月,夏季是6、7、8月,秋季是9、10、11月,冬季是12、1、2月
4)由于一年只有12个月,所以要过滤除1-12以外的月份值
二、实验实现
代码:
package com.java.zjlyyds;
import java.util.Scanner;
public class test1 {
private static Scanner myScanner;
public static int Example04(int month)
{
while(month>=1&&month<=12)
{
if(month>=3&&month<=5)
{
System.out.println(“春季!”);
}
else if(month>5&&month<=8)
{
System.out.println(“夏季!”);
}
else if(month>8&&month<=11)
{
System.out.println(“秋季!”);
}
else
{
System.out.println(“冬季!”);
}
break;
}
return month;
}
public static void main(String[] args)
{
实验1-4 if条件语句
myScanner = new Scanner(System.in);
System.out.println(“请输入”);
int month = myScanner.nextInt();
Example04(month);
}
}
运行结果截图为图1-4:
图1-4运行结果
三、实验总结
1、f…else if…else语句用于对多个条件进行判断,进行多种不同的处理。if…else if…else语句具体语法格式如下:
if (判断条件1) {
执行语句1
} else if (判断条件2) {
执行语句2
}
…
else if (判断条件n) {
执行语句n
} else {
执行语句n+1
}
if…else if…else语句的执行流程如图1-5所示。
图1-5流程图
2、因为一年只有12个月,所以当month>12时是不符合逻辑的数据,这时会打印“没有这个月份”。在编程过程中,经常要考虑程序在实际环境下是否符合逻辑需求。
3、“||”表示或操作,当运算符两边的操作数任何一边的值为true时,其结果为true,当两边的值都为false时,其结果才为false。所以只要符合三个条件中的一个就会被判断为这个季节。
一、实验描述
1、考核知识点
名称:switch条件语句
2、练习目标
熟悉switch条件语句的语法格式
了解switch条件语句的特点
3、需求分析
switch 条件语句也是一种很常用的选择语句,和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码。本实验使用switch 条件语句实现判断选择题对错的功能。
4、设计思路(实现原理)
1)编写一个类Example05
2)定义一个变量answer用于存储答案选项
3)用switch条件语句判断如果变量answer为B则正确,其它则错误
4)如果变量answer不等于ABCD四个选择则打印“不存在此选项”
二、实验实现
代码:
package com.java.zjlyyds;
import java.util.Scanner;
public class test2 {
private static Scanner myScanner;
public static void main(String[] args) {
System.out.println(“请输入答案:”);
myScanner=new Scanner(System.in);
char answer= myScanner.next().charAt(0);
switch(answer)
{
case ‘B’:System.out.println(“正确”);break;
case ‘A’:
case ‘C’:
case ‘D’:System.out.println(“错误”);break;
default:System.out.println(“不存在此选项”);
}
}
}
运行结果截图为图1-6:
图1-6运行结果
三、实验总结
1、switch语句的执行流程是:根据表达式的值查找与其匹配的项,如果有匹配项,则执行该匹配项下面的语句。如果没有匹配项,就会执行default后面的语句。
2、switch关键字后括号内的表达式可以是byte,short,int,char四种类型;在JDK5以后表达式可以是枚举;在.JDK7以后表达式可以是字符串。
3、switch语句只适合判断若干值的情况,不适合判断范围。
4、if和switch都可以判断值的情况,这时应该使用switch语句,因为switch的效率比if语句高。
一、实验描述
1、考核知识点
名称:while循环语句
2、练习目标
掌握while循环语句的语法格式和使用
了解while循环语句的特点
3、需求分析
while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环才会结束。本实验使用while语句实现统计1-10以内奇数的功能。
4、设计思路(实现原理)
1)编写一个类Example06
2)定义一个变量x为1,用while语句循环条件为x<=10
3)在while循环中,使用表达式x%2判断是否为奇数,如果为奇数,则变量count的值加1。
二、实验实现
代码:
package com.java.zjlyyds;
public class test3 {
public static void main(String[] args) {
int x=1;
int count=0;
while(x<=10)
{
if(x%2==1)
count++;
x++;
}
System.out.println(count);
}
}
运行结果截图为图1-7:
图1-7运行结果
三、实验总结
1、while循环语句和条件判断语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。
2、while循环的执行流程如图1-8所示。
图1-8流程图
一、实验描述
1、考核知识点
名称:for循环语句
2、练习目标
掌握for循环语句的语法格式和使用
了解for循环语句的特点
3、需求分析
for循环语句是最常用的循环语句,一般用在循环次数已知的情况下。本实验使用for循环语句计算1+2+3+4+5…+100表达式的结果
4、设计思路(实现原理)
1)编写一个类Example07
2)在该类中定义一个变量sum来存储每次循环整数相加的和。
3)在for循环语句中定义变量x,循环条件为x<=100
二、实验实现
定义Example07类:
public class Example07 {
public static void main(String[] args) {
int count = 0;
for (int x = 1; x <= 100; x++) {
count += x;
}
System.out.println(count);
}
}
运行结果截图为图1-9:
图1-9编译结果
三、实验总结
1、在for循环中,for关键字后面()中包括了三部分内容:初始化表达式、循环条件和操作表达式,它们之间用“;”分隔,{}中的执行语句为循环体。
2、通过序号来具体分析for循环的执行流程。具体如下:
for(① ; ② ; ③){
④
}
第一步,执行①
第二步,执行②,如果判断结果为true,执行第三步,如果判断结果为false,执行第五步
第三步,执行④
第四步,执行③,然后重复执行第二步
第五步,退出循环
一、实验描述
1、考核知识点
名称:循环嵌套
2、练习目标
掌握循环嵌套的使用和执行顺序
3、需求分析
在编程过程中,经常需要双重循环或多重循环,这就需要循环语句的嵌套。最常见的循环嵌套就是在for循环中嵌套for循环。为了让初学者熟悉for循环嵌套的使用,本实验将演示如何用for循环嵌套打印由 星组成的直角三角形。具体要求如下:
4、设计思路(实现原理)
二、实验实现
定义Example08类:
public class Example08 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 0; i < 5; i++) {
for (int j = 5 - i; j >= 1; j–)
System.out.print(“*”);
System.out.println();
}
}
}
运行结果截图为图1-10:
图1-10运行结果
三、实验总结
由于嵌套循环程序比较复杂,下面分步骤进行讲解,具体如下:
第一个三角形:
1、当x=0时,y=0且y<5,循环5次,完成后返回到外层循环进行换行。
2、当x=1时,y=1且y<5,循环4次,完成后返回到外层循环换行。
3、当x=2时,y=2,循环3次,完成后返回到外层循环换行。
4、当x=3时,y=3,循环2次,完成后返回到外层循环换行。
5、当x=4时,y=4,循环1次,完成后返回到外层循环换行。由于x<5所以循环终止,打印结束。
第二个三角形:
1、当x=0时,y=0且y<=0,循环1次,完成后返回到外层循环进行换行。
2、当x=1时,y=0且y<=1,循环2次,完成后返回到外层循环进行换行。
3、当x=2时,y=0且y<=2,循环3次,完成后返回到外层循环进行换行。
4、当x=3时,y=0且y<=3,循环4次,完成后返回到外层循环进行换行。
5、当x=4时,y=0且y<=4,循环5次,完成后返回到外层循环进行换行。由于x<5所以循环终止,打印结束。
一、实验描述
1、考核知识点
名称:方法的定义
2、练习目标
掌握方法的定义
3、需求分析
为了减少重复代码编写的问题,Java中可以将具有相同功能的重复代码提取出来,封装成方法。本实验定义一个方法,该方法能够实现四则运算的功能。
4、设计思路(实现原理)
1)编写一个类Example09
2)定义一个方法siZe,设置三个参数,两个数字为int型,一个符号为char型
3)在方法中,用if选择语句根据传入的符号参数进行不同的运算
4)如果传入的符号不包含在加减乘除四个符号中则输出“符号错误”
5)在main方法中调用方法计算3*0的结果,测试方法是否成功运算出正确结果
二、实验实现
定义Example09类:
import java.util.Scanner;
public class Example09 {
public static int siZe(int a, int b, char c) {
if (c == ‘+’)
return a + b;
else if (c == ‘-’)
return a - b;
else if (c == ‘*’)
return a * b;
else if (c == ‘/’)
return a / b;
else
System.out.println(“符号错误”);
return 0;
}
public static void main(String[] args) {
int a, b;
char c;
while (true) {
Scanner in = new Scanner(System.in);
System.out.println(“请输入2个整数及运算符号”);
a = in.nextInt();
b = in.nextInt();
c = in.next().charAt(0);
int p = siZe(a, b, c);
System.out.println§;
}
}
}
运行结果截图为图1-11:
图1-11运行结果
三、实验总结
1、在Java中,声明一个方法的具体语法格式如下:
修饰符 返回值类型 方法名([参数类型 参数名1,参数类型 参数名2,......]){
// 执行语句
return 返回值;
}
2、需要特别注意的是,方法中的“参数类型 参数名1,参数类型 参数名2”被称作参数列表,它用于描述方法在被调用时需要接收的参数,如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。方法的返回值必须为方法声明的返回值类型,如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。
一、实验描述
1、考核知识点
名称:方法的重载
2、练习目标
了解重载的定义
掌握方法重载的用法
3、需求分析
方法重载指的是方法名相同,参数类型或个数不同。本实验通过方法重载的方式实现九九乘法表的打印
4、设计思路(实现原理)
1)编写一个类Example10
总结
在清楚了各个大厂的面试重点之后,就能很好的提高你刷题以及面试准备的效率,接下来小编也为大家准备了最新的互联网大厂资料。
加入社区:https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
在这里插入图片描述](https://img-blog.csdnimg.cn/12d5c4e2cc5e4badb74efc61a988bff7.png)
三、实验总结
1、在Java中,声明一个方法的具体语法格式如下:
修饰符 返回值类型 方法名([参数类型 参数名1,参数类型 参数名2,......]){
// 执行语句
return 返回值;
}
2、需要特别注意的是,方法中的“参数类型 参数名1,参数类型 参数名2”被称作参数列表,它用于描述方法在被调用时需要接收的参数,如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。方法的返回值必须为方法声明的返回值类型,如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。
一、实验描述
1、考核知识点
名称:方法的重载
2、练习目标
了解重载的定义
掌握方法重载的用法
3、需求分析
方法重载指的是方法名相同,参数类型或个数不同。本实验通过方法重载的方式实现九九乘法表的打印
4、设计思路(实现原理)
1)编写一个类Example10
总结
在清楚了各个大厂的面试重点之后,就能很好的提高你刷题以及面试准备的效率,接下来小编也为大家准备了最新的互联网大厂资料。
[外链图片转存中…(img-9zQOMADo-1725676037730)]
[外链图片转存中…(img-CLfEdrUB-1725676037730)]
[外链图片转存中…(img-PUkCJgFw-1725676037731)]
[外链图片转存中…(img-EbNs7XCm-1725676037731)]
加入社区:https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0