您的位置:首页 > 编程语言 > Java开发

java语言基础

2016-03-27 18:42 225 查看
Java语言基础

1

int a=3,b;

b=a++ 问:这里的b的值为多少? 这里b的值为3,当a进行自增运算时,会给a一片空间存入a=3,然后使a进行自增,自增后的值赋给变量a原来的区域,而最后赋值得过程中是之前a的预存值a=3。

b=++a 同问?这里的值为4 这里取得是a自增运算完之后的值

int i=3;

i=i++; 这里i的值同样为3

2

标准逻辑运算符与条件逻辑运算符的区别?

对于标准逻辑运算符,需要对所有子表达式求值之后,才能得到结果值,而对于条件逻辑运算符,对其左操作求值后,如果能确定其结果,就不对右操作数进行求值

3

一个数异或一个数两次结果还是这个数

4

short s=3 ; //这里其实发生了强制转换,把整型3的值强制转换为short

s+=4; // 编译可以通过这里发生强制转换,把整型4 转换为short类型

s=s+4; //这里编译不通过 因为可能会损失精度

byte b=4;

byte b1=3

byte b2=7;

b=b1+b2; //这里编译不通过 因为b1 b2 为变量无法判断大小,所以同样可能会丢失精度

5

类型转换时,以占用内存较大类型为主进行转换

6 赋值发生时,必须将赋值运算符右边的表达式的值强制转换为左边变量的类型

7 if 语句中的一个小知识

public class Test1 {

public static void main(String[] args) {

int x=2;

if(x++>1)// x先进行一次运算

System.out.println(x); //输出3

}

}

函数:

明确一:函数的结果是什么?

明确二:这个功能的实现过程中是否需要未知的元素参与运算?

返回值类型与参数类型无直接关系

内存的划分:

1 寄存器

2 本地方法区

3 方法区

4 栈内存

存储的是局部变量,而且变量所属的作用域一旦结束,该变量就自动释放

5 堆内存

存储是数组和对象,凡是new建立在堆中

特点:

1 每一个实体都有首地址值

2 堆内存的每一个变量都有默认初始化值 int 0,float 0.0 double 0.0f boolean false char "u\0000"

3 垃圾回收机制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: