总结复习一下java se的一些知识点(一)
一、数
1、变量:
就是将不确定的数据进行存储。也就是需要在内存中开辟一个空间。
2、如何开辟内存空间?
就是通过明确数据类型,变量名称,数据来完成
3、java中数据类型分为基本数据类型和引用数据类型。基本数据类型有:数值型(int 、 long、 short、byte、 float 、double),字符型(char),布尔型(boolean);引用数据类型有:类(class),接口(interface),数组([ ])。
二、运算
&:
6&3=2
110&011= 010=2
|:
6|3 = 7
110|011 = 111= 7
^(异或):
6 ^ 5 = 3
110 ^ 101 = 011 = 3
注意:3^5 = 6,可知6 ^ 5 ^ 5=6
结论:一个数异或同一个数两次,结果还是那个数
取反:
110取反为001
6取反为-7(十进制是6取反减一)
即
000…000110
111…111001
三位运算符:
int a = 0,b;
b = (a>0) ? 'f':1;
三目运算规则是<表达式1>?<表达式2> : <表达式3>
“?”的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果,如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。三目运算的规则是从右往左进行计算
例如boolean result = false ? false : true == false ? true : false;
可表达为boolean result = false ? false : (true == false ? true : false);
三、运算知识点
1、不同数据类型
int a = 3;
a+=4;
short b = 4;
/*b = b + 5;
//报错!!!!进行了两次运算(先加,再进行赋值)。short值加上一个int类型,赋值的话short装不下
*/
b+=5;//只进行了一次赋值运算。内部有一个自动转换动作。
/*
同样适用于char类型
char ch1 = 'B';
ch1 += 'a'-'A';//或者ch1 += 32;
System.out.println(ch1);
*/
2、逻辑运算符是用于连接Boolean类型的表达式
3、交换两个数的数值方法
int a = 10,b = 10;
//方法一、
int temp = a;
a = b;
b = temp;
//不需要用第三方变量交换数值
//方法二、
a = a + b;//容易造成精度损失,如果a和b的值很大,容易超出int范围
b = a - b;
a = a - b;
//方法三、
a = a ^ b;
b = a ^ b;//(a^b)^b = a
a = a ^ b;//a^(a^b)
4、switch(x),x只能是四类型,即byte、short、int、char。
int x =2;
switch (x)//只有四种类型byte int short char
{
case 1:
System.out.println("a");
break;
case 2:
System.out.println("b");
break;
case 3:
System.out.println("c");
break;
case 4:
System.out.println("d");
break;
default:
System.out.println("e");
//break;//可写可不写
}
int a = 4,b =2;
char ch = '+';
switch(ch)
{
case '+':
System.out.println(a+b);
case '-':
System.out.println(a-b);
case '*':
System.out.println(a*b);
case '/':
System.out.println(a/b);
default://不管default在哪里,都是选择case预计先执行
System.out.println("wrong number!");
}
/*
* if和switch语句很像
* 具体使用场景:
* 如果判断的具体数值不多,而符合byte short int char 这四种类型,建议使用switch,因为效率高。
* 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的适用范围更广
* */
5、定义变量的格式
数据类型 变量名=初始化值;
定义一个int类型的变量,取值为4
int a= 4;