JAVA_SE复习(basic)

一、数据类型

1.基本数据类型

Ps:有效标识符_、字母、$开头  之后可有数字

整型:byte 1 short 2 int 4 long 8  (字节) 

取值范围其范围是从负的该数据类型位数减1次幂到的该数据类型位数减次幂– 1

 

2.浮点型

float 4            double 8   (字节)  

取值范围6~7 位有效数字             15 位有效数字

 

注意:float 类型的数值必须加一个后缀F

例:如果不加后缀F,这个数据就会被Java 理解成

double 类型。也可以在double 类型的数值后加上D,例如3.14D

 

 

各类型的默认值:byteintshort 的默认值是0long 的默认值是0Lfloat 的默认值是0.0fdouble

的默认值是0.0char 的默认值是’u0000’代表空格,boolean 的默认值是false

3.char 类型

16 位无符号的Unicode 字符

注意: char 字符必须在英文状态下的单引号内(’’)。

一个char 类型的数据仅仅表示一个字符,如果需要表示多个字符(这称为字符串)需要使

String 类来表示 

注意:char类型的字符实际也可以当做数字加减!!

char i = 'A';

char j = 'a'+15;

int b = j - i;

例:

’a’ 小写字母a

’ ’ 制表符

’u????’ 特定的Unicode 字符。

 

 

4.布尔型

true false   注意:不能相互转换!!

 

 

 

5.引用类型:

除了基本数据类型之外的都是引用类型

 

二、变量

概念变量是一段有名字的连续存储空间。在源代码中通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。

变量名的命名规则:

1、一般是一个有意义的英语单词或词组,以小写字母或者下划线“_”开头。

2、如果变量名由多个单词组成,除第一个单词外,后面每个单词的第一个字母都需要大写,类似于方法名,如isValidcurrentJavaObject 等。

3、避免使用美元符号($),这个符号对内部类有特殊意义。

 

注意:声明一个变量后必须用赋值语句对变量进行显示初始化,如果使用未被初始化的变量可能会造成编译错误。

 

二、基本类型之间的转换的注意要点:

 

图中实线箭头表示精度不会有损失的转换,虚线箭头表示转换完成后可能有精度损失

类型转换:1.长度短的类型自动转为长度的类型

          2.精度小的类型自动转为精度高的类型

          3.当两个精度不一样的数相互计算时,其结果自动转为精度高的值

          4. 凡是长度小于int 的数据类型(即使参与计算的两个数都是short或者byte),其运算结果都会转变成int类型。

          5.若要从高精度 |长度大的数据转换为低精度|长度小的数据,需要强制转换,(数据会损失精度)。

 

 

 

三、算数运算

注意:1.整数除以0,或抛出异常  java.lang.ArithmeticException: / by zero

      2.浮点数除以0,会得到Infinity(无穷大)。(并不是异常)

      3. %表示整数的求余运算

      4. ++i “前缀形式是先运算,再做其他操作;    i++  后缀形式是先做其他操作,再运算

例子:int i = 10;

System.out.println(i++);//输出的是10  若是++i则输出11

      5. 没有 ** 和 // 运算符,因为自乘和自除以数值结果不会改变。

      

 

6. ~非  :按位取反

         &与:同1为1,其余为0

异或:两数不同时为1,其余为0

或:有1时为1,其余为0

7.右移运算符>>移位结果是:第一个操作数被除,

除的次数由第二个操作数决定。例如:

128>>1 返回 128/2= 64

-256>>4 返回 -256/2= -16

“<<”将二进制位进行左移操作。其操作结果是:第一个操作数被乘,乘的次数由第二个操作数决定。

例如:

128<<1 返回 128*2= 256

注意: 有>>>(逻辑或无符号右移运算符)   但是没有<<<

四、关系运算符

注意:1. &&&的区别是什么?

答:a.  &&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true 时,整个运算结果才为true,否则,只要有一方为false,则结果为false

b.  &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。

c.  &还可以用作位运算符,当&操作符两边的表达式不是boolean 类型时,&表示按位与操作。

2. = *= /= %= += -= <<= >>= >>>= &=  ^= |= )这些运算符优先级最低

3. &&||优先级高

4.优先级:& > ^ > |

5. +=是右结合运算符  

           表达式

a+=b+=c

等价于

a+=(b+=c)

 

 

五、语句块

注意:1. 语句块确定了变量的作用域。(在一个语句块内定义的变量,不可以再语句块之外使用。)

      2. 不允许在嵌套的两个块内声明同名的变量。

      

六、Switch分支

注意:1. switch 表达式中的类型有哪些?

答:switch 表达式的结果必须是 四种整型、枚举类型、String(JDK1.7以上版本,否则不能测试String 类型),case 后面一定是常量,并且不能重复。

 

七、while循环

注意:1. 当一次循环结束会再次检查while 条件的返回值,如果为false 就退出循环,否则继续执行循环。

      2.continue 和 break的区别:

       答: 前者 只是终止当前的一次循环 ,还将继续后面的循环 ;后者被执行后,就终止循环。





原文地址:https://www.cnblogs.com/jarl/p/5892299.html