一些不常被注意到的Java问题
2016-04-08 22:14
381 查看
牛客JAVA练习题
一些不常被注意到的问题<
a702
/p>
以下demo中使用到的知识点
基本类型如果未赋初值默认值:
int 0; byte 0;short 0; long 0L;char 'u000';float 0.0f;double 0;boolean false;
所有引用类型的变量未赋初值时默认值为null;
输出为3;
byte类型的变量在进行运算时会被提升为int 类型。
public class Demo8
{
public static void main(String[] args)
{
byte b1 = 1,b2 = 2,b3,b6;
int a = 4;
final byte b4 = 4,b5 = 6;
b6 = b4 + b5; // b4 和 b6都是final修饰的常量,所以在编译时 b6 = 10;
b3 = (b1 + b2);// byte类型在进行运算时会提升为int类型,而b3为byte类型故编译报错
a = b1 + a; // 编译不会报错
System.out.println(b3 + b6);
}
}
Java中封装的作用是隐藏内部实现细节,增强程序的安全性。其实封装可以看做是对属性的私有化。
一些不常被注意到的问题<
a702
/p>
public class Demo6 { public static void main(String[] args) { int x = 3; int y = 4; if(x = y) //编译不会通过 应该使用 == { System.out.println("Not equals"); } else { System.out.println("equals"); } } }
以下demo中使用到的知识点
基本类型如果未赋初值默认值:
int 0; byte 0;short 0; long 0L;char 'u000';float 0.0f;double 0;boolean false;
所有引用类型的变量未赋初值时默认值为null;
public class Demo7 { static{ int x = 5; } static int x, y; // 不赋初值默认为零 public static void main(String[] args) { x--; myMethod(); System.out.println(x + y + ++x); } public static void myMethod() { y = x++ + ++x; } }
输出为3;
byte类型的变量在进行运算时会被提升为int 类型。
public class Demo8
{
public static void main(String[] args)
{
byte b1 = 1,b2 = 2,b3,b6;
int a = 4;
final byte b4 = 4,b5 = 6;
b6 = b4 + b5; // b4 和 b6都是final修饰的常量,所以在编译时 b6 = 10;
b3 = (b1 + b2);// byte类型在进行运算时会提升为int类型,而b3为byte类型故编译报错
a = b1 + a; // 编译不会报错
System.out.println(b3 + b6);
}
}
Java中封装的作用是隐藏内部实现细节,增强程序的安全性。其实封装可以看做是对属性的私有化。
相关文章推荐
- Java类型相互转换byte[]类型,blob类型
- struts2校验
- java的异常处理
- java常用类
- JAVA线程池源码探究与简单小例子
- Java课程“新”得(四)
- 开发没有直径,但也要避免走弯路
- Java中子类的访问权限为何比父类大?
- java面向对象笔记
- IntelliJ IDEA的JDK环境配置和Maven依赖管理
- Java进阶学习第一天——HTML入门
- 浅析Java中static修饰符
- Java 序列化 反序列化 历史版本处理
- cenos安装jdk
- cenos安装jdk
- 开篇--Java Web基础知识
- Java多线程线程学习(一)
- JAVA_异常处理(2)
- Java_SE09-多线程
- Java线程学习