Demo-01

关键字

有特殊含义的、被保留的、不能随意使用的字符

特点:

1.完全小写的英文字母
2.在增强版的记事本中有特殊的颜色


标识符

在程序中,自定义的内容。如:类名、方法名、变量名等等

命名规则:

1.数字、字母、下划线、$
2.不能以数字开头
3.不能是关键字

命名规范

类名:首字母大写,后面单词首字母大写(大驼峰式)
变量名:首字母小写,后面每个单词的首字母大写(小驼峰式)
方法名:同变量名


常量

在程序运行期间,固定不变的量
常量的分类:
1.字符串常量:凡是用双引号引起来的部分,如:“ABC”、“123”、“Hello”
2.整数常量:直接写上的数字,无小数点 如:123、456、789
2.浮点数常量:直接写上的数字,有小数点 如:2.5、-3.14、0.0
4.字符常量:凡是用单引号引起来的单个字符 (单引号中有且只能有一个字符,不能为空) 如:‘A’ 、‘b’、 ‘9’、 ‘红’
5.布尔常量:只有两种取值 ture 、false
6.空常量:null ,代表无任何数据 (不能直接用来打印输出)


数据类型

基本数据类型

整数型 byte short int long

浮点型 float double

字符型 char

布尔型 boolean

引用数据类型

字符串、数组、类、接口、Lambda

注意事项:

1.字符串不是基本数据类型,而是引用类型
2.浮点型可能只是一个近似值,并非精确的值
3.数据范围与字节数不一定相关,例如floa数据范围比long更加广泛,但时候floa是4 字节,long是8字节
4.浮点数当中默认类型是double,如果一定要使用float类型,需要加上一个后缀F
如果是整数,默认类型是int类型,如果一定要使用long类型,需要加上一个后缀L。推荐使用大写字母后缀


变量

程序运行期间,内容可以发生改变的量

创建一个变量使用的格式:

数据类型 变量名称; //创建一个变量
变量名称 = 数据值; // 赋值,将右边的数据值,直接交给左边的变量

一步到位的格式:
数据类型 变量名称 = 数据值; //在创建一个变量的同时,立刻放入指定的数据值

注意事项:

1.如果创建多个变量则变量名称不可重复。
2.对于float和long类型来说,其后缀F和L不可省略。
3.如果使用byteh类型或者说short类型,那么右侧的数据值不可超过左侧类型的范围。
4.如果没有进行赋值的变量,不能直接使用;只能先赋值后使用。
5.变量的使用不能超过作用域的范围
【作用域】:从定义变量开始的一行,一直到直接所属的大括号结束为止。


数据类型的转换

当数据类型不一样时,将会发生数据类型转换。

自动类型转换(隐式)

  1. 特点:代码不需要进行特殊处理,自动完胜
  2. 规则:**数据范围从小到大 **

强制类型转换(显示)

  1. 特点:代码需要进行特殊的格式处理,不能自动完成。
  2. 格式:范围小的类型 范围小的变量 = (范围小的类型) 原本范围大的数据;

注意事项:

  1. 强制类型转换一般不推荐使用,可能发生精度损失、数据溢出
  2. byte/short/char三种类型都可发生数学运算
  3. byte/short/char三种类型在运算时,都会被提升成为ingt类型,然后计算。
  4. boolean类型不能发生日数据类型转换

溢出数据

在这里插入图片描述

精度损失
当浮点数想整数强制类型转换时,并不是四舍五入,所有的小数位都会被舍弃


数字和字符的对照关系表(编码表)

ASCLL码表: American Standard Code for Information Interchange 美国信息交换标准代码

48 = 0
65 = A
97 = a

Unicode码表:万国码;0-127部分与ASCLL 码表一致


运算符

进行特定操作的符号 如:+、-、*、/

表达式

用运算符连接起来的式子 如:1+1、a+b

四则运算:

加:+
减:-
乘:*
除:/ 对于一个整数的表达式来说,除法用的是整数,整数除以整数,结果仍为整数。
取模(取余数):% 只对于整数的除法来说,取模运算才有余数的意义

注意事项:

  1. 一旦运算中有不同的数据类型,那么结果将会是数据类型范围大的那种。

四则运算当中的“+”常见的三种用法:

  1. 对于数值来说,那就是加法。
  2. 对于字符char来说,在计算之前。char会被提升成为int,然后计算。

char类型字符,和int类型数字,之间的对照关系表:ASCII、Unicode
c.对于字符串String来说(首字母大写,并不是关键字)来说,加号代表的是字符串的拼接。
任何数据类型和字符串进行连接的时候,结果都会变成字符串。

自增运算符:++

自减运算符:–

基本含义:让一个变量涨一个数字1,或者然让一个变量降一个数字1

使用格式:写在变量名称之前,或者写在变量名称之后。 如:++num,num++

使用格式:

  1. 单独使用:不和其他任何操作混合,自己独立成为一个步骤;
  2. 混合使用:和其他操作混合,例如与赋值混合,或者与打印操作混合,等。

使用区别:

  1. 在单独使用的时候,前++和后++没有任何区别,也就是:++num;和num++;是完全一样的。
  2. 在混合使用的时候,【有重大区别】

如果是**【++前】,那么变量【立刻马上+1 】,然后拿着结果进行使用。【先加后用】
如果是
【后++】**,那么首先使用变量本来的数值,【然后再让变量+1】。 【先用后加】


注意事项:

只有变量才能使用自增、自减运算符,常量不可发生改变,所以不能用。

赋值运算符分为:

基本赋值运算符:

就是一个“=”,代表将右边的值赋给左侧的变量。如:int a = 20;

复合赋值运算符:

+=: a += 1 相当于 a = a+1
-=: b -= 2 相当于 b = b-2
*=: c = 3 相当于 c = c3
/=: e /= 4 相当于 e = e/4
%=: f %= 5 相当于 f = f%5

注意事项:

  1. 只有变量才能使用赋值运算符,常量不能进行赋值。
  2. 复合赋值运算符其中隐含了一种强制类型转换

在这里插入图片描述

比较运算符

]

注意事项:

  1. 比较运算符的结果一定是一个boolean值,成立为true,不成立为false
  2. 如果进行多次判断,不能连着写。

逻辑运算符

与 (并且) && 全都是true,才是true;否则就是false
或 (或者) || 至少一个是true,就是true;全都是false,才是false
非 (取反) ! 本来是true,变成false;本来是false,变成true

与“&&”。或“||”,具有短路效果:如果根据左边的的式子能够判断最终结果,那么右边的代码将不再执行,从而节省一定的性能。

注意事项:

  1. 逻辑运算符只能用于boolean值
  2. 与、或需要左右各自有一个boolean值,但是取反只要唯一的一个boolean值即可。
  3. 与、或两种运算符,如果有多个条件,可以连续写

两个条件:条件A && 条件B
多个条件:条件A && 条件B && 条件C

三元运算符

  1. 一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减–
  2. 二院运算符:需要两个数据才可以进行操作的运算符。例如:加法+、赋值=

三元运算符:

需要三个数据才可以进行操作的运算符。

格式:

数据类型 变量名称 = 条件判断 ? 表达式A :表达式B;

流程:

首先判断条件是否成立:
如果成立为true,那么将表达式A 的值赋值给左边的变量;
如果不成立为false,那么将表达式B 的值赋给左侧的变量;
二选一

注意事项:
  1. 必须同事保证表达式A 和表达式B都符合左侧数据类型的要求。
  2. 三元运算符的结果必须被使用。

方法:

定义方法的格式:

public staric void 方法名称(){
方法体;
}
方法名称的命名规则和变量一样,使用小驼峰。
方法体:也就是大括号当中可以包含任何语句。

注意事项:

  1. 方法定义的先后顺序无所谓。
  2. 方法的定义不能产生嵌套包含关系。
  3. 方法定义好时,不会执行,如需执行,需要调用。

方法的调用格式:

方法名称();

编译器的两点优化:

对于比byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,
那么java编译器将会自动隐含地为我们补上一个(byte)(short)(char).

  1. 如果没有超过左侧的范围,编译器补上强转
  2. 如果右侧超过了左侧的范围,那么直接编译器报错。

在这里插入图片描述

在给变量进行赋值的时候,如果右侧的表达式当中全都是常量,没有任何变量,
那么编译器javac将会直接将若干个常量的表达式计算得到结果。
在这里插入图片描述

short result = 5+8; //等号右边全都是常量,没有任何变量参与运算
编译之后,得到的.class字节码文件当中相当于【直接就是】:
short result = 13;
右侧的常量结果数值,没有超过左侧的范围,所以正确。

这称为“编译器的常量优化”
**注意:**一旦表达式当中有变量参与,那么就不能进行这种优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值