java基础---->数据类型、运算符、程序控制
一、java基础数据类型
二、标识符及关键字byte: 1字节有符号整数的补码
short: 2字节有符号整数的补码
int: 4字节有符号整数的补码
long: 8字节有符号整数的补码
float: 4字节IEEE754单精度浮点数
double: 8字节IEEE754双精度浮点数
char: 2字节无符号Unicode字符
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();}}}七、函数重载