一.数据类型的转换
整数类型之间可以实现转换。例如,byte类型的数据可以赋值给short、int、long类型的变量;short、char类型的数据可以赋值给int、long类型的变量;int类型的数据可以赋值给long类型的变量。
整数类型转换为float类型。byte、char、short、int类型的数据可以赋值给float类型的变量。
其他类型转换为double类型。byte、char、short、int、long、float类型的数据可以赋值给double类型的变量
表达式类型自动提升的一般原则:表达式结果的类型为操作数中最大的类型。
1.byte类型和short类型进行运算时,系统自动当作int类型处理。
2.char变量可以直接保存为int常量值,但不能直接保存为int变量值,char类型进行运算时,系统自动当作int类型处理。
3.自动类型转换的逆工程是将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符号,但可能造成精度降低或溢出,需要格外注意。
4.强制转换符号为小括号,优先级非常高,故强制转换表达式结果的类型时,需要将表达式用小括号包起来,提升优先级。
5.布尔类型不可以转换为其他的数据类型。
二.变量的作用域
变量需要先定义后使用,但这并不意味着定义的变量,在之后所有语句中都可以使用。变量需要在它的作用范围内才可以被使用,这个作用范围称为变量的作用域。在程序中,变量一定会被定义在某一对大括号中,该大括号所包含的代码区域便是这个变量的作用域。# 三. 算数运算符 在数学运算中最常见的就是加减乘除,被称作四则运算。Java中的算术运算符就是用来处理四则运算的符号,算术运算符是最简单、最常用的运算符号。其中正号、负号、自增、自减是一元运算符,其余是二元运算符。 ## 1.算数运算符 +、-、*、/、% 都属于二元运算符。
运算规则同数学中的运算规则。
结果是一个值
2.关系运算符
>(大于)、<(小于)、==(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)二元运算符,结合性从左到右。
<、>=、<= 的优先级要高于 、!=。关系运算符的优先级小于算术运算符。
关系运算符的结果 1 和 0。1代表true,0代表false
3.逻辑运算符
&&(逻辑与,二元运算符)、||(逻辑或,二元运算符)、!(逻辑非,一元运算符)
&& 逻辑与
真 && 真 -> 真 真 && 假 -> 假
假 && 真 -> 假 假 && 假 -> 假
|| 逻辑或
真 || 真 -> 真 真 || 假 -> 真
假 || 真 -> 真 假 || 假 -> 假
! 逻辑非
!真 -> 假
!假 -> 真
4.算数符的优先级
单目运算排第一;乘除余二加减三;
移位四,关系五;
等和不等排第六;
位与、异或和位或;
依次从七到十一;
条件排在第十二;
赋值一定是最后;
小括号的优先算
5.标点符号
小括号用于强制类型转换、表示优先运算表达式、方法参数列表。
大括号用于数组元素列表、类体、方法体、复合语句代码块边界符。
中括号用于数组。
分号用于结束语句。
逗号用于多个赋值表达式的分隔符和方法参数列表分隔符。
英文句号用于成员访问和包目录结构分隔符。
应为省略号用于可变参数。
“@”用于注解。
双冒号用于方法引用。
三.流程控制语句结构
三种结构:
if结构:满足条件时执行语句,不满足则不执行(1条路) if…else结构:满足条件执行语句,不满足则执行另外的语句(两条路) if…else if结构:多个条件,满足不同条件执行不同语句(多条路)1.顺序结构
顺序结构是所有流程控制语句结构中最基础的结构,顺序结构的程序从整体来看都是顺序执行的。1.1输出语句
Scanner类型的变量.nextByte():用于接收一个byte值;
Scanner类型的变量.nextShort():用于接收一个short值;
Scanner类型的变量.nextInt():用于接收一个int值;
Scanner类型的变量.nextLong():用于接收一个long值;
Scanner类型的变量.nextFloat():用于接收一个float值;
Scanner类型的变量.nextDouble():用于接收一个double值;
Scanner类型的变量.nextBoolean():用于接收一个boolean值;
Scanner类型的变量.next():用于接收一个String字符串;
Scanner类型的变量.next().charAt(0):用于接收一个char值。
2.单分支结构
如果条件表达式成立(结果为true),则执行大括号中的语句块;如果不成立(结果为false),则跳过大括号中的语句块,直接执行语句块下的其他语句。3.双分支结构
双分支条件判断是在if判断的基础上增加与if判断条件表达式相反的代码执行块,这样就可以完成true、false的双向判断,并执行相应的代码执行块。3.多分支条件判断
除了双分支结构,程序还可以多条路径中选择一条去执行,也就是if …else if的基础上,增加多个条件表达式,判断这个表达式可以用else if完成