java知识点(2)

基本数据类型

基本数据类型占的字节

数据类型字节数bit(位)可存储数据的个数
byte182^8=256
short2162^16
int4322^32
long8642^64
float4322^32
double8642^64
boolean1(或4)8(或32)2^8(或2^32)

2.布尔类型:用boolean声明一个变量时,该变量的内存占用1或4个字节。当声明的是一个基本类型的变量时,该变量占四个字节;声明一个数组类型时,数组中每个元素占一个字节。

3.(1)若一整数没有添加任何标识,则默认为int型。若表示long型,可在数据后面加上L或l。eg:long money=10000000000000000L;
(2)若一浮点数没有添加任何标识,则默认为double型。若表示float型,可在数据后面加上f或F。eg:float money=5.20f;

4.数据类型转换细节
(1)凡是byte,short,char数据类型数据运算时,会自动转换成int型数据再运算。

//例1:
byte num1=1;
byte num2=2;
byte sum=num1+num2;//此句会报错,因为(num1+num2)的结果是int型。正确写法:byte sum=(byte)(num1+num2);

//例2:
System.out.println('a'+1);        //结果是:98

(2)两个不同的数据类型运算时,结果取决于大的数据类型。

int num=10;
long num1=20;
num=num+num1;   //报错。因为num是int型,(num+num1)是long型。解决办法:强制类型转换  num=(int)(num+num1);

交换两个变量的值的三种方法

法一:引用第三方变量

int a=3;
int b=5;
int temp=a;
a=b;          //a=5
b=temp;    //b=3

法二:加减法(不允许使用第三方变量时)

int a=3;
int b=5;
a=a+b;
b=a-b;
a=a-b;
//缺点:两个int类型的数相加,有可能超出int的范围。

法三:使用异或(不允许使用第三方变量时)

int a=3;
int b=5;

a=a^b;  //a=3^5
b=a^b;  //b=(3^5)^5=3
a=a^b;  //a=(3^5)^3=5
//缺点:逻辑不清晰

栈内存和堆内存

1.栈内存的特点:存储的都是局部变量,变量一旦出了自己的作用域马上会从内存中消失,释放内存空间。

2.堆内存的特点:存储的都是局部变量,变量一旦被使用完,并不会从内存中消失,而是等待垃圾回收器不定时把垃圾对象回收,这时候该对象才会消失。(垃圾回收器是一段能释放内存的程序)

3.凡是以关键字创建的对象,java虚拟机都会在堆内存中开辟一片新的内存空间,创建一个新的对象。

局部变量和成员变量

1.局部变量:在一个方法内部定义的变量。

2.成员变量:在方法外,类之内定义的变量。

二维数组

1.定义二维数组:
数据类型[][] 变量名=new 数据类型[长度1][长度2];

2.二维数组长度:

int[][] arr=new int[3][5];
System.out.println(arr.length);                     //arr.length=3
System.out.println(arr[1].length);                 //arr[1].length=5

3.遍历二维数组

for(int i=0;i<arr.length;i++){
      for(int j=0;j<arr[i].length;i+=){
       System.out.println(arr[i][j]+",");
      }
      System.out.println();//换行
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值