[Java]学习笔记(一)

一、Java是一门WORA(write once, run anywhere)的语言。

二、Java的基本类型:

Java基本类型
基本类型大小最小值最大值默认值
boolean---false
char16 bitsunicode 0unicode 2^16-1'\u0000'null
byte8 bits-128127(byte)0
short16 bits-2^15+2^15-1(short)0
int32 bits-2^31+2^31-10
long64 bits-2^63+2^63-10L
float32 bitsIEEE 754IEEE 7540.0f
double64 bitsIEEE 754IEEE 7540.0d
void----


特点: 跨平台,任何机器和平台上基本类型的范围都不会改变,因此在java中没有sizeof操作符;

Java中的基本类型都是有符号的,会存在有符号移位<<和>>、无符号右移>>>。

三、对象的存储位置:

基本类型在栈上,类对象在堆上。堆上的内存由Java Garbage Collection回收。

四、C语言回顾:

const int 和 int const等价;

const int* a表示a可以指向任何int型的常量;

int const* a表示a为指针常量,指向位置不可修改。

五、==操作符:

基本类型用于比较值,类对象用于比较引用。

对于String,String s1 = "123", s2 = "123";

s1 == s2 返回true,但在使用new申请空间时则返回false。

与equals()的区别:==可适用于所有的类型对象,而equals不适用于基本类型。

六、短路问题:

当一个表达式的值在某一步可以确定后,之后的部分操作可能就不会执行了。

七、移位操作符:

>>>不带符号右移:用0扩展;

<<带符号左移:用0扩展;

>>带符号右移:用符号位扩展。

八、sizeof操作符:

Java中没有,原因前面提到过。

之所以称之为操作符而不是函数是因为可以直接sizeof a,a为变量;对于类型则必须加括号,sizeof(int)。

九、静态方法:

1. static说明该方法是属于类本身的方法,而不是类对象的方法。

2. 设一个类StaticTest,存在一个对象st,静态方法display(),则最好使用StaticTest.display(),而不要用st.display()或display()。

3. 在静态方法中访问非静态数据d:编译时就会出问题——无法从静态上下文中引用非静态变量d,非静态数据只有在实例化对象之后才能被访问。

4. 一个类中所有对象共享static数据。

十、public表示方法是公用的,可以给其他Java文件调用。

十一、如何理解“条件操作符和if-else完全不同,因为它会产生一个值”?

十二、逗号操作符与逗号分隔符:

逗号操作符在Java中唯一用到的地方是for循环的初始化部分和步进部分,且该部分的变量类型必须相同;

逗号分隔符用于分隔函数/方法的不同参数。

十三、初始化与创建:

概念上讲,两者彼此独立。

Java中,两者捆绑在一起,不可分离。

十四、构造器:

1. 构造器本身无任何返回值,与返回值为空(void)不同:

ClassName(ArgsList) {

......

}

2. 默认构造器:一旦程序员写了一个构造器,则默认构造器将被销毁、无法使用。

十五、方法重载:

使用方法名相同而形参不同来区别方法。

不能使用返回值来区分方法重载,因为会存在一个方法调用而不赋给任何变量的情况,如f()。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值