变量
常量是固定不变的量,变量就是可以变化的量。
数据类型
在java中就分为两类:
基本类型:整数、浮点数、字符、波尔。
引用类型:类、接口、数组。
基本数据类型(重点)
八种数据类型
字节型: byte 1个字节 -128-127
短整型: short 2个字节 -32768-32767
整型: int(默认) 4个字节 -231-231-1
长整型: long 8个字节 -263-263-1
单精度浮点型:float 4个字节
双精度浮点型:double(默认) 8个字节
字符型:char 2个字节 0-65535
布尔类型:boolean 1个字节 true,false
java中默认的类型:整数类型默认是int,浮点类型默认是double
变量的定义(三要素):数据类型 变量 数据值
注意事项
变量名称:在同一个大括号当中,变量的名字不可以相同。
变量赋值:定义变量,不赋值不能使用。
数据类型的转换
自动转换
就是将取值范围小的,自动提升为取值范围大的。
转换规则
范围小的类型转换为范围大的类型:
byte、short、char运算的时候都会自动提升为int类型。
byte、short、char、int、long、float、double运算的时候自动提升为double类型。
强制转换
将范围大的值赋值给范围小的时候,需要强制转换。
相比较而言,我们java中的自动转换是java帮我们做的,但是强制转换,需要我们手动。
注意:
浮点型转为整型,直接去掉小数位,可能造成精度损失。
int强制转换为short砍掉2个字节,可能造成精度损失。
ASCII表
在char类型和int类型运算的时候,char类型的字符先查询ascii码表,得到数据,再运算。
char类型默认应该2个字节,int类型4个字节。
0对应ASCII码表48
A对应ASCII码表65
a对应ASCII码表97
运算符
算数运算符
+:加法运算 ,字符串的拼接
-:减法运算
*:乘法运算
/:除法运算
%:取余运算
++,–:自增自减
在java中,整数使用以上运算符,无论如何计算,得出的结果一定是整数,不会得出小数。
++运算:变量自己+1.
独立运算
变量在独立运算的时候,前++和后++一样。
混合运算
和其他变量放在一起,前++和后++就不一样。
+符号
+符号在遇见字符串的时候,表示拼接的含义。
“a”+“b” 结果就是"ab"。
赋值运算符
= :等于号
+=: 加等于 s+=1 -------s=s+1
-=: 减等于
*=: 乘等于
/=: 除等于
%=: 取模等
比较运算符
==: 比较符号两边的数据,如果相等,结果是一个true;
< :比较符号两边数据,如果左边的小于右边的,这个时候结果就是true; > 比较符号两边的数据,如果左边的大于右边的,结果返回true。
<=: 比较符号两边的数据,如果左边的小于等于右边的,结果返回true >= 比较符号两边的数据,如果左边的大于等于右边,结果返回true。
比较运算符中,两个数据进行比较,运算结果就两个值,要不是true,要不然就是false。
!= :不等于符号,如果符号两边的数据不相等,结果是true。
逻辑运算符
&& :短路与
两边如果都是true,那么结果就是true。
一边是false,结果就是false。
短路特点:符号左边如果是false,右边就不计算。
|| :短路或
两边如果都是false ,那么结果就是false。
一边为true,那么结果就是true。
短路特点:符号左边如果是true,右边不计算。
&
|
三元运算符
数据类型 变量名=布尔类型表达式?结果1:结果2;
如果布尔类型表达式结果是true,那么取结果1;如果布尔类型表示是false,那么取结果2。
main方法的入门
概念:在我们学习运算符的时候,我们可能测试每一个运算符的时候需要创建—类,为了防止我们的代码重复或冗余,我们就有了方法这个概念。
方法:就是将一个功能提取出来,把代码单独写在一个大括号里面,形成一个单独的功能。可以减少我们重复的代码。
方法的定义:权限修饰符 返回值类型 方法名(参数列表){
代码;
return;
}
修饰符:目前是固定写法:public static
返回值类型:目前固定写法void
方法名:为了我们方法定义一个名字,只要满足我们的标识符规则就可以。
参数列表:目前无参数。
return:方法结束,因为返回值为void,方法大括号里面return可以不写。
```java
public class Demo {
//程序的入口
public static void main(String[] args) {
//方法的调用
add();
}
//一个方法定义成功
public static void add(){
System.out.println("我是一个方法");
}
}
public class Demo {
//程序的入口
public static void main(String[] args) {
//方法的调用
add();
}
//一个方法定义成功
//方法中定义一个三元运算
public static void add(){
int i=0;
i=(1==2)?100:200;
System.out.println(i);
int j=0;
j=(3<=4?500:600);
System.out.println(j);
}
}
注意事项:方法定义的时候,必须定义在类里面、方法外,方法不能定义在另一个方法中。
扩展知识
s+=1的结果与s=s+1是一样的,但是s+=1只进行一次运算,并且它带有强制转换功能;而s=s+1会被先提升为int类型,再向其他类型赋值,所以会报错。