《Java语言程序设计》经典例题(一)

第一题
下面代码的输出是

class C {

	public static void main (String [] args) {

		int x = 1;

		System.out.print((x > 1) & (x++ > 1));

		System.out.print(“ ”);

		System.out.print((x > 1) && (x++ > 1));

		}
} 
//输出结果:false true

&和&&的区别
&会判断两个表达式,非短路运算符
&&针对boolean类型的进行判断,“短路”运算符,判断第一个为false则不再判断
2. Java中所有的方法都必须在类内定义
3. C++中的布尔类型关键字是bool,而Java的类型关键字是boolean,它只能取true和false
4.

class C {

    public static void main(String[] args) {

        String s = “Welcome to ”;

        concat(s);

        System.out.print(s);

    }

    public static void concat(String s) {

        s += “Java”;

    }

} 

输出结果为:Welcome to
解析:
concate方法传递是是引用,所以尽管局部变量都是s,但是concate中的s和调用者的s是不同的两个对象,它们只是都引用自常量池中的一个字符串。s+="Java"等价于下面的语句:
String foo=s+“Java”;
s=foo;

又因为String是一个不可变对象,因此foo是一个新的String,而s=foo改变了s的引用指向,但是这不影响调用者的s变量。也就是说,此时二者指向的是不同的两个常量池字符串引用,这和C++是不同的。

这就要从java底层的机制讲起了,java的内存模型分为 堆 和 栈 。

1.基本类型的变量放在栈里;
2.封装类型中,对象放在堆里,对象的引用放在栈里

第五题:

class C { 

	public static void main(String[] args) { 

		String s = “null”; 

		if(s == null) 

			System.out.print(“a”); 

		else if(s.length() == 0) 

			System.out.print(“b”); 

		else 

			System.out.print(“c”); 

	} 

} 

结果:c
解析:字符串是值是四个字符组成的串:‘n’,‘u’,‘l’,‘l’,和null这个特殊值不一样

第六题:
java中,浮点数字面量的类型是double,不能直接赋值给float,否则需要加后缀f:
float f=100.0f;
第七题:
Java中存在一种基本的数据类型,该类型定义的变量不能与其他类型转换,定义该类型用boolean
第八题:
1.Java语言中有4种基本的整数类型,哪种类型所占的内存空间最大,写出定义该类型的关键字 long 8字节

Java语言中有4种基本的整数类型,哪种类型所占的内存空间最小,写出定义该类型的关键字 byte 1字节
四种基本整数类型是byte,short,int,long,分别占内存大小位1,2,4,8字节
2.switch不能够接受long类型的值,只能接受char、byte、short、int,以及他们的装箱类型,此外还有String和enum类型的变量
3.布尔型定义的成员变量是有默认值的,它的值是false;
4.声明一个值为3.14的double型常量PI的语句为
final double PI=3.14;
第九题:
1.假设StringBuffer s = new StringBuffer(“Welcome to JAVA”);
将s的内容清空的语句是:
s=new StringBuffer();;s.setLength(0);;s.delete(0,s.length());
2.Java源程序经过编译后生成被称为(字节码;byte code)的特殊机器语言码,然后经过(
虚拟机;JVM;Java虚拟机)解释运行。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值