习题 1
1.James Gosling
2.
(1)使用一个文本编辑器编写源文件。
(2)使用 Java 编译器(javac.exe)编译 Java 源程序,得到字节码文件。
(3)使用 Java 解释器(java.exe)运行 Java 程序
3.Java 的源文件是由若干个书写形式互相独立的类组成的。
应用程序中可以没有 public 类,若有的话至多可以有一个 public 类。
4.系统环境 path D\jdk\bin;
系统环境 classpath D\jdk\jre\lib\rt.jar;.;
5. B
6. Java 源文件的扩展名是.java。Java 字节码的扩展名是.class。
7. D
8.(1)Speak.java
(2)生成两个字节码文件,这些字节码文件的名字 Speak.class 和 Xiti8.class
(3)java Xiti8
(4)执行 java Speak 的错误提示
Exception in thread "main" java.lang.NoSuchMethodError: main
执行 java xiti8 得到的错误提示
Exception in thread "main" java.lang.NoClassDefFoundError: xiti8 (wrong name: Xiti8)
执行 java Xiti8.class 得到的错误提示
Exception in thread "main" java.lang.NoClassDefFoundError: Xiti8/class
执行 java Xiti8 得到的输出结果
I'm glad to meet you
9.属于操作题,解答略。
习题 2
1. D
2.【代码 1】 【代码 2】 错误 //【代码 3】更正为 float z=6.89F;
3.float 型常量后面必须要有后缀“f”或“F”。
对于 double 常量,后面可以有后缀“d”或“D”,但允许省略该后缀。
4.public class Xiti4{
public static void main (String args[ ]){
char ch1='你',ch2='我',ch3='他';
System.out.println("\""+ch1+"\"的位置:"+(int)ch1);
System.out.println("\""+ch2+"\"的位置:"+(int)ch2);
System.out.println("\""+ch3+"\"的位置:"+(int)ch3);
}
}
5.数组名字.length
6.数组名字.length
7. 【代码 1】A,65
【代码 2】-127
【代码 3】 123456.783,123456.78312
8.
【代码 1】false
【代码 2】true
【代码 3】false
【代码 4】3
【代码 5】4.4
【代码 6】8.8
习题 3
1. 输出 110
if-else 语句书写的不够规范,复合语句缺少大括号“{}”,代码不够清晰。
2.你好好酷!!
3.
//cStart 做 int 型转换据运算,并将结果赋值给 startPosition
//cEnd 做 int 型转换运算,并将结果赋值给 endPosition
public class Xiti3_3
{
public static void main (String args[ ]){
int startPosition=0,endPosition=0;
char cStart='а',cEnd='я';
startPosition=(int)cStart;
endPosition=(int)cEnd ;
System.out.println("俄文字母表:");
for(int i=startPosition;i<=endPosition;i++){
char c='\0';
c=(char)i;
System.out.print(" "+c);
if((i-startPosition+1)%10==0)
System.out.println("");
//i 做 char 型转换运算,并将结果赋值给 c
}
}
}
4.
public class Xiti4
{
{
int i=1;
public static void main(String args[])
double sum=0,a=1;
while(i<=20)
{ sum=sum+a;
i++;
a=a*i;
}
System.out.println("sum="+sum);
}
}
5.
class Xiti5
{
public static void main(String args[])
{ int i,j;
for(j=2;j<=100;j++)
{ for(i=2;i<=j/2;i++)
{ if(j%i==0)
break;
}
if(i>j/2)
{ System.out.print(" "+j);
}
}
}
}
6.
class Xiti6
{
public static void main(String args[])
{
double sum=0,a=1,i=1;
while(i<=20)
{ sum=sum+a;
i++;
a=(1.0/i)*a;
}
System.out.println("使用 while 循环计算的 sum="+sum);
for(sum=0,i=1,a=1;i<=20;i++)
{
a=a*(1.0/i);
sum=sum+a;
}
System.out.println("使用 for 循环计算的 sum="+sum);
}
}
7.
public class Xiti7
{
public static void main(String args[])
{
int sum=0,i,j;
for(i=1;i<=1000;i++)
{
for(j=1,sum=0;j
m=n;
n=temp;
}
int r=m%n;
while(r!=0)
{
n=m;
m=r;
r=m%n;
}
gy=n;
gb=a*b/gy;
System.out.println("最大公约数 :"+gy);
System.out.println("最小公倍数 :"+gb);
}
}
8.方法之二
import java.util.Scanner;
public class Xiti8 {
public static void main (String args[ ]){
}
}
9.
public class Xiti9
{
public static void main(String args[])
{ int n=1;
long sum=0,t=1;
t=n*t;
while(true)
{
sum=sum+t;
if(sum>9999)
break;
n++;
System.out.println("请输入两个非零正整数,每输入一个数回车确认");
Scanner reader=new Scanner(System.in);
int m=0,n=0,t=0,gy=0,gb=0;
m = reader.nextInt();
n = reader.nextInt();
if(m>n){
t=m;
m=n;
n=t;
}
for(int i=1;i<=m;i++){
if(m%i==0 && n%i==0){
gy=i;
}
}
gb=m*n/gy;
System.out.println(m+","+n+"的最大公约数为 "+gy);
System.out.println(m+","+n+"的最小公倍数为 "+gb);
t=n*t;
}
System.out.println("满足条件的最大整数:"+(n-1));
}
}// 1 至 7 的阶乘和是 sum=5913.0
// 1 至 8 的阶乘和是 sum=46233.0
习题 4
1.用该类创建对象时。
2.所谓方法重载是在一个类中可以有多个方法具有相同的名字,但这些方法的参数必须
不同,即或者是参数的个数不同,或者是参数的类型不同。构造方法可以重载。
3. 可以。不可以。
4.不可以。
5.成员变量又分为实例变量和类变量,用 static 修饰的变量是类变量。那么类变量和实例
变量有什么区别呢?一个类通过使用 new 运算符可以创建多个不同的对象,不同的对象的
实例变量将被分配不同的内存空间;如果类中的成员变量有类变量,那么所有对象的这个
类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其它对象的这个
类变量。也就是说对象共享类变量。
6.C,D
7.【代码 1】,【代码 4】
8.sum=-100
9.27
10. **20
##100