java基础语法(2)
来源:互联网 发布:大数据与政府统计 编辑:程序博客网 时间:2024/05/16 02:00
1.switch 语句能否作用在byte 上,能否作用在long 上,能否作用在String 上?
在switch(expr1)中,expr1 只能是一个整数表达式或者枚举常量。整数表达式可以是int 基本类型或Integer 包装类型,由于,byte,short,char 都可以隐含转换为int ,所以,这些类型以及这些类型的包装类型也是可以的。显然,long 和String 类型都不符合switch 的语法规定,并且不能被隐式转换成int 类型,所以,它们不能作用于swtich 语句中。
2.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
对于short s1 = 1; s1 = s1 + 1; 由于s1+1 运算时会自动提升表达式的类型,所以结果是int 型,再赋值给short 类型s1 时,编译器将报告需要强制转换类型的错误。
对于short s1 = 1; s1 += 1;由于+= 是java 语言规定的运算符,java 编译器会对它进行特殊处理,因此可以正确编译。
3.char 型变量中能不能存贮一个中文汉字?为什么?
char 型变量是用来存储Unicode 编码的字符的,unicode 编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在unicode 编码字符集中,那么,这个char 型变量中就不能存储这个特殊汉字。补充说明:unicode 编码占用两个字节,所以,char 类型的变量也是占用两个字节。
4.是否可以从一个static 方法内部发出对非static 方法的调用?
不可以。因为非static 方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static 方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static 方法中发出对非static 方法的调用,那个非static 方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static 方法内部发出对非static 方法的调用。
- java基础语法(2)
- Java基础语法(2)
- java基础语法(2)
- java基础语法2
- JAVA基础语法2
- Java语法基础-2
- Java基础语法-2
- Java基础语法2
- Java基础--基础语法2
- #Java基础语法#(2)名词解释
- Java基础语法易犯错误(2)
- Java Se---语法基础(2)
- Java 基础(2)----基本语法一
- java基础(2)--基本语法
- 四、JAVA基础语法(2)
- 3.Java基础语法(2)
- Java语法基础练习题(2)
- Java基础语法篇(2)
- #$#@$%$#@#!@$#!@$
- Windows 7下VS2008破解90天限制的激活升级方法(支持简体中文,英文,繁体中文)
- 运行时库
- 增强现实
- 更新英文简历 谷歌 微软
- java基础语法(2)
- 动态规划与贪婪算法的简单示例
- 1155芯片组H61/H67/P67/Z68的区别一览表
- javascript的原型解释
- 不同操作系统安装最新的metasploit3.5.2
- ARM中断原理, 中断嵌套的误区,中断号的怎么来的
- syslogd和logrotate的简介
- C Puzzle解答(2)
- C/C++知识点备忘