题目都相当简单没啥说的直接放代码就行了...

3.1

 package ex0301;
//[3.1]使用“简短的”和正常的打印语句来写一个程序 import static java.lang.System.out;
public class Abbreviate
{
public static void main(String[] args)
{
System.out.println("Hello, world! [complete]");
out.println("Hello, world! [abbreviate]");
}
}

3.1

3.2

 package ex0302;
//[3.2]创建一个包含一个float域的类,并用这个类来展示别名机制
class ShowByname
{
private float elem;
public float getElem() { return elem; }
public void setElem(float _elem) { elem = _elem; }
} public class Byname
{
public static void main(String[] args)
{
ShowByname test1 = new ShowByname();
test1.setElem(1.333f);
System.out.println("test1.elem = " + test1.getElem()); ShowByname test2 = test1;
System.out.println("test2.elem = " + test2.getElem()); //仅修改引用test2并观察
test2.setElem(3.14159f);
System.out.println("test1.elem = " + test1.getElem());
System.out.println("test2.elem = " + test2.getElem());
}
}

3.2

3.3

 package ex0303;
//[3.3]创建一个包含一个float域的类,并用这个方法来展示方法调用时的别名机制 class ShowFunByname
{
public float elem = 3.14f;
} public class FunByname
{
static void f(ShowFunByname test)
{
test.elem = 1.414f;
} public static void main(String[] args)
{
ShowFunByname test = new ShowFunByname();
System.out.println("1: elem = " + test.elem); f(test);
System.out.println("2: elem = " + test.elem);
}
}

3.3

3.4

 package ex0304;

 //[3.4]编写一个计算速度的程序,它使用的距离和时间都是常量
class CalVelocity
{
private final double distance = 100.0;
private final double time = 3.5;
public double getVelocity() { return distance/time; }
} public class Velocity
{
public static void main(String[] args)
{
CalVelocity test = new CalVelocity();
System.out.println(test.getVelocity()+"km/h");
}
}

3.4

3.5-3.6

 package ex030506;

 //[3.5]创建一个名为Dog的类,它包含两个String域:name和says.在main方法中,创建两个Dog对象.
//一个名叫spot,叫声为“Ruff!”;另一个名为scruffy,叫声为"Wurf!".然后显示它们的名字和叫声.
//[3.6]在练习5的基础上,创建一个新的Dog索引,并对其赋值为spot对象.测试用==和euqals()方法来比较所有引用的结果. class Dog
{
private String name;
private String says;
public Dog(String _name, String _says)
{
name=_name;
says=_says;
} public String getName() { return name; }
public String getSays() { return says; }
} public class TestEqual
{
public static void main(String[] args)
{
//[3.5]
Dog dogA = new Dog("spot" , "Ruff!");
Dog dogB = new Dog("scruffy" , "Wurf!");
System.out.println("dogA's name is " + dogA.getName()+" and says "+dogA.getSays());
System.out.println("dogB's name is " + dogB.getName()+" and says "+dogB.getSays()); //[3.6]
Dog dogindex = dogA;
System.out.print(dogindex==dogA); System.out.println(dogindex.equals(dogA));
System.out.print(dogA==dogB); System.out.println(dogA.equals(dogB));
System.out.print(dogindex==dogB); System.out.println(dogindex.equals(dogB));
}
}

3.5-3.6

3.7

 package ex0307;
//[0307]编写一个程序模拟随机扔硬币的结果 class Coin
{
private boolean state;
public boolean toss()
{
state=(Math.random() < 0.5);
return state;
}
}
public class TestCoin
{
public static void main(String[] args)
{
Coin onedollar = new Coin();
for(int i = 0; i < 20; ++i)
System.out.print(onedollar.toss() + " ");
}
}

3.7

3.8

 package ex0308;
//[3.8]展示用十六进制和八进制计数法来操作long值,用Long.toBinaryString()来显示结果. public class TestOctHex
{
public static void main(String[] args)
{
long first = 256L;
long second = 0256L;
long third = 0x256L; System.out.println("first = " + Long.toBinaryString(first));
System.out.println("second = " + Long.toBinaryString(second));
System.out.println("third = " + Long.toBinaryString(third));
}
}

3.8

3.9

 package ex0309;
//[3.9]分别显示用float和double指数计数法所能表示的最大和最小的数字 public class ExpLimit
{
public static void main(String[] args)
{
double doublemax = Double.MAX_VALUE;
double doublemin = Double.MIN_VALUE;
float floatmax = Float.MAX_VALUE;
float floatmin = Float.MIN_VALUE; System.out.println("doublemax = " + doublemax);
System.out.println("doublemin = " + doublemin);
System.out.println("floatmax = " + floatmax);
System.out.println("floatmin = " + floatmin);
}
}

3.9

3.10

 package ex0310;
//[3.10]编写一个具有两个常量值的程序,一个具有交替的二进制位1和0,其中最低有效位为0,另一个也具有交替的二进制位1和0,其中最低有效位为1.
//取这两个值,用按位操作符以所有可能的方式结合运算它们,然后用Integer.toBinaryString()显示 public class TestBitOperation
{
public static void main(String[] args)
{
int first = 0x2AA;
int second =0x133;
System.out.println("first = " + Integer.toBinaryString(first));
System.out.println("sceond = " + Integer.toBinaryString(second));
System.out.println("first & second = " + Integer.toBinaryString(first & second));
System.out.println("first | second = " + Integer.toBinaryString(first | second));
System.out.println("first ^ second = " + Integer.toBinaryString(first ^ second));
System.out.println("~first = " + Integer.toBinaryString(~first));
System.out.println("~sceond = " + Integer.toBinaryString(~second));
}
}

3.10

3.11-3.12

 package ex031112;
//[3.11]以一个最高有效位为1的二进制数开始,用有符号右移操作符对其进行右移,直至所有的二进制位都被移出为止,每移一位都显示二进制字符串效果.
//[3.12]以一个所有位都为1的二进制数字开始,先左移它,然后用无符号右移操作符对其进行右移,直至所有二进制位都移出为止,每移一位都要显示二进制字符串效果. public class TestBitShift
{
public static void main(String[] args)
{
//[3.11]
int first = 0xF3A7;
while(first != 0)
{
first >>= 1;
System.out.println(Integer.toBinaryString(first));
} //[3.12]
int second = 0xFFFF;
second <<= 1;
System.out.println(Integer.toBinaryString(second));
while(second != 0)
{
second >>= 1;
System.out.println(Integer.toBinaryString(second));
}
}
}

3.11-3.12

3.13

 package ex0313;
//[3.13]编写一个方法,它以二进制形式显示char类型的值.使用多个不同的字符来展示它. class TestCharToBinaryString
{
public static String transform(char x)
{
return Integer.toBinaryString((int) x);
}
} public class CharToBinaryString
{
public static void main(String[] args)
{
char first = 'a';
char second = '&';
char third = '6'; System.out.println("a: " + TestCharToBinaryString.transform(first));
System.out.println("&: " + TestCharToBinaryString.transform(second));
System.out.println("6: " + TestCharToBinaryString.transform(third));
}
}

3.13

3.14

 package ex0314;
//[3.14]编写一个接收两个字符串参数的方法,用各种布尔值的比较关系来比较这两个字符串,然后把结构打印出来.
//做==和!=比较的同事,用equals()作测试.在main()里面用几个不同的字符串对象调用这个方法 import java.lang.String;
class StringCompare
{
public static void go(String first , String second)
{
System.out.println(first + " compareTo " + second + " : " + (first.compareTo(second)));
System.out.println(first + " != " + second + " : " + first != second);
System.out.println(first + " == " + second + " : " + first == second);
System.out.println(first + " equals " + second + " : " + first.equals(second));
System.out.println("");
}
} public class TestStringCompare
{
public static void main(String[] args)
{
String first = new String("Good");
String second = new String("Bad");
String third = first; StringCompare.go(first, second);
StringCompare.go(third, second);
StringCompare.go(first, third);
}
}

3.14

【TIJ4】第三章全部习题的更多相关文章

  1. C语言程序设计:现代方法(第2版)第三章全部习题答案

    前言 本人在通过<C语言程序设计:现代方法(第2版)>自学C语言时,发现国内并没有该书完整的课后习题答案,所以就想把自己在学习过程中所做出的答案分享出来,以供大家参考.这些答案是本人自己解 ...

  2. 中级Perl 第三章课后习题

    3. 10. 1. 练习1 [25 分钟] 读当前目录的文件列表并转换成全路径.不能用shell 命令或外部程序读当前目 录.Perl 的File::Spec 和Cwd 两个模块对这个程序有帮助.每个 ...

  3. python语言程序设计基础(嵩天)第三章课后习题部分个人练习

    p69: *题3.5: 源代码: (1)print(30-3**2+8//3**2*10)     答案:21 (2)print(3*4**2/8%5)     答案:1.0 (3)print(2** ...

  4. java编程思想第四版第三章要点习题

    使用"简短的" 和正常的 打印语句来编写一个程序 package net.mindview.util; public class Print { /** * 不带有回车 * @pa ...

  5. 周志华-机器学习西瓜书-第三章习题3.5 LDA

    本文为周志华机器学习西瓜书第三章课后习题3.5答案,编程实现线性判别分析LDA,数据集为书本第89页的数据 首先介绍LDA算法流程: LDA的一个手工计算数学实例: 课后习题的代码: # coding ...

  6. 《python核心编》程课后习题——第三章

    核心编程课后习题——第三章 3-1 由于Python是动态的,解释性的语言,对象的类型和内存都是运行时确定的,所以无需再使用之前对变量名和变量类型进行申明 3-2原因同上,Python的类型检查是在运 ...

  7. 【转】《APUE》第三章笔记(4)及习题3-2

    原文网址:http://www.cnblogs.com/fusae-blog/p/4256794.html APUE第三章的最后面给出的函数,现在还用不着,所以,先留个名字,待到时候用着了再补上好了. ...

  8. 《APUE》第三章笔记(4)及习题3-2

    APUE第三章的最后面给出的函数,现在还用不着,所以,先留个名字,待到时候用着了再补上好了. dup和dup2函数:用来复制文件描述符的 sync函数,fsync函数和fdatasync函数:大致的功 ...

  9. 统计学习导论:基于R应用——第三章习题

    第三章习题 部分证明题未给出答案 1. 表3.4中,零假设是指三种形式的广告对TV的销量没什么影响.而电视广告和收音机广告的P值小说明,原假设是错的,也就是电视广告和收音机广告均对TV的销量有影响:报 ...

随机推荐

  1. haproxy笔记之四:配置文件中的关键字参考

    3.1 balance balance <algorithm> [ <arguments> ]balance url_param <param> [check_po ...

  2. mysql5.7解压版安装

    环境:win 10 1.解压 新建my.ini [mysqld] port = 3306 basedir=解压路径 datadir=解压路径\data max_connections=200 char ...

  3. Myeclipse 错误An internal error has occurred 解决办法

    1. 给MyEclipse的快捷方式加个参数再重新启动一次.      步骤如下:右键选中快捷方式属性选项,在快捷方式页,目标一项最后加上-clean选项,如"C:\MyEclipse6\e ...

  4. 在 Ubuntu 14.04 安装 PyCharm 5 & Oracle JDK

    由于授权问题,在较新的Linux发行版本中都不再包含Oracle Java,取而代之的是OpenJDK.Ubuntu也是如此. OpenJDK能满足大部分的应用程序运行条件,但PyCharm无法在Op ...

  5. 来自澳洲的数据秀场:记KDD 2015大会

    作者:微软亚洲研究院实习生 王英子 南半球最大城市和数据挖掘界顶级会议的浪漫碰撞 悉尼,作为澳大利亚第一大城市及新南威尔士州首府,澳大利亚的经济.金融.航运和旅游中心,同时还是南半球最大的城市和重要的 ...

  6. Elasticsearch,Filebeat,Kibana部署,添加图表及elastalert报警

    服务端安装 Elasticsearch和Kibana(需要安装openjdk1.8以上) 安装方法:https://www.elastic.co以Ubuntu为例: wget -qO - https: ...

  7. 2019DDCTF部分Writeup

    -- re Windows Reverse1 通过DIE查壳发现存在upx,在linux上upx -d脱壳即可,拖入IDA,通过关键字符串找到关键函数: main函数中也没有什么,将输入的字符串带到s ...

  8. 阿里凭啥比腾讯更会和Groupon相处好?

    提起Groupon,大部分人对其第一反应就是那个"过气"的团购网鼻祖和与腾讯合作推出的国内团购网站"高朋网",死相极惨!虽然马化腾表示是双方准备不足的原因,但却 ...

  9. python设置检查点简单实现

    说检查点,其实就是对过去历史的记录,可以认为是log.不过这里进行了简化.举例来说,我现在又一段文本.文本里放有一堆堆的链接地址.我现在的任务是下载那些地址中的内容.另外因为网络的问题或者网站的问题, ...

  10. 《AndroidStudio导入安卓源码-idegen》---可方便查看安卓源代码

    idegen是Android源码中的一个模块,需要编译一下.生成一个jar包.然后再进行构建生成AndroidStudio配置相关文件. > 什么是idegen 要将Android系统源代码工程 ...