晨写
1.什么是常量
在程序的执行过程中,其值不发生改变的量
1.1 常量的分类
字面值常量
字符串常量 使用双引号括起来的内容 "helloworld"
字符常量 使用单引号括起来的内容 'A'
字符常量不参与运算的时候,代表其本身的值,参与运算的时候,参考ASCII表
整数常量 100 65
整数:默认就是十进制
进制:也属于常量的范围
二、八、十、十六进制
任意(x)进制-十进制:(位权展开法)
十进制---任意进制(使用当前数据除基取余,知道商为0,余数反转)
“8421码”:十进制和二进制的快速转换法
X进制---Y进制
方式一:分步骤
如:二进制--十进制-八进制
方式二:使用进制的概念
二进制---八进制
在二进制的基础上,从右往左美三个比特位一组,计算对应的值,直接排列
小数常量 1.1;1.3
布尔常量 ture/false
空常量 null
自定义常量
2.什么是变量
定义:在程序的执行过程中,其值发生改变的量
2.变量的三要素
1.声明限定
2.给当前变量起一个名字
3.初始化值
JAVA数据的类型划分,并且使用代码举例(引用类型先不用举例)
基本数据类型和引用数据类型
1)基本数据类型(四类八种)
整数类型 byte short int long
浮点类型
单精度类型 float float F=10000000F
双精度类型 double double d=100000000
字符类型 char char ch='我'
布尔类型 boolean(逻辑判断语句)
2)引用数据类型--面向对象中讲解
类,数据,接口
回顾重点内容
1.常量分类
进制属于常量范围
有符号位的数据表示法--计算机对数据进行运算的时候,使用这个数据的补码进行计算-反码-原码(只说整数)
正整数:原码,反码,补码都一样
负数:原码(二进制)
反码:最高符号位 不变,数值为按位取反
补码:最高符号位不变,数值位在末尾+1
2.变量三要素、分类
今日内容
1.变量中的测试(定义变量的注意事项)
1)定义Long类型必须在值的后面加上标记:L 这样就表示定义的长整型变量
2)浮点类型默认double,定义单精度float类型的时候,后面需要加入标记F、f
3)同一个变量不能被定义多次,这是因为java是一个强类型语言,语法和格式是非常严谨的
4)实际开发中,不建议同一行定义多个变量(不适合阅读)
5)方法定义中的变量:局部变量,他在使用之前必须进行初始化
在定义变量的时候就初始化
(1)数据类型 变量名 = 初始化值
要么先定义,然后再使用之前就初始化
(2)数据类型 变量名; //声明变量
变量名 = 初始化; //变量初始化
6)语句结束是都已 ;结束(英文符号)
2.java中的基本数据类型-默认类型提升(隐式转换)
定义:系统自动提升数据类型的转换
两个变量要进行求和---数据类型应保持一致
隐式提升(默认类型提升)必须通过代码计算
2.1 默认数据提升
byte,short,char,三者之间不转换,但是分别参与自己运算的时候.考虑优先提升int----long,float,double
3.JAVA中的显示数据类型提升(强制类型转换):使用基本类型和引用类型
定义:我们自己自己主动通过特殊形式让计算机进行的类型转换
当我们变量相加的时候,如果接收的类型范围小于计算结果的数据类型,需要使用java的强转类型转换--让我们的数据进行类型匹配,防止出现(jvm)提示不兼容
显式转换(强制类型转换)---不仅适用于基本类型,引用类型数据
格式
目标数据类型 变量名 = (目标数据类型)(结果;);
实际中,强制转换尽量避免,可能会造成数据进度损失
4.JAVA变量常见的面试题
5.运算符
算术运算符 +,-,*,/,%(模)
/:默认取整
*1.0:提升为double类型,精确到小数
%:求余数
扩展的算术运算符 ++;--
场景1:单独使用
如果++或者--在数据的前面 eg:++a(递增);--b(递减);
结论:不论++还是--在数据的前面还是后面,都是对当前的数据本身进行自增1或者自减1
场景2:参与运算使用
++或者--如果在数据的前面 ++a :先自增或者自减,然后再参与运算
++或者--如果在数据的后面 --a :先参与运算,再自增或者自减
赋值运算符 int a = 10 //将10赋值给Int类型的变量a
1.基本运算符:= 将等号右边的数据赋值给左边的变量
2.扩展运算符:+=等
x+=200 表示价格等号右边的数据和等号左边的变量x相加然后赋值给x 类似于x=x+200,但是此时要注意数据类型(如 果是其他类型,要考虑java隐式类型转换)
特点:隐藏了强制类型转换 s+=1类似于s=(目标数据类型)(s+1)
比较运算符(关系运算符) < ,>, <=, >=, !=(不等于), ==(比较是否相等)
x>=3 &(逻辑并列)x<=5
比较运算符的表达式无论简单还是复杂---最终的结果都是boolern
逻辑运算符(重点:进行逻辑判断) 逻辑与&,逻辑或|,
基本的逻辑运算符(重点运算符):
逻辑单与&: 并列关系 (有false则false)
逻辑单或|: 或的关系--满足一个条件即可 (有ture则ture)
逻辑异或^: (相同则为false,不同则为ture )(同错异正)
逻辑非 !: 偶数个非是他本身 非ture则false,非false则ture
举例:用户登录的时候,需要用if语句进行判断
扩展的逻辑运算符(逻辑双与,逻辑双或)
逻辑单与 和 逻辑双与 的区别:共同点--都是并列关系
不同点--逻辑单与--不论左边的表达式是false还是ture,都会把右边的表达式执行
逻辑双与--具有短路效果,左边的表达式的=是false,则右边的表达式就不执行了
逻辑双||:左边的表达式如果是ture,则右边的就不执行了
位运算符:操作的是具体的值 基本为与&,位或|,位异或^,位非!,>>,<<,>>> 移位符号
基本的位运算符号:
位与:& 有 0 则 0
位或:| 有 1 则 1
位异或:^ 相同则为0 ,不同则为1
反码: ~ 全部取反
位运算之位移符号:
左移: << 将数据的补码进行左移动,右边不够的补0;将最高符号位丢弃雕
右移: >> 将数据的补码进行右移动,如果最高符号位是1,则左边补1,如果最高符号位是0,则左边补0
无符号右移: >>> 无论最高符号位是1还是0,左边始终补0
三目(三元)运算符:
三元运算符的格式:(表达式)?1)执行ture的结果:2)执行false的结果;
执行流程: 判断表达式是否成立,如果成立则执行ture
不成立则false
6.键盘录入数据–让程序变得更灵活