读书人

java基础-gt;数据类型、运算符、程序控制

发布时间: 2012-08-07 14:54:48 作者: rapoo

java基础---->数据类型、运算符、程序控制

一、java基础数据类型java基础->数据类型、运算符、程序控制

byte: 1字节有符号整数的补码
short: 2字节有符号整数的补码
int: 4字节有符号整数的补码
long: 8字节有符号整数的补码
float: 4字节IEEE754单精度浮点数
double: 8字节IEEE754双精度浮点数
char: 2字节无符号Unicode字符

二、标识符及关键字

java基础->数据类型、运算符、程序控制

goto 和constant没有任何意义

标识符:由字母、数字、下划线、$符号组成,其中不能以数字开头,不能是Java中的关键字。

三、注释

 // 注释一行

  /* ...... */ 注释若干行

/**……*/文档注释

四、运算符

Java中提供了以下的运算符:

赋值运算:=

三目运算:布尔表达式 ?条件满足 :条不满足

数学运算符:+、-、*、/、%

关系运算符:>、>=、<、<=、==、!=

位运算:>>、<<、>>>、^、~

>> 右移 将二进制向右移动指定位数,右移之后的位数用符号填充。

<< 左移 将二进制向左移动指定为数,左移之后的位数用0填充。

>>> 无符号右移动,右移只有用0填充。

^ 异或

~ 对补码按位取反,0变1,1变0. 若x=-3,则~x=2;

public class BitOperator {public static void main(String[] args) {int x=3;int y=-3;System.out.println("左移两位"+(x<<2)); //12System.out.println("右移两位"+(x>>2)); //0System.out.println("无符号右移两位"+(x>>>2));//0System.out.println("左移两位"+(y<<2)); //-12System.out.println("右移两位"+(y>>2)); //-1System.out.println("无符号右移两位"+(y>>>2)); //1073741823,因为整型是4个字节//x和~x的和为-1System.out.println("取反"+(~x));//-4System.out.println("取反"+(~y));//2}}


逻辑运算:&&、&、||、|、!

&:所有的条件都要判断

&&:短路与,如果前面的条件不满足则后面的不再判断

|:所有的条件都要判断

||:当前面的条件满足时,后面的条件不再判断

简便运算符:++、--

五、数组

声明和分配内存空间一步完成:声明数组时在栈内保存数组的名称,为数组开辟空间是使用new关键字在堆内完成的。

数据类型数组名称[] = new 数据类型[长度] ;

数据类型 [] 数组名称 = new数据类型[长度] ;

两步完成:

数据类型 数组名称[] = null ;

数组名称 = new 数据类型[数组长度] ;

数组的冒泡排序:

public class ArraySort{public static void main(String argbs[]){int data[] = {1,3,4,1,3,54,5,43,3,2,1,5,7,87} ;for(int x=0;x<data.length;x++){for(int y=0;y<data.length-1;y++){if(data[y] < data[y+1]){int temp = data[y] ;data[y] = data[y+1] ;data[y+1] = temp ;}}}for(int x=0;x<data.length;x++){System.out.print(data[x] + "、") ;}}};

java.util.Arrays.sort(data);

System.arraycopy(src, srcPos, dest, destPos, length);

可变参数

public class NewDemo02{ public static void main(String args[]){  System.out.print("不传递参数(fun()):") ;  fun() ;   // 不传递参数  System.out.print("\n传递一个参数(fun(1)):") ;  fun(1) ;  // 传递一个参数  System.out.print("\n传递五个参数(fun(1,2,3,4,5)):") ;  fun(1,2,3,4,5) ; } public static void fun(int ... arg){ // 可变参数  for(int x:arg){  // 使用foreach输出输出   System.out.print(x + "、") ;  } }};


六、程序控制

if、if…else、switch(case分支条件后面只能是int 或者枚举类型)语句,如果想使用string作为分支条件。

switch 如果不加break;则执行第一个满足条件之后的所有操作。

public enum Animal {dog,cat,pig;static Animal getValue(String  animal){return valueOf(animal.toLowerCase());}}

Client.java

public class Client {public void caseAnimal(String animal) {switch (Animal.getValue(animal)) {case dog:System.out.println("this is a dog");break;case pig:System.out.println("this is a pig ");break;case cat:System.out.println("this is a cat");break;default:System.out.println("i don't know what is this!");break;}}public static void main(String[] args) {new Client().caseAnimal("dog");}}

for、foreach、while、do…while语句

break:跳出循环,循环嵌套时跳出内层循环。

continue 作用:跳过循环体中剩余的语句而执行下一次循环

99乘法表:

public class Multiply_table {public static void main(String[] args) {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= 9; j++) {if (i >= j)System.out.print(i + "*" + j + "=" + i * j + "\t");}System.out.println();}}}
七、函数重载
所谓函数重载是指同一个函数名可以对应着多个函数的实现。每种实现对应着一个函数体,这些函数的名字相同,但是函数的参数的类型或者个数不同。返回值类型不能判断是函数重载。

读书人网 >编程

热点推荐