一,变量
概念:计算机内存中的一块存储空间,是存储数据的基本单元
1.1 变量的定义
方式一:
// 声明并定义了指定类型的变量(先定义后赋值)
数据类型 变量名;
变量名 = 值;
例如:
int age; 声明定义了一个int类型的变量age
age = 25;为age变量赋值为25
方式二:
// 声明并定义了指定类型的变量同时进行赋值(定义的同时赋值)
数据类型 变量名 = 值;
例如:
double height = 180; 声明定义了一个double类型的变量height并赋值为180
方式三:
// 多个相同数据类型的变量同时声明赋值
数据类型 变量名1 = 值,变量名2,变量名3 = 值,...;
// 同时定义3个人的年龄分别为21,24,22
int age1 = 21,age2 = 24,age3 = 22;
注:
二,数据类型
Java中的数据类型分为:
2.1 基本数据类型(四类八种)
2.1.1 整数类型
byte:字节,1个字节,范围:-128 ~ 127
short:短整型,2个字节,范围:-32768 ~ 32767
int:整型,4个字节,默认整型
long:长整型,8个字节
注:
2.1.2 浮点类型
float:单精度浮点类型,4个字节
double:双精度浮点类型,8个字节,默认的浮点类型
注:
1. 对 float 类型的变量进行赋值时,如果值是小数需要加上“F”或者“f”
2.1.3 布尔类型
boolean:1个字节,只有两值 true 、 false
注:
2.1.4 字符类型
char:2个字节,表示单个字符,用一对单引号括起来
注:
2.1.5 转义字符
如果在程序中要输出一个单引号,直接定义 char c = ‘’’,会报错。
我们需要对中间的单引号进行转换。
转义字符:\
常见的转义动作:
1.\\
2.\'
3.\"
4.\t:一个制表符
5.\n:一个换行符
2.2 引用数据类型
2.2.1 字符串类型
概念:任何双引号括起来的字面值,例如 “abc” 都是字符串
String:它在 java.lang 语言包中,在该类中,定义了一系列的用于操作字符串的功能
定义:
String 变量名 = "值";
三,运算符
3.1 算数运算符
注:整数之间的除法可能会有精度损失
注:
注:
1. 前置:++a、–b
2. 后置:a++、b–
1. 前置:先执行自增(减),再执行其他操作
2. 后置:先执行其他操作,再执行自增(减)
3.2 赋值运算符
int a = 3;
a = a + 4;
// 等价于 a += 4;
3.3 关系(比较)运算符
关系运算的运算结果都是布尔值
2. !=:比较参与运算的两个数据是否不等
3. >
4. <
5. >=
6. <=
3.4 逻辑运算符
逻辑运算的运算结果都是布尔值,参与运算的表达式的结果也必须是布尔值
逻辑:表达式两边只要出现了false,整个表达式的结果就是false
逻辑:表达式两边只要有true,整个表达式的结果就是true
逻辑:表达式两边同为true或者false,结果为false;表达式两边不一样结果为true
注:
3.5 三元(目)运算符
? :
格式:
表达式1?表达式2:表达式3
逻辑:表达式1必须是一个条件表达式,当表达式1的结果为true时,执行表达式2;反之,执行表达式3。
3.6 位运算(了解)
四,类型转换
问:不同数据类型之间是否可以运算?
答:可以的,但是需要遵循自动类型转换的规则
4.1 自动类型转换
范围小的数据类型与范围大的数据类型运算,结果会自动转换成范围大的数据类型。
规则:
double > float > long > int > short > byte
注:
48 - 57 :‘0’ - ‘9’
65 - 90 :‘A’ - ‘Z’
97 - 122 : ‘a’ - ‘z’
byte b1 = 33;// 不会报错,33是一个常量
int i = 33;
byte b2 = i;// 报错,i是一个int类型的变量
4.2 强制类型转换
格式:
范围小的数据类型 变量名 = (范围小的数据类型)范围大数据类型的数据;
注:
unicode 码表:称为 万国码 ,是一个前128位与ASCII码表完全相同,且收录了世界各国各地文字的码表
1. byte、short、char 类型的变量在运算时,会自动转换成 int 类型
2. 自增、自减中自带强制类型转换
3. +=、-= 等赋值运算符也自带强制类型转换
4. 基本数据类型的强制类型转换慎用
5. int类型 和 char 类型 可以通过强制类型转换做交换,根据 unicode 码表
unicode 码表:称为 万国码 ,是一个前128位与ASCII码表完全相同,且收录了世界各国各地文字的码表