------- android培训、java培训、期待与您交流! ----------
根据java基础班课堂教学总结的java基础知识要点,很有帮助哦!
1.java中的字面常量:
整数:默认 int
小数:默认 double
布尔:true false
字符
字符串
null
2.对于整数,在java字面常量中支持以下4种表现形式
十进制
八进制0
二进制0b 0B(jdk7.0以后支持)
十六进制0x
3.系数*基数 的权 次幂
4.java的数据类型
基本数据类型(8种):
整数:
byte (1字节)
short (2字节)
int (4字节)
long (8字节)
小数:
float (4字节)
double (8字节)
字符 (2字节)
布尔 (有效位1bit)
引用数据类型:
class
interface
数组
5.类型转换
自动类型转换
所有的 byte short char 类型数据在用运算符进行运算时会自动提升为 int 型
byte、short、charàintàlongàfloatàdouble
强制类型转换
6.运算符
算术运算符:+ - * / ++ --
inti=1;
i=i++;
i=????
赋值运算符:= += -= *= /= %=
判断:== !=
逻辑运算符:& | 按位与、或
!非
&&|| 逻辑与、或,具有短路行为
位移运算符:<<左移 右侧补零,左侧丢弃
移动后,返回一个新值,原值不变
每左移一位,*2
int 型:移动的位数%32(低五位有效)100000 32
long 型:移动的位数%64(低六位有效)
>>右移左侧补符号位,右侧丢弃
每右移一位,/2
>>>无符号右移左侧补零,右侧丢弃
~按位取反
&| ^
条件运算符: 逻辑表达式 ?表达式1:表达式2
7.运算符的优先级(从高到低)
括号:{} [] ()
正负号:+ -
自增自减,非;++ -- !
乘除,取余:* / %
加减:+ -
移位运算:<< >> >>>
大小关系:< <= > >=
相等关系:== !=
按位与:&
按位异或:^
按位或:|
逻辑与:&&
逻辑或:||
条件运算:?:
赋值运算:= += -= *= /= %=
位赋值运算:&= |= <<= >>=>>>=
8.switch 语句:
switch(表达式:byte,short,int,char,enum(jdk5),String(jdk7))
{
case取值1:
执行语句;
break;
case取值2:
执行语句;
break;
.......
default:
执行语句;
break;
}
case 之间和 default 没有顺序
结束:遇到break或执行到语句结尾处
9.break(跳出循环语句):
用于选择结构和循环结构
continue(结束本次循环,继续下次循环):
只能用于循环结构
嵌套循环中带标号的break和continue(只用于子、父循环之间)
loop:结束当前的loop循环,继续loop的下一次循环
for()
{
while()
{
continueloop;
}
}
loop:结束loop循环
for()
{
while()
{
breakloop;
}
}
10.内存结构:
栈内存:用于存储基本数据类型的局部变量,当数据使用完,所占空间会自动释放
堆内存:数组和对象,通过new建立的实例都存放在对内存中
每一个实体都有内存地址
实体中的变量都有默认初始化值
整数:0
浮点:0.0
布尔:false
字符:'\u0000'(空字符)
所有引用类型全部初始化为null
实体不在被使用,在不确定的时间内被垃圾回收器回收
方法区
本地方法区
寄存器
11.方法的值传递和引用传递-----------(注意栈内存和堆内存的数据存储)
(1)方法的值传递:方法的形参如果是基本数据类型,
· 将值复制,传递到方法内部
在方法内部如果更改值,不影响原值
(2)方法的按引用传递:方法的形参如果是引用类型
将“引用”复制,传递到方法内部
此时原引用和方法内部的引用都指向同一块在堆中的空间
如果在方法内部通过引用将堆中的值更改,原引用所获取的值将同时发生更改