当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

运算符、流程控制以及数组

发表于: 2012-02-05   作者:剑锋无刃   来源:转载   浏览:
摘要:   局部变量:不是声明在类体括号里面的变量 (1)必须要先赋值,后使用,否则通不过编译,局部变量没有默认初始化值 (2)作用范围:定义开始到定义它的代码块结束 (3)同一范围内,不允许2个局部变量命名冲突   参数传递时,简单类型进行值转递 (参数进行传递时都会先去栈中生成一个副本的,使用结束后释放) 自动类型提升: byte a = 1;

 

局部变量:不是声明在类体括号里面的变量

(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

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
3.1 java中的运算符 运算符是一种特殊符号,用以表示数据的运算、赋值和比较。一般由一至三个字符组
Day12 ●javascript数据类型 ①基本数据类型: 数值(2)字符串(3)布尔型 小技巧:通过typeof关键
Scanner input = new Scanner(System.in); System.out.println("请输入一个数字"); int a=input.nex
java的语言的基础组成 1.关键字: 被java赋予了特殊意义的单词 2.标识符: 类名 函数 26个字母 0-9 _ $
java的语言的基础组成 1.关键字: 被java赋予了特殊意义的单词 2.标识符: 类名 函数 26个字母 0-9 _ $
java的语言的基础组成 1.关键字: 被java赋予了特殊意义的单词 2.标识符: 类名 函数 26个字母 0-9 _ $
java的语言的基础组成 1.关键字: 被java赋予了特殊意义的单词 2.标识符: 类名 函数 26个字母 0-9 _ $
java的语言的基础组成 1.关键字: 被java赋予了特殊意义的单词 2.标识符: 类名 函数 26个字母 0-9 _ $
java的语言的基础组成 1.关键字: 被java赋予了特殊意义的单词 2.标识符: 类名 函数 26个字母 0-9 _ $
梭罗说:“从圆到圆心有多少条半径,人们的生活方式也应该有这么多。” 同样学习也是如此,学习的渠
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号