2019-05-12 java学习日记

May 12,2019 - JAVA 学习日记 Day2

常量 Constant

在程序进行中,其值不可以发生改变java中常量的分类有字面值常量与自定义常量字面值常量:字符串常量 用双引号括起来的内容
如:System.out.println("你好,再见");
整数常量: 所有整数 如:System.out.println(123);
小数常量: 所有小数 如:System.out.println(12.3);
字符常量: 用单引号括起来的内容,里面只能放单个数字,字母或符号,空格也算 如:System.out.println('1');
布尔常量: 比较特殊,只有true和false,同时也是关键字空常量: null

 

进制

进制就是人们规定的一种进全方法,对于任何一种进制--x进制,就表示某一位置上的数运算时是逢X进一。如:二进制逢二进一,八进制逢八进一,十进制逢十进一,十六进制就是十六进一。
十进制的由来是因为人类有十个手指。
二进制由0,1组成。表示形式以0b开头(b可大写也可小写,JDK1.7版本就可以直接表示二进制了)。如:0b100 运行输出结果为:4
八进制由0,1到7组成,表示形式以0开头。如:0100 运行输出结果为:64
十进制由0,1到9组成,整数默认是十进制。如:100 运行输出结果为:100
十六进制由0到9,a,b,c,d,e,f,组成,表示形式以0x开对,大小写均可。如:0x100 运行输出结果为:256
进制越大,表示形式越短

 

进制转换公式

X进制转换十进制
系数:就是每一位上的数据
基数:x进制,基数就是x
权:在右边,从0开始编号,对应位上的编号 即为该位的权
结果:把系数x基数的权次幂相加
如:二进制的0b1001 * 2 ^ 2 + 0 * 2 ^ 1 + 0 * 2 ^ 0 = 4
十进制转X进制(任意进制)除积倒取余数
如:十转八 64
8 / 64
8 / 8 余0
8 / 1 余0
0
除不了最后 余 1
结果就是 100

 

字节

1 byte = 8 bit
1 k = 1024 b
1 m = 1024 k
1 G = 1024 m
1 T = 1024 G
如:我们的硬盘500g = 500 * 1000 * 1000 * 1000 / 1024 / 1024 /1024 约等于465g

 

原码,反码与补码

原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1"表示负,其余位表示数值的大小(最高位为第八位,从后往前数,超过八位砍掉前面的数)
通过一个字节,也就是8个二进制位表示+7和-7
0(符号位) 0000111
1(符号位) 0000111

反码就是正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外(不变)!反码就是为了求补码的

补码就是正数的补码与其原码相同;负数的补码则是在其反码的末尾加1(注意要求负数的补码要先求负数的反码)

如:反码:          补码:
0 0000111 +7的反码      0 0000111 +7的补码
1 0000111 -7的原码      1 1111001 -7的补码
1 1111000 -7的反码

 

变量

变量就是在程序执行过程中,在某个范围内其值可以发生改变的量
变量的定义格式为:

数据类型   变量名(合法的标识符) = 变量值(也就是常量)

 

数据类型

java的数据类型分类为基本数据类型和引用数据类型
其中基本数据类型有4类8种,可分为:
整数型:       取值范围
byte 占一个字节   -128到127(一个字节由八个开关组成)
short 占两个字节  -2^15~2^15-1
int 占四个字节   -2^31~2^31-1     整数默认的数据类型就是int类型
long 占八个字节  -2^63~2^63-1     如果要标识long类型后面最后用大写的L就行,因为小l太像1了

浮点型:
float 占四个字节  -3.403E38~3.403E38    (单精度)  想要用float类型要在后面加个F的标识,同样,大小写都行
double 占八个字节 -1.798E308~1.798E308  (双精度)  小数默认的数据类型是double

字符型:
char 占两个字节  0~65535

布尔型:
boolean也即 true和false
boolean理论上是斩八分之一个字节,因为一个开关就可以决定是true或者false了,但是java中boolean类型没有明确指定它的大小

 

作用域:在同一个区域内不能使用相同的变量名局部变量在使用之前必须赋值一条语句里可以定义多个变量 如:int a,b,c,d,...;a = 1;b = 2;c = 3;d = 4;...

Conversion 转换

数据类型转换之强制转换
int x = 3;
byte b =4;
b = (想转换成的数据类型) (x + b)
注:强转超过范围会缺失精度
如:byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;byte与byte(或short,char)进行运算的时候会提升为int类型,两个int类型相加 结果也是int类型,b1和b2是两个变量,变量存储的值是变化的,在编译的时候 无法判断里面具体的值,
相加有可能会超出byte的取值范围
(进行混合运算时,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的。
如:byte,short,char -- int -- long -- float -- double
long: 8个字节float:占4个字节,IEEE 754规定float为32个二进制位,1位代表是符号位,8位代表是指数位,就是几次方,00000000 - 11111111,也就是0-255,0代表0,255代表无穷大,
抛去0和255得1 到 254减127得到的范围是 -126 到 127。23位代表是尾数位)
总结:所以float比long类型要大

char数据类型

取值范围在0-65535.char类型数据可以存储一个中文汉字
字符对应ASCLL码表,如b,ASCLL码表中对应的是int类型的98
任何数据类型用字符串用+号相连接都 会产生新的字符串

 

运算符

运算符就是对常量和变量进行操作的符号
常用运算符有:+ ,-,*,/,%,++,--,=;
+加号在java中有三种作用,代表正号,做加法运算,字符串的连接符相同数据类型相除只能得到相同的类型,整数相除只能得到整数 ,如果想得到小数,必须把数据变化为浮点数类型
/号 取商,% 号取余
%运算符注意事项(当左边的绝对值小于右边的绝对值时,结果是左边。当左边的绝对值等于右边或是右边的倍数时,结果是0.
当左边的绝对值大于右边的绝对值时,结果是余数.
%运算符结果的符号 只和左边有关系,与右边无关。
任何一个正整数 %2结果不是就是可以用来当作 切换条件)
++运算符注意事项单独使用如:a++和++a没有区别
当参与运算使用:如果++在前,会先加1,再赋值如果++在后,会先赋值再加1

赋值运算符:=  把右边的常量赋值给左边的变量,左边必须是变量
+=运算符:
a = 3;
a += 4;
a = 7;

关系运算符:==,!=,>,>=,<,<=;
关系运算符又称比较运算符和条件运算符。
注意:无论你的操作是简单还是复杂,结果都是boolean类型,得到只有true和false.
= 等号是赋值,==等等号是比较。

 

 

posted @ 2019-05-12 21:21  白河ia  阅读(577)  评论(0编辑  收藏  举报