这次博客依旧写自2018.9.24 用于补9.23的Java学习 在祝大家一次中秋快乐
9.23 这天是我学习JAVA的第二天
在本次博客中我会把今天学习的内容进行总结
以下为本次学习内容的大纲:
常量
常量的概述和使用
进制概述和二,八,十六进制图解
不同进制数据的表现形式
进制转化
有符号数据表示法
变量
变量的概述及格式
数据类型的概述和分类
数据类型转换之隐式转换
数据类型转换之强制转换
运算符
算术运算符
赋值运算符
关系运算符
一、常量的概念
1、什么是常量
就是在程序的执行过程中其值不发生改变的量。
2、Java中常量的分类
(1):字面值常量
(2):自定义常量(面向对象部分讲解)
3、字面值常量的分类
(1): 字符串常量 用双引号括起来的内容 "HelloWorld" ,"Hello"
(2): 整数常量 所有整数 12,23
(3): 小数常量 所有小数 12.34,56.78
(4): 字符常量 用单引号括起来的内容 'a','A','0' (注意事项:单引号中只能是单个字母,单个数字,单个符号)
(5): 布尔常量 较为特有,只有true和false
(6): 空常量 null(数组部分讲解)
4、常量的表现形式有4种:(1):二进制
(2):八进制
(3):十进制
(4):十六进制
二、进制的概念与概述
1、什么是进制?
就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。
二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
2、不同进制表现同一个数据的形式特点
进制越大,表现形式越短
3、不同进制的表现形式
①二进制的数据表现形式
由0,1组成。 以0b开头(1.7版本开始的,b可大写)
②八进制的数据表现形式
由0,1,…7组成。 以0开头
③十进制的数据表现形式
由0,1,…9组成。 整数默认是十进制的
④十六进制的数据表现形式
由0,1,…9,a,b,c,d,e,f(大小写均可)。 以0x开头(x可大写)
4、任意进制到十进制的转换
最常用的是位权展开,其次有图解法。
5、十进制到任意进制的转换
十进制到任意进制的转换原理(12345)
除基取余 直到商为0 余数反转
十进制到X进制这个基就是X。
三、源码补码反码
演示使用原码,反码,补码分别表示一下我们的 +7 和 -7
原码
就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码
正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码
正数的补码与其原码相同;负数的补码是在其反码的末位加1。
四、变量的格式及其概述
1、为什么有数据类型
我们都知道,变量其实就是内存中的一小块区域。我们定义一个变量,其实就是开辟了一个内存空间。
如果没有数据类型,那么我们需要开辟多大的内存空间合适呢?
为了解决这种问题,java就给我们提供了不同的数据类型,那么针对不同的数据类型,在内存中分配了不同大小的内存空间。
2、Java中数据类型的分类
(1): 基本数据类型
(2): 引用数据类型(后面讲解): 数组 , 类 , 接口
3、基本数据类型的详细讲解
(1): 数值型
整数型 字节数 范围
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.403*10^38 ~ 3.403*10^38
double 8(64bit) -1.798*10^308 ~ 1.798*10^308
(2): 字符型 char 2(16bit) 0 ~ 2^16 - 1 = 65535
(3): 布尔型 boolean 1
整数默认是int类型的 , 浮点数默认是 double类型的
4、引用变量时应注意的事项:
作用域问题
变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
初始化值问题
没有初始化值不能直接使用
在一行上建议只定义一个变量
可以定义多个,但是不建议
5、数据类型之间的隐藏规则
Java中的默认转换规则
(1): boolean类型不能转换为其他的数据类型
(2): byte,short,char—int—long—float—double
(3): byte,short,char之间不转换,他们参与运算首先转换为int类型
6、**强制转换**
强制转换的格式
目标数据类型 变量名=(目标数据类型)(被转换的数据);
强制转换的注意事项
尽量不要使用强制类型转化,因为可能存在损失精度的问题。
7、Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。
所以,Java中的字符可以存储一个中文汉字
五、字符和字符串参与运算
ASCII码表的概述
'0' 48
'A' 65
'a' 97
当0Aa以字符输入时 将会以ASC||码表进行输出
注:+在有字符串参与中被称为字符串连接符
六、算术运算符的掌握与理解
1、什么是运算符
对常量和变量进行操作的符号称为运算符
2、运算符的分类
算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
三目运算符
3、算数运算符有哪些
+ , - , * , / , % , ++ , --
4、案例演示
算数运算符的基本用法
注意事项:
a:整数相除只能得到整数。如果想得到小数,请使用浮点数
b:/获取的是除法操作的商,%获取的是除法操作的余数
%运算结果的符号,取决于参与运算是左边的符号
5、++ --的运用于掌握
自加(++)自减(--)运算
++:自加。对原有的数据进行+1
--:自减。对原有的数据进行-1
6赋值运算符的基本用法
=, +=,-=,*=,/=,%=
基本的赋值运算符:=
把=右边的数据赋值给左边。
扩展的赋值运算符:+=,-=,*=,/=,%=
+= 把左边和右边做加法,然后赋值给左边。
赋值运算符要求左边的数据必须是一个变量
七、关系运算符的掌握与理解
关系运算符有哪些
== ,!= , < , > , <= , >= , instanceof(后面讲解)
注意事项:
无论你的操作是简单还是复杂,结果是boolean类型。
"=="不能写成"="。
在此再次提出常量优化原则 以下附图进行解释说明
总结:本次为第二天的学习内容,算是超额完成学习任务 对第三天的部分知识也进行了了解,今天学习的重点 就是 对变量常量的概念及其用法有一定的了解并且掌握 接下来就是对各类运算的熟悉 还有布尔变量以后的应用。
Ps:这个加粗在红字内怎么用????