Java虚拟机, 简称JVM, 是运行所有Java程序的假想计算机,是Java程序的运行环境之一,也是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM 之上。
(Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库。
(Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。
Java的数据类型分为两大类
整型类:byte,short,int,long
浮点数类:float,double
字符型:char
布尔型:boolean
引用数据类型:包括 类、数组、接口、Lambda。 (字符串引用数据类型,字符串String是一个系统自带的类)
+
加法运算,字符串连接运算
-
减法运算
*
乘法运算
/
除法运算
%
取模运算,两个数字相除取余数
++
、 --
自增自减运算
Java中,整数类型使用以上运算符,无论怎么计算,也不会得到小数
=:赋值运算符,就是将符号右边的值,赋给左边的变量。
>,<,>=,<=
比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值true或者false 。
||(或),&&(与),!(非)
逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值true或者false,逻辑运算符,一个运算中可以重复使用
注意: 逻辑与和逻辑或,有短路问题,当前面已经得出结果,后面的就不再参与运算。
数据类型 变量名 = 布尔类型表达式?结果1:结果2
运算符的优先级:
自增运算符 逻辑非 > 算数运算符 > 比较运算符 > 逻辑&&|| > 三元运算符 > 赋值运算符
三元运算符可以嵌套使用,但不推荐
我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。
当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。
修饰符 返回值类型 方法名 (参数列表){
代码...
return ;
}
注
修饰符: 目前固定写法 public static 。
调用格式:方法名()
运算符进行运算时,例如++,+=,虽然逻辑上是二次运算,但实际上只执行一次运算, 并带有强制转换的特点
byte,short,char→int→long→float→double
byte,short,char相互之间不转换,他们参与运算转为统一转为int,运算中,只要有大的类型,肯定转换为大类型
变量之间相加,会首先转换类型
ASCLL表中下列字符对应:‘a’:97,‘A’:65,‘0’:48
字符串数据和其他出具做+,结果还是字符串类型(这里的加不是加法运算),而是字符串连接符。
double 类型内存8个字节,int 类型内存4个字节。1.5 是double 类型,取值范围大于int 。可以理解为double 是8升的水壶,int 是4升的水壶,不能把大水壶中的水直接放进小水壶去。
比较而言,自动转换是Java自动执行的,而强制转换需要我们自己手动执行。
强制类型转换,可能造成数据损失精度。
boolean类型的不能发生强制类型转换
byte \ short \ char 这三种数据类型可以发生数学运算,但是会首先提升到 int 类型
int i =int(double);
// double类型数据强制转成int类型,直接去掉小数点。
常量:是指在Java程序中固定不变的数据。
整数常量:所有的整数
小数常量:所有的小数
字符常量:单引号引起来,只能写一个字符,必须有内容
字符串常量:双引号引起来,可以写多个字符,也可以不写
布尔常量:只有两个值(流程控制中介绍)
空常量:只有一个值(引用数据类型中介绍)
数学中,可以使用字母代替数字运算,例如 x=1+5 或者 6=x+5。
程序中,可以使用字母保存数字的方式进行运算,提高计算能力,可以解决更多的问题。比如x保存5,x也可以保存6,这样x保存的数据是可以改变的,也就是我们所讲解的变量。
Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。
数据类型 变量名 = 数据值;