(一)JavaSE中基本数据类型及其运算
这里只写了一些需要注意的点,太过基础的就省略没写。。。
-
8种基本数据类型以及他们所占的字节数
数字类型: 整型 byte(8bit) short(16bit) int(32bit) long(64bit)
浮点型 float(32bit) double(64bit)
字符类型:char(16bit)
布尔类型:boolean(1bit)
取值范围:-2^(字节数-1)---- 2^(字节数-1)-1
int为例:-2^31 ---- (2^31 - 1) -
引用数据类型
类class,字符串string, 数组[],等 -
使用long,float定义时,需要在变量值后面添加l或者f,加以声明。
-
char的用法
char通常可以取以下值:
char c=‘A’;//英文字符
char c1=‘刘’;//单个汉字
char c2=’\u0043’;//0代表8进制
char c3=’\u123f’;//f代表十进制
char c4=’\t’;//转义字符
备注:常用的转义字符:\n 换行,\t 制表符(table键),\r 回车键 -
++与–运算符 与 逻辑运算符&&与||
int a=0;
int b=a++;//先赋值,在加 .可以分割为 b=a , a=a+1;
System.out.println("b :"+b+"a为"+ a);//0 1
int c=++a;//先加,在赋值。可以分割为 a=a+1,c=a;
System.out.println("c:"+c+"a"+a);//2 2
int d=++a+1;//先a++,在+1,在赋值
System.out.println("d:"+d+"a:"+a);//4 3
//逻辑与&&:前一个条件为false,那么后一个条件是不会运行的
//逻辑或||:同理,如果第一个为true,那么后一个也不会执行
if(a==0&&++c>=2) {
System.out.println(c);
}else {
System.out.println(c);//运行此句,c=2
}
- 按位运算符&和|,异或^运算符。
//先将数字转化为2进制,在计算。
//&和| 作为按位运算符的使用,&全为1才得1,|有一个1就得1,^只有数字(0和1 相异或)不同才为1
10化为2进制为:1010,2化为2进制为 0010
1010
&0010
0010 化为10进制为2
System.out.println(10&2);//2
System.out.println(10|2);//10
System.out.println(10^2);//10
-
值得一提的是运算符的优先级
一元>二元>三元
算术>关系>逻辑>赋值 -
求数的各个位数是多少?对/ 和%的 理解。
%类似于截取!!先%在/。想取哪一位,就先%那个位数*10,让那个位数变为首位子,再去除以那一位。
eg。取千位,num%10000/1000
1234 取千位 1234/1000=1—234 1234/1000%1=1
1234 取百位 1234/100=12—34 1234/100%10=2
1234 取十位 1234/10=123—4 1234/10%100
1234%1000/100=234
1234%100/10=34
1234%10/1=4