因为我是从C++转来的,所以学起来比较容易,闲话少说直接上题。
PS:编译器eclipse,正在安装IDEA,安装成功的话后面用这个编译器写
1.使用简短的和正常的打印语句来编写一个程序:
PS:这个代码包我没下载,自然这道题写不了,也无所谓这个包没啥用。
2.创建一个包含float域的类,并用这个类展示别名机制。
首先,我们要明白域是一种属性,可以是一个类变量,一个对象变量,一个对象方法变量或者是一个函数的参数。
import java.util.*;
public class TEST {
static class A{
float i;
}
public static void main(String[] args) {
A a=new A();
A b=new A();
a.i=1;
b.i=2;
System.out.print(a.i+" "+b.i+'\n');
a=b;
System.out.print(a.i+" "+b.i);
}
}
output:
1.0 2.0
2.0 2.0
3.创建一个包含一个float域的类,并用这个类展示方法调用时的别命
import java.util.*;
class A{
float i;
}
public class TEST {
public static class B{ //不写static会报错
static void f(A a) { //The method f cannot be declared static;
a.i=2.10f; // static methods can only be declared in
} //a static or top level type
}
public static void main(String[] args) {
A b=new A();
b.i=3.10f;
System.out.print(b.i+" ");
B.f(b);
System.out.print(b.i);
}
}
output:3.1 2.1
4.编写一个计算速度的程序,它所使用的距离和时间都是常量。
import java.util.*;
public class TEST {
public static void main(String[] args) {
final float time=10;
final float meter=5;
System.out.print(meter/time);
}
}
output:0.5
5.创建一个名为Dog的类,它包含两个String域:name和says。在main()方法中,创建两个Dog对象,一个名为spot(它的叫声为“Ruff!”),另一个名为scruffy(它的叫声为“Wuff!”)。然后显示它们的名字和叫声。
import java.util.*;
public class TEST {
public static class Dog{
String name;
String says;
}
public static void main(String[] args) {
Dog a=new Dog();
Dog b=new Dog();
a.name="spot";
a.says="Ruff!";
b.name="scruffy";
b.says="Wurf!";
System.out.print(a.name+" "+a.says+'\n');
System.out.print(b.name+" "+b.says);
}
}
output:
spot Ruff!
scruffy Wurf!
6.在5题的基础上,创建一个新的Dog索引,并为其赋值为spot对象。测试用==和equals()方法来比较所有引用的结果。
import java.util.*;
public class TEST {
public static class Dog{
String name;
String says;
}
public static void main(String[] args) {
Dog a=new Dog();
Dog b=new Dog();
a.name="spot";
a.says="Ruff!";
b.name="scruffy";
b.says="Wurf!";
Dog c=a;
System.out.print(a.name+" "+a.says+'\n');
System.out.print(b.name+" "+b.says+'\n');
System.out.print(c.name==a.name+" "+(c.name).equals(a.name));
}
}
或者
import java.util.*;
public class TEST {
public static class Dog{
String name;
String says;
}
public static void main(String[] args) {
Dog a=new Dog();
Dog b=new Dog();
a.name="spot";
a.says="Ruff!";
b.name="scruffy";
b.says="Wurf!";
Dog c=new Dog();
c.name=a.name;
System.out.print(a.name+" "+a.says+'\n');
System.out.print(b.name+" "+b.says+'\n');
System.out.print(c.name==a.name+" "+(c.name).equals(a.name));
}
}
output:
spot Ruff!
scruffy Wurf!
false
就很迷,为啥都是false
到了17章再说吧
7.编写一个程序,模拟编写扔硬币的结果。
import java.util.*;
public class TEST {
public static void main(String[] args) {
Random rand=new Random();
int a=rand.nextInt();
int b=a%2;
if(b==0) {
System.out.print("正面");
}
else {
System.out.print("反面");
}
}
}
output:
不是正面就是反面 看命
8. 展示用16进制和8进制计数法来操作long值,用Long.toBinaryString()来显示结果。
import java.util.*;
public class TEST {
public static void main(String[] args) {
long a=0x1f;
System.out.print(Long.toBinaryString(a)+'\n');
a=0177;
System.out.print(Long.toBinaryString(a));
}
}
output:
11111
1111111
9.分别显示用float和double指数计数法所能表示的最大和最小的数字。
import java.util.*;
public class TEST {
public static void main(String[] args) {
float a = Float.MAX_VALUE;
float b = Float.MIN_VALUE;
double c = Double.MAX_VALUE;
double d = Double.MIN_VALUE;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
output:
3.4028235E38
1.4E-45
1.7976931348623157E308
4.9E-324
就很神奇,我也是查资料才知道的
10.编写一个具有两个常量值的程序,一个具有交替的二进制位1和0,其中最低有效位为0,另一个也具有交替的二进制位1和0,但其最低有效位为1(提示:使用十六进制常量来表示最简单的方法)。取两个值,用按位操作符以所有可能方式结合运算它们,然后用Integer.toBinaryString()显示。
import java.util.*;
public class TEST {
public static void main(String[] args) {
int a = 0xaaaaa;
int b = 0x55555;
System.out.println(Integer.toBinaryString(a));
System.out.println(Integer.toBinaryString(b));
}
}
output:
10101010101010101010
1010101010101010101
老实说,10.11.12.13的思路我是搜来琢磨的,天知道这是什么东西...
11.以一个最高有效位为1的二进制数字开始(提示:使用十六进制常量),用有符号右移操作符对其进行右移,直至所有的二进制位都被移出为止,每移一位都要使用Integer.toBinaryString()显示结果。
import java.util.*;
public class TEST {
public static void main(String[] args) {
for(int i=0;i<9;i++)
{
int a=0x9f;
System.out.println("i="+i+" a>>"+i+"="+Integer.toBinaryString(a>>i));
}
}
}
output:
i=0 a>>0=10011111
i=1 a>>1=1001111
i=2 a>>2=100111
i=3 a>>3=10011
i=4 a>>4=1001
i=5 a>>5=100
i=6 a>>6=10
i=7 a>>7=1
i=8 a>>8=0
12.以一个所有位为1的二进制数字开始,先左移它,然后用无符号右移操作符对其进行右移,直至所有的二进制位都被移出为止,每移一位都要使用Integer.toBinaryString()显示结果。
import java.util.*;
public class TEST {
public static void main(String[] args) {
int a=0xfff;
System.out.println("a="+Integer.toBinaryString(a));
System.out.println("a<<1="+Integer.toBinaryString(a<<1));
for(int i=0;i<9;i++)
{
System.out.println("i="+i+" a>>>"+i+"="+Integer.toBinaryString(a>>>i));
}
}
}
output:
a=111111111111
a<<1=1111111111110
i=0 a>>>0=111111111111
i=1 a>>>1=11111111111
i=2 a>>>2=1111111111
i=3 a>>>3=111111111
i=4 a>>>4=11111111
i=5 a>>>5=1111111
i=6 a>>>6=111111
i=7 a>>>7=11111
i=8 a>>>8=1111
13.编写一个方法,它以二进制形式显示char类型的值。使用多个不同的字符来展示它。
import java.util.*;
public class TEST {
static void f(char s) {
System.out.println(s+": "+Integer.toBinaryString(s));
}
public static void main(String[] args) {
f('A');
f('B');
f('C');
}
}
output:
A: 1000001
B: 1000010
C: 1000011
14.编写一个接收两个字符串参数的方法,用各种布尔值的比较关系来比较这两个字符串,然后把结果打印出来。做==和!=的同时,用equals()作测试。在main()里面用几个不同的字符串对象调用这个方法。
import java.util.*;
public class TEST {
static void compare(String a,String b) {
System.out.println(a==b+'\n');
System.out.println(a!=b+'\n');
System.out.println(a.equals(b));
}
public static void main(String[] args) {
String a="aaaaa";
String b="bbbbb";
String c="ccccc";
compare(a,b);
compare(a,c);
}
}
output:
false
true
false
false
true
false
没了~我会持续更新哦!
关于算法欢迎访问我的另一个博客:https://www.cnblogs.com/hsjj/,也会持续更新的
有问题欢迎发送邮件至hpzhangjunjiell@163.com