实验二 Java语言基础
1.实验目的
- 了解Java的数据类型;
- 掌握各种变量的声明方式;
- 理解运算符的优先级;
- 掌握Java基本数据类型、运算符与表达式;
- 理解Java程序语法结构,掌握语法结构。
2.实验要求
- 声明Java不同数据类型;
- 使用运算符、表达式、变量;
- 使用Java数组;
- 编写表达式语句、复合语句;
- 使用选择结构、循环结构。
3.实验内容
- 创建一个新类BasicVarA,在类中定义一个int类型的变量xVar,定义一个String类型的变量yVar,创建一个新类BasicConA,在类中定义一个int型常量xCon;一个String类型的常量yCon。给变量和常量赋值并输出。
- 使用循环控制结构的for语句,打印出九九乘法表的完整矩阵,第一行和第一列打印出1-9数字,行和列交叉的位置打印出行列数值的乘积。
- 正整数number如果恰好等于它的因子(因子包括1,但不包括number本身)之和,这个数就称为“完数”。编写一个应用程序,求1000以内的所有完数。
4.实验总结
- 变量的使用范围是怎样的?
- 总结Java循环结构的使用特点。
1设计思路
1.创建一个新类BasicVarA,在类中定义一个int类型的变量xVar,定义一个String类型的变量yVar,创建一个新类BasicConA,在类中定义一个int型常量xCon;一个String类型的常量yCon。给变量和常量赋值并输出。
设计方法:
先在package实验2中定义一个“public class Basic类”,主函数自动生成。在该public类外部按照题目要求创建两个新类:
class BasicVarA //创建一个新类BasicVarA
class BasicConA //创建一个新类BasicConA
在这两个类中分别定义变量和常量并赋初值,需要注意的是常量需要加上final关键字,在加上final关键字后,值不可更改!
在主函数中实例化对象,并且输出信息,程序结束。
2.使用循环控制结构的for语句,打印出九九乘法表的完整矩阵,第一行和第一列打印出1-9数字,行和列交叉的位置打印出行列数值的乘积。
设计方法:
该题用循环结构思想实现。在主函数中写入嵌套循环,分别用i和j控制循环次数,i和j从1到9依次打印,在内循环中打印i * j的值(总计81个),以满足行和列交叉的位置打印出“行列数值的乘积”这一要求。
需要注意的是,在打印是不要换行,也就是用System.out.print输出,在每次输出需要加"\t",以示区分各个数。在外循环内、内循环外(中间)需要加上换行2次的语句,形成矩阵图样。
3.正整数number如果恰好等于它的因子(因子包括1,但不包括number本身)之和,这个数就称为“完数”。编写一个应用程序,求1000以内的所有完数。
设计方法:
该题在主函数中需要用到循环与判断语句,首先定义变量int i,j,sum。在外循环中遍历i,i表示1000以内有可能是“完数”的数字,在内循环中进行因子j的判断:for(j=1,sum=0;j<=i/2;++j),如果判断符合预期条件,则将其加入sum中,sum代表因子之和。在外循环中判断sum是否等于i的值:如果等于,则满足“正整数number如果恰好等于它的因子”这一条件,则表明i是“完数”,将i值输出即可!
2代码清单
第一题:
package 实验2;
public class Basic类
{
public static void main(String[] args)
{
BasicVarA A = new BasicVarA();
BasicConA AA = new BasicConA();
System.out.print(A.xVar);
System.out.println(A.yVar);
System.out.print(AA.xCon);
System.out.print(AA.yCon);
}
}
class BasicVarA//创建一个新类BasicVarA
{
int xVar = 28;//定义一个int类型的变量xVar
String yVar = " 王梓权";//定义一个String类型的变量yVar
}
class BasicConA//创建一个新类BasicConA
{
final int xCon = 29;//定义一个int型常量xCon
final String yCon = " 吴江";//一个String类型的常量yCon
}
第二题:
package 实验2;
public class 九九乘法表
{
public static void main(String[] args)
{
for (int i = 1; i <= 9; i++)
{ //行数
for (int j = 1; j <= 9; j++)
{ //列数
System.out.print(i * j+"\t");
}
System.out.println("\n");//换行2次
}
}
}
第三题:
package 实验2;
public class 完数
{
public static void main(String[] args)
{
{
int i,j,sum;
System.out.println("1000以内的所有完数:");
for(i=1;i<=1000;i++) //i表示1000以内有可能是完数的数字,将其遍历
{
for(j=1,sum=0;j<=i/2;++j)//j表示i的因子
{
if(i % j==0)
{
sum=sum+j;
}
}
if(sum==i)
{
System.out.print(i+" ");
}
}
}
}
}
3运行结果
4思路总结
1变量的使用范围是怎样的?
变量的使用有效范围:
由于变量被定义出来后只是暂时在内存中,等到程序执行到某一个点,该变量会被释放掉,也就是说变量有它的生命周期。因此,变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误。在程序中,一般会根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。
1、成员变量
在类体中所定义的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量有可以分为两种,即静态变量和实例变量。
2、局部变量
在类的方法体中定义的变量(方法内部定义)称为局部变量。局部变量只在当前代码块中有效。在类的方法体中定义的变量,包括方法的参数,都属于局部变量。局部变量只在当前定义的方法内有效,不能用于类的其他方法。
局部变量的生命周期取决于方法:当方法被调用时,Java虚拟机为方法中的局部变量分配内存空间;当该方法的调用结束,则会释放掉方法中局部变量所占用的空间,局部变量被销毁。
2总结Java循环结构的使用特点。
循环结构特点:
①循环不是无休止进行的,满足循环条件的时候循环才会继续,不满足时退出循环。
②循环结构是反复进行相同的或类似的一系列操作,称为“循环操作”。
1.while循环
特点:while循环先判断,再执行。如果第一次判断不成立,则不执行循环。while循环的执行次数是::0~N次。执行次数比判断次数少1次。
2.do--while循环
特点:do--while循环没有进入条件,先执行了一次循环再进行判断:如果条件成立,则继续执行下一次循环。do--while循环的执行次数为1~N次。
3.for循环
特点:for循环的特点与while循环一样,也是先判断再执行。循环的三要素被放在同一个地方,使语法更简洁。
4.多重循环
特点:多重循环,也就是循环的嵌套。在一个循环中嵌入另一个循环。外面的叫外循环,里面的叫内循环。外循环依次执行,内循环会依次完整执行整个循环(也就是一轮)。