习题22
习题32
习题43
习题54
习题66
习题77
习题89
习题99
习题1011
习题1112
习题1213
习题1315
习题1415
习题1
1.Java语言的主要贡献者是谁?
2.编写、运行Java程序需要经过哪些主要步骤?
4.如果JDK的安装目录为D:\jdk,应当怎样设置path的值?
5.下列哪个是JDK提供的编译器?
A)java.exe
B)javac.exe
C)javap.exe
D)javaw.exe
6.Java源文件的扩展名是什么?Java字节码的扩展名是什么?
7.下列哪个是Java应用程序主类中正确的main方法声明?
A)publicvoidmain(Stringargs)
B)staticvoidmain(Stringargs)
C)publicstaticvoidMain(Stringargs)
D)publicstaticvoidmain(Stringargs)
习题2
1.模仿图2.4简单绘制出例子2中rectangle和lader对象的内存示意图。
2.模仿例子2编写含有3个类的Java应用程序,要求三个类分别在三个源文件中,其中一个源文件包含有名字为
Teacher的类,该类创建的对象调用add(doublea,doubleb)的方法可以得到2个数的和、调用sub(double
a,doubleb)的方法可以得到2个数的差;一个源文件包含有名字为Student的类,该类创建的对象调用speak()
的方法可以可以在命令行窗口输出“老师好”;一个源文件包含名字为MainClass的主类。要求在主类的main方
法中分别用Teacher和Student类创建对象,使得程序能输出12与236的和以及234与120的差,并输出“老师好
”。
3.当源文件中有多个类时,请简述源文件的命名规则。
4.当代码量较大时应当使用哪种编程风格?
习题3
1.什么叫标识符?标识符的规则是什么?true是否可以作为标识符。
2.什么叫关键字?true和false是否是关键字?请说出6个关键字。
3.Java的基本数据类型都是什么?
4.上机运行下列程序,注意观察输出的结果。
publicclassE{
publicstaticvoidmain(Stringargs){
for(inti=20302;i<=20322;i++){
System.out.println((char)i);
}
5.上机调试下列程序,注意System.out.print()和System.out.println()的区别。
publicclassOutputData{
ZkSync发布Java、Go和Python编程语言的新SDK:金色财经报道,zkSync宣布,为了让开发者更容易使用zkSync 2.0的功能,ZkSync新发布了Java、Go和Python编程语言的SDK。[2022/11/2 12:06:49]
intx=234,y=432;
System.out.println(x+"<"+(2*x));
System.out.print("我输出结果后不回车");
System.out.println("我输出结果后自动回车到下一行");
System.out.println("x+y="+(x+y));
6.编写一个Java应用程序,输出全部的大写英文字母。
7.是否可以将例子4中的
zhangSan.weight=reader.nextFloat();
更改为:
zhangSan.weight=reader.nexDouble();
习题4
1.下列程序的输出结果是什么?if-else语句的书写是否规范?
intx=10,y=5,z=100,result=0;
if(x>y)
x=z;
else
y=x;
z=y;
result=x+y+z;
System.out.println(result);
2.下列程序的输出结果是什么?
charc='\0';
for(inti=1;i<=4;i++){
switch(i){
case1:c='新';
System.out.print(c);
case2:c='亲';
break;
case3:c='斤';
default:System.out.print("!");
3.参考例子2,在应用程序中使用if-elseif-else多条件分支语句代替switch语句来判断整数的中奖情况。
4.为了节约用电,将用户的用电量分成3个区间,针对不同的区间给出不同的收费标准。对于1至90千瓦
的电量,每千瓦0.6元;对于91至150千瓦的电量,每千瓦1.1元;对于用大于151千瓦的电量,每千瓦1.7元。编
写一个Java应用程序程序。在主类的main方法中,输入用户的用电量,程序输出电费。
5.编写一个应用程序,用两个for循环语句分别输出大写和小写的“字母表”。
6.一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写一个应用程序求1000之内的所有完数。
7.编写一个应用程序求满足1+2!+3!…+n!<=9876的最大整数n。
习题5
1.类中的实例变量在什么时候会被分配内存空间?
2.什么叫方法的重载?构造方法可以重载吗?
3.类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可以操作实例变量吗?
4.类中的实例方法可以用类名直接调用吗?
5.简述类变量和实例变量的区别。
6.下列哪些类声明是错误的?
A)classA
B)publicclassA
ChainSafe发布以太坊JavaScript库Web3.js v1.5.2版本:区块链协议和基础设施开发公司ChainSafe在推特上表示,以太坊JavaScript库Web3.js v1.5.2版本现已发布,主要更新包括:
- 移除eth.sendTransaction和eth.sendRawTransaction的交易类型默认值;
- 类型:当使用eth.signTransaction时,0x0正在被添加到历史交易中。[2021/8/15 22:15:22]
C)protectedclassA
D)privateclassA
7.下列A类的类体中~哪些是错误的?
classTom{
privateintx=120;
protectedinty=20;
intz=11;
privatevoidf(){
x=200;
System.out.println(x);
voidg(){
publicclassA{
Tomtom=newTom();
tom.x=22;//
tom.y=33;//
tom.z=55;//
tom.f();//
tom.g();//
8.请说出A类中System.out.println的输出结果。
classB
{intx=100,y=200;
publicvoidsetX(intx)
{x=x;
publicvoidsetY(inty)
{this.y=y;
publicintgetXYSum()
{returnx+y;
publicclassA
{publicstaticvoidmain(Stringargs)
{Bb=newB();
b.setX(-100);
b.setY(-200);
System.out.println("sum="+b.getXYSum());
9.请说出A类中System.out.println的输出结果。
classB{
intn;
staticintsum=0;
voidsetN(intn){
this.n=n;
intgetSum(){
for(inti=1;i<=n;i++)
sum=sum+i;
returnsum;
Bb1=newB(),b2=newB();
b1.setN(3);
b2.setN(5);
ints1=b1.getSum();
ints2=b2.getSum();
System.out.println(s1+s2);
10.请说出E类中System.out.println的输出结果。
classA{
doublef(intx,doubley){
returnx+y;
intf(intx,inty){
以太坊JavaScript库Web3.js发布v1.5.0-rc.0,添加支持伦敦升级和EIP-1559支持:以太坊JavaScript库Web3.js发布v1.5.0-rc.0,添加支持伦敦升级和EIP-1559支持。
据悉,以太坊两个最常用JavaScript库是Ethers.js和Web3.js。
此前消息,以太坊JavaScript库Ethers.js发布v5.4.0,添加EIP-1559支持。[2021/7/22 1:09:41]
returnx*y;
Aa=newA();
System.out.println(a.f(10,10));
System.out.println(a.f(10,10.0));
习题6
1.子类将继承父类的那些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?
2.父类的final方法可以被子类重写吗?
3.什么类中可以有abstract方法?
4.什么叫对象的上转型对象?
5.下列叙述哪些是正确的?
final类不可以有子类。
abstract类中只可以有abstract方法。
abstract类中可以有非abstract方法,但该方法不可以用final修饰。
不可以同时用final和abstract修饰一个方法。
6.请说出E类中System.out.println的输出结果。
doublef(doublex,doubley){
classBextendsA{
doublef(intx,inty){
Bb=newB();
System.out.println(b.f(3,5));
System.out.println(b.f(3.0,5.0));
7.请说出E类中System.out.println的输出结果。
staticintg(intn){
returnn*n;
doublem=super.f(x,y);
returnm+x*y;
intm=A.g(n);
returnm+n;
System.out.println(b.f(10.0,8.0));
System.out.println(b.g(3));
习题7
1.接口中能声明变量吗?
2.接口中能定义非抽象方法吗?
3.什么叫接口的回调?
4.请说出E类中System.out.println的输出结果。
interfaceA{
doublef(doublex,doubley);
classBimplementsA{
publicdoublef(doublex,doubley){
intg(inta,intb){
returna+b;
Aa=newB();
System.out.println(a.f(3,5));
Bb=(B)a;
System.out.println(b.g(3,5));
5.请说出E类中System.out.println的输出结果。
动态 | Xpring发布针对Java的Hyperledger Quilt v1.0:金色财经报道,Ripple和Xpring的软件架构师David Fuelling最近发布了Hyperledger Quilt v1.0,是Interledger协议的Java实现,用于跨不同分类账发送付款。David还表示,世界上有数百万的Java开发人员,数十亿运行Java软件的设备主要由安卓部署领导。考虑到这一点,Quilt非常重要,因为它为Java开发人员提供了易于使用的库,用于发送和接收Interledger付款。[2019/11/20]
interfaceCom{
intadd(inta,intb);
abstractclassA{
abstractintadd(inta,intb);
classBextendsAimplementsCom{
publicintadd(inta,intb){
Comcom=b;
System.out.println(com.add(12,6));
Aa=b;
System.out.println(a.add(10,5));
习题8
1.内部类的外嵌类的成员变量在内部类中仍然有效吗?
2.内部类中的方法也可以调用外嵌类中的方法吗?
3.内部类的类体中可以声明类变量和类方法吗?
4.请说出下列程序的输出结果。
classCry{
publicvoidcry(){
System.out.println("大家好");
Cryhello=newCry(){
publicvoidcry(){
System.out.println("大家好,祝工作顺利!");
};
hello.cry();
习题9
1.下列叙述哪些是正确的?
String类是final类,不可以有子类。
String类在java.lang包中。
"abc"=="abc"的值是false.
"abc".equals("abc")的值是true
2.请说出E类中System.out.println的输出结果。
importjava.util.*;
classGetToken{
Strings;
publicStringgetToken(intindex,Stringstr){
StringTokenizerfenxi=newStringTokenizer(str);
intnumber=fenxi.countTokens();
s=newString;
intk=1;
while(fenxi.hasMoreTokens()){
Stringtemp=fenxi.nextToken();
s=temp;
k++;
if(index<=number)
returns;
returnnull;
classE{
Stringstr="WeLoveThisGame";
创智赢家投资人Robert Herjavec:区块链前景巨大:\t\t\t\t \t\t\t\t《创智赢家》明星投资人、美国Herjavec集团CEO Robert Herjavec做客金融投资媒体The Street访谈节目时表示,长期来看,比特币会“留下来”,数字货币一定会被监管,投资者既应该进场、也应该离场。虽然Herjavec表示自己并不是币圈玩家,但他预测短期内比特币价格仍将上涨,甚至超过一月份20000美元的高位:“我把话放在这儿了,它会涨得更高的。”关于区块链,Herjavec认为,其会在十年内彻底显出巨大前景。[2018/2/19]
GetTokentoken=newGetToken();
Strings1=token.getToken(2,str),
s2=token.getToken(4,str);
System.out.println(s1+":"+s2);
3.请说出E类中System.out.println的输出结果。
byted="abc我们喜欢篮球".getBytes();
System.out.println(d.length);
Strings=newString(d,0,7);
System.out.println(s);
classMyString{
publicStringgetString(Strings){
StringBufferstr=newStringBuffer();
for(inti=0;i<s.length();i++){
if(i%2==0){
charc=s.charAt(i);
str.append(c);
returnnewString(str);
Strings="1234567890";
MyStringms=newMyString();
System.out.println(ms.getString(s));
Stringregex="\\djava\\w{1,}";
Stringstr1="88javaookk";
Stringstr2="9javaHello";
if(str1.matches(regex)){
System.out.println(str1);
if(str2.matches(regex)){
System.out.println(str2);
6.字符串调用publicStringtoUpperCase()方法返回一个字符串,该字符串把当前字符串中的小写字母变成大写字母;.字符串调用publicStringtoLowerCase()方法返回一个字符串,该字符串把当前字符串中的大写字母变成小写字母。String类的publicStringconcat(Stringstr)方法返回一个字符串,该字符串是把调用该方法的字符串与参数指定的字符串连接。编写一个程序,练习使用这3个方法。
7.String类的publiccharcharAt(intindex)方法可以得到当前字符串index位置上的一个字符。编写程序使用该方法得到一个字符串中的第一个和最后一个字符。
8.通过键盘输入年份和月份。程序输出相应的日历牌。
9.计算某年、某月、某日和某年、某月、某日之间的天数间隔。要求年、月、日通过通过键盘输入到程序中。
10.编程练习Math类的常用方法。
11.参看例子19,编写程序剔除一个字符串中的全部非数字字符,例如,将形如“ab123you”的非数字字符全部剔除,得到字符串“123”。
12.参看例子21,使用Scanner类的实例解析“数学87分,物理76分,英语96分”中的考试成绩,并计算出总成绩以及平均分数。
习题10
1.如果准备按字节读取一个文件的内容,应当使用FileInputStream流还是FileReader流?
2.FileInputStream流的read方法和FileReader流的read方法有何不同?
3.BufferedReader流能直接指向一个文件吗?
4.使用ObjectInputStream和ObjectOutputStream类有哪些注意事项?
5.怎样使用输入、输出流克隆对象?
6.使用RandomAccessFile流将一个文本文件倒置读出。
7.使用Java的输入、输出流将一个文本文件的内容按行读出,每读出一行就顺序添加行号,并写入到另
一个文件中。
8.了解打印流。我们已经学习了数据流,其特点是用Java的数据类型读写文件,但使用数据流写成的文
件用其它文件阅读器无法进行阅读(看上去是乱码)。PrintStream类提供了一个过滤输出流,该输出流能以文本
格式显示Java的数据类型。上机实习下列程序:
importjava.awt.*;
importjava.io.*;
try{
Filefile=newFile("p.txt");
FileOutputStreamout=newFileOutputStream(file);
PrintStreamps=newPrintStream(out);
ps.print(12345.6789);
ps.println("howareyou");
ps.println(true);
ps.close();
catch(IOExceptione){}
9.参考例子14,解析一个文件中的价格数据,并计算平均价格,比如该文件的内容如下:
商品列表:
电视机,2567元/台
洗衣机,3562元/台
冰箱,6573元/台
习题11
1.JFrame类的对象的默认布局是什么布局?
2.一个容器对象是否可以使用add方法添加一个JFrame窗口?
3.编写应用程序,有一个标题为“计算”的窗口,窗口的布局为FlowLayout布局。窗口中添加两个文本区,当
我们在一个文本区中输入若干个数时,另一个文本区同时对你输入的数进行求和运算并求出平均值,也就是说
随着你输入的变化,另一个文本区不断地更新求和及平均值。
4.编写一个应用程序,有一个标题为“计算”的窗口,窗口的布局为FlowLayout布局。设计四个按钮,分别命
名为“加”、“差”、“积、”、“除”,另外,窗口中还有三个文本框。单击相应的按钮,将两个文本框的
数字做运算,在第三个文本框中显示结果。要求处理NumberFormatException异常。
5.参照例子13编写一个体现MVC结构的GUI程序。首先编写一个封装梯形类,然后再编写一个窗口。要求窗口使
用三文本框和一个文本区为梯形对象中的数据提供视图,其中三个文本框用来显示和更新梯形对象的上底、下
底和高;文本区对象用来显示梯形的面积。窗口中有一个按钮,用户单击该按钮后,程序用3个文本框中的数据
分别作为梯形对象的上底、下底和高,并将计算出的梯形的面积显示在文本区中。
习题12
1.线程有几种状态?
2.引起线程中断的常见原因是什么?
3.一个线程执行完run方法后,进入了什么状态?该线程还能再调用start方法吗?
4.线程在什么状态时,调用isAlive()方法返回的值是false。
5.建立线程有几种方法?
6.怎样设置线程的优先级?
7.在多线程中,为什么要引入同步机制?
8.在什么方法中wait()方法、notify()及notifyAll()方法可以被使用?
9.将例子11中SellTicket类中的循环条件:
while(fiveAmount<3)
该写成:
if(fiveAmount<3)
是否合理。
10.线程调用interrupt()的作用是什么?
11.参照例子14,模拟三个人排队买票,张某、李某和赵某买电影票,售票员只有三张五元的钱,电影票5元钱
一张。张某拿二十元一张的新人民币排在李的前面买票,李某排在赵的前面拿一张10元的人民币买票,赵某拿
一张5元的人民币买票。
12.参照例子9,要求有3个线程:student1、student2和teacher,其中student1准备睡10分钟后再开始上课
,其中student2准备睡一小时后再开始上课。teacher在输出3句“上课”后,吵醒休眠的线程student1;
student1被吵醒后,负责再吵醒休眠的线程student2。
12.参照例子19,编写一个Java应用程序,在主线程中再创建3个线程:“运货司机”、“装运工”和“仓库管
理员”。要求线程“运货司机”占有CPU资源后立刻联合线程“装运工”,也就是让“运货司机”一直等到“装
运工”完成工作才能开车,而“装运工”占有CPU资源后立刻联合线程“仓库管理员”,也就是让“装运工”
一直等到“仓库管理员”打开仓库才能开始搬运货物。
14.在下列E类中,System.out.println的输出结果是什么?
importjava.awt.event.*;
publicclassEimplementsRunnable{
StringBufferbuffer=newStringBuffer();
Threadt1,t2;
E(){
t1=newThread(this);
t2=newThread(this);
publicsynchronizedvoidaddChar(charc){
if(Thread.currentThread()==t1){
while(buffer.length()==0){
try{wait();
catch(Exceptione){}
buffer.append(c);
if(Thread.currentThread()==t2){
notifyAll();
publicstaticvoidmain(Strings){
Ehello=newE();
hello.t1.start();
hello.t2.start();
while(hello.t1.isAlive()||hello.t2.isAlive()){}
System.out.println(hello.buffer);
publicvoidrun(){
if(Thread.currentThread()==t1)
addChar('A');
if(Thread.currentThread()==t2)
addChar('B');
习题13
1.URL对象调用哪个方法可以返回一个指向该URL对象所包含的资源的输入流。
2.什么叫socket?怎样建立socket连接?
3.ServerSocket对象调用accept方法返回一个什么类型的对象?
4.InetAddress对象使用怎样的格式来表示自己封装的地址信息?
5.参照例子6,使用套接字连接编写网络程序,客户输入三角形的三边并发送给服务器,服务器把计算出的三
角形的面积返回给客户。
6.参照13.6.2节中的示例代码,使用RMI技术让客户调用远程对象读取服务器上的一个文本文件。
习题14
1.为了操作Derby数据库,需要把Java安装目录目录db/lib下的那些jar文件复制到Java运行环境的扩展
中?
2.参照例子2,编写一个应用程序来查询Derby数据库,用户可以从键盘输入数据库名、表名。
3.使用预处理语句的好处是什么?
钱江晚报·小时新闻记者詹程开通讯员沈榄赵雨静你知道“时间银行”吗?它有什么妙用?昨天,杭州上城区举办了以“邻里共富·你我共享——五社联动下构建新型社区邻里关系”为主题的上城第一届邻里节.
1900/1/1 0:00:00元宇宙正在形成——一个令人兴奋的新宇宙,融合了真实和虚拟世界,开辟了完全未开发的机会。尽管它起源于游戏,但它将成为从教育和健身到营销和医疗保健等领域的游戏规则改变者.
1900/1/1 0:00:00美国五角大楼:在沟通了……美国太空探索技术公司创始人兼首席执行官埃隆·马斯克表示,无法继续无限期地承担“星链”项目在乌克兰的运行费用,要求五角大楼代为买单.
1900/1/1 0:00:00科蓝软件:公司智能高柜机器人“小蓝”已具备数字人民币兑换功能:9月26日消息,科蓝软件在董秘回答投资者提问时表示.
1900/1/1 0:00:00瑞波公司执行长BradGarlinghouse在11日表示: 瑞波与美国证券交易委员会之间旷日持久的诉讼已接近尾声,他预计将在3至4个月内结案,但也可能更久,而只要瑞波币不被列为证券.
1900/1/1 0:00:00圈内曾有这样一位少年,他认为所有数字资产包括比特币都与局无异,于是他复制比特币的代码,自己发行了一个来打趣数字资产的数字货币,但是谁也没想到几年后的今天他的发明却成了最大的笑话.
1900/1/1 0:00:00