Java学习经验与总结(02)

一 Java语言基础

1 进制的了解及转换

进制就是进位制,是人们规定的一种进位方法。几进制就是表示某位置的数到几时就进一位,二进制就是逢2进1,八进制就是逢8进1,十进制就是逢10进1,十六进制就是逢16进1。

二级制的数据表现形式 由0和1组成 ,八进制是由0~7组成,十进制就是0-9组成,十六进制是由0·9,a·f组成,我们为了方便区分它们 再数据前加上特殊的符号来区分 ,0b用来表示二进制 ,0 用来表现八进制 ,0x用来表现十六进制,整数默认是十进制。

进制的转换

任意进制到十进制的转换

我们一般使用位权展开法来换算任意进制到十进制的转换 就是用每一位的数 乘以他的进制和后面数值的次方 最后相加 得到的数值 就是十进制的数值

十进制到任意进制的转换

除基取余法 除到商为0 然后余数反转得到的数就是我们需要的转化为该进制的数 转化成什么进制 就除以什么 这个数就成为基

当然人们为了简便 也发明出了一种快速转换法 这就是8421码 在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。

2 原码补码反码

计算机所有数据的运算都是采用补码进行的

原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

3变量的概述及格式

变量是在程序执行的过程中,在某个范围内其值可以发生改变的量,他在内存中是一小块区 域。定义变量的原因是用来不断地存放同一类型的常量,并可以重复使用。

变量的定义格式

数据类型 变量名=变量值;

4 数据类型的概述及分类

变量是内存中的一小块区域,定义一个变量就是开辟一个内存空间,我们为了开辟一个合适的 内存空间,所以就需要不同的数据类型来给内存分配不同大小的内存空间。

java中数据类型的分类分为基本数据类型和引用数据类型(类 接口 ),

基本数据类型分为数值型,字符型,布尔型。

数值型

整数型 字节数 范围

byte 1(8bit) -128 ~ 127

short 2(16bit) -2^15 ~ 2^15 - 1

int 4(32bit) -2^31 ~ 2^31 - 1

long 8(64bit) -2^63 ~ 2^63 - 1

浮点数

float 4(32bit) -3.40310^38 ~ 3.40310^38

double 8(64bit) -1.79810^308 ~ 1.79810^308

字符型 char 2(16bit) 0 ~ 2^16 - 1 = 65535

布尔型 boolean 1

整数默认是int类型,浮点数默认是double类型

数据类型转换之隐式转换

在数据相加的过程中数据类型会默认转换为更高级的类型

转换规则

(1): boolean类型不能转换为其他的数据类型

(2): byte,short,char—int—long—float—double

(3): byte,short,char之间不转换,他们参与运算首先转换为int类型

数据类型转换之强制转换

当然有时候我们想要的运算结果再该类型的范围内,但是计算机会自动转换为更高级的类型,从而输出报错,这时候,我们就可以对他进行强制转换。强制转换的格式 在目标数类型 变量名 = (目标数据类型)(被转换的数据),但是强制转换会可能存在精度损失的问题,所以不建议经常使用。

5 Java字符和字符串的运算

在ASCII码表中对键盘上没一个字符都有一个规定的值,我们在进行字符运算的时候,得到的运算结果就是这些值相加,在进行字符串和字符混合运算的时候需要注意,如果是字符先运算,那么他会相加成数值再合字符串组合到一起,如果是字符串在前,那他就会和字符直接拼接在一起,字符不做加法运算。

6 Java算数运算符的基本用法

运算符就是对常量和变量进行操作的符号,分为 算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符。

算数运算符分为

+,-1*,/,%,++,- -

我们运算时需要注意的是 整数相除只会得到整数 如果想要得到小数 需要使用浮点数

/获取的是除法操作的商,%获取的是除法造作的余数,%运算结果的符号,取决于参与运算时左边的符号

++和- -的用法

自加(++)自减(–)运算

++:自加。对原有的数据进行+1

–:自减。对原有的数据进行-1

在单独使用时 放在操作数前面和后面的效果一样

而当参与运算时使用 放在操作数前面的时候 会先自增或自减,然后再参与运算,当放在操作数后面的时候,先参与运算,然后再自增或者自减。

7 Java赋值运算符的基本用法

赋值运算符分为

= += -= *= /= %=

最基本的赋值符号= 是把右边的数据赋值给左边 +=是把左边和右边做加法,然后赋值给左边

需要注意的是 赋值运算符要求左边的数据必须是一个变量才可以

8 Java关系运算符的基本用法

关系运算符分为

== != < > <= >= instanceof

注意事项 无论你的操作是简单还是复杂 结果都是boolean型(true或false)

9 Java逻辑运算符的基本用法

逻辑运算符分为

&(并且) | (或者) !(非) ^(异或) &&(短路与) ||(短路或)

需要注意的是 逻辑运算符一般用于连接boolean类型的表达式或值,在java中我们要表示一个数大于3并且小于6,不可以写成3<63 & x<6 。

表达式就是把运算符常量或者变量结合起来符合Java语法的式子。

逻辑运算符的特点

&逻辑与:有false则false。

|逻辑或:有true则true。

^逻辑异或:相同为false,不同为true。

!逻辑非:非false则true,非true则false。

特点:偶数个不改变本身。

逻辑运算符&&和&的区别

最终结果都是一样的 而&&具有短路效果 如果左边是false右边就不执行了 而&会两边都执行再输出结果 所以&&会速度快很多 || 同理 所以我们开发的时候常用&&和||

10 Java位运算符的基本用法

位运算符分为

&(与),|(或),^(异或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(无符号右移)

位运算符是直接对二进制补码进行运算

&,|,^,~ 的用法

&:有0则0

|:有1则1

^:相同则0,不同则1

~:按位取反 0变1 1变0

位异或运算符的特点

^的特点:一个数据被另一个数据位异或两次,该数本身不变。

<<:左移 空位补0,被移除的高位丢弃。

>>:右移 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,高位补1。

>>>:无符号右移 被移位二进制最高位无论是0或者是1,空缺位都用0补。

我们可以得到结论

<< : 把<<左边的数据乘以2的移动次幂

>> : 把>>左边的数据除以2的移动次幂

11 Java三元运算符的基本用法

三元运算符的格式

(关系表达式) ? 表达式1 : 表达式2;

int a=(10>20)?30:50; a=50

意思就是 如果关系表达式成立 则取第一个值 如果不成立 则取第二个值

三元运算符的执行流程

计算关系表达式的值,如果为true, 运算后的结果是表达式1;

如果为false,运算后的结果是表达式2;

————————————————

你可能感兴趣的:(Java学习经验与总结(02))