javaSE课程总结(共18篇) 第二篇

来源:互联网 发布:阅读软件下载大全 编辑:程序博客网 时间:2024/06/09 08:41
局部变量:不是声明在类体括号里面的变量
(1)必须要先赋值,后使用,否则通不过编译,局部变量没有默认初始化值
(2)作用范围:定义开始到定义它的代码块结束
(3)同一范围内,不允许2个局部变量命名冲突


参数传递时,简单类型进行值转递(参数进行传递时都会先去栈中生成一个副本的,使用结束后释放)

自动类型提升:
byte a = 1;
byte b = 2;
a = a+b;          //编译出错自动类型提升成int
a += b;       //自加没有自动类型提升问题
类型自动提升规则:
a和b作某种运算
a和b中有double,结果就是double
a和b中有float,结果就是float
a和b中有long,结果就是long
除此之外,结果都是int
把高字节转成低字节,需要作强制类型转换. byte c=(byte)a+b;

移位运算符:效率最高
>>   有符号右移,补符号位
移负数位,则将该数值加32后再进行移位
数值的2进制是按照补码保存的
>>>  右移后高位都补0

逻辑运算符:
&/|也可以作为逻辑运算符
&& 先判断前面一个条件,如果为假,则不用计算后一个条件
|| 先判断前面一个条件,如果为真,则不用计算后一个条件

" + "运算符:
两个操作的对象是数值时,是加法
如果有一个是字符串时,则是字符串的连接

流程控制语句:
同Core C++
switch中的变量类型只能是byte、 short、int、char四种类型

数组:
声明数组:   
数组能以下列形式声明:
类型[] array;
类型 array[];  
注:
JAVA中推荐用:类型[] array;
一个数组是一个对象
声明一个数组没有创建一个对象
声明时不用指定长度

创建数组:
创建基本数据类型数组:int[] i = new int[2]; 
创建引用数据类型数组:Student[] s = new Student[100]; 
数组创建后其中的元素有初始值
类型                     黙认值 
byte                    
short                    
int                      
long                     0l 
float                    0.0f 
double                   0.0d 
char                     \u0000
boolean                false 
reference types    null
注:
创建时一定要指定长度
int[] i2=new int[];           //error

初始化数组: 
声明、创建、初始化分开: 
int[] i;   //定义数组
i = new int[2]; //分配空间
i[0] = 0;   //初始化
i[1] = 1; 

声明、创建、初始化在同一时间 :
int[] i = {0,1};  //显示初始化  {}中有几个值,则数组长度为几
Student[] s = {new Student(),new Student()}; 

注: int[] i=new int[]{1,2,3};    //后面[]中不可以写数值
int[] i1=new int[3]{1,2,3};   //error
 
二维数组:(其实是一个一维数组,它的每一个元素又是一个一维数组)
int[][] i1 = new int[2][3]; 
int[][] i4 = {{1,1,1},{2,2,2},{3,3,3}};
int[][] i3 = new int[][3];//不允许高维没分配空间而先给低维分配空间
int[][] i2 = new int[2][]; 
i2[0] = new int[2];
i2[1] = new int[3];     

数组长度:
数组的属性length
数组长度一旦确定,不可改变     
int[] i = new int[5]; 则i.length= 5

数组拷贝:
系统类System提供的
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 
src: 源数组
srcPos: 从源数组哪个位置开始拷贝(位置指的是元素的下标)
dest: 目标数组
destPos: 拷贝的元素放到目标数组的起始位置
length: 拷贝多少个

数组排序:
自己实现一个排序方法来进行排序
或者调用java.util.Arrays.sort(Object o)
0 0
原创粉丝点击