第二章:变量、数据类型、表达式、运 算符
一、变量
1. 概念
计算中一块内存空间,存储数据的基本单 元/单位
2. 变量的组成部分
数据类型、变量名字、数据
3. 语法
(1) 先声明,再赋值:
数据类型 变量名 ; // 变量的声明
变量名 = 数据; // 赋值
(2) 声明的同时赋值:
数据类型 变量名 = 数据;
(3) 同时定义多个同类型的变量:
数据类型 变量名1,变量名2,变量3=值,变量 名4
二、Java中的数据类型
1. 基本数据类型
B(Byte->字节) 1B = 8b (bit,位)
KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
tips:10.24被称为程序猿节
(1) 整数类型
byte 1B -128~127
short 2B -32768~32767
int 4B -2147483648~2147483647
long 8B -922京~922京-1
(2) 小数类型
float:4B,单精度,字面值后面必须加f/F
double:8B,双精度,字面值后面可以加D/D, 也可以不加
注意:float和 double采用 科学计数法的形式 进行存储;
(3) 字符类型
a. char 2B
b. 字面值形式: i. 使用 单引号的形式直接赋值
char c1='A';
char c2 = '中';
char c3 = '3';
ii 采用整数形式进行存储,范围 0~65535
char c = 65; // A
char c2 = 29233 ; // '爱'
c. 转义字符:
'\n' :换行
'\t':水平跳格,tab
'\' ':单引号
'\" ':双引号 ...
(4) 布尔类型:
boolean :字面值,true/false
tips:true:代表关系成立 false:代表关系不成立
float(4B) 和 long(8B)相比float的存储数据范围 更大。因为float采用科学计数法的形式进行存 储
2. 对象数据类型/引用数据类
(1) 类、数组、集合、接口等都属性对象类型
(2) 以字符串为例:
a. 字面值:使用双引号 引起来 的一个或是 多个字符
b. String str = "中国";
小结
整数常用 int
小数常用 double
布尔类型:常用于 分支结构,循环结构 中的判断
字符串:经常用,String -> 开发重要
年龄:int
成绩:double
性别:'男'/'女' char "男" / "女"-》 String
手机号:17710131197 ->String
姓名:xxx -> String
身份号:38999595959..x -> String
三、类型转换
1. 自动类型提升
(1) 场景:将小数据类型 赋值给大数据类型(存储 的数据类型范围越大->大数据类型)
(2) 自动类型提升规则: byte->short->int->long->float- >double
char -> int -> long -> float -> double
2. 强制类型转换
(1) 场景:将大数据类型 赋值 给小数据类型,需 要使用强制类型转换
(2) 语法:
源数据类型 变量名 = 值; 大数据类型
目标类型 变量名 = (目标类型)变量名; 小数据类型
四、表达式
1. 理解
表达式由变量、字面值、运算符组成式 子,通常有一个结果
2. 表达式结果规则
(1) 表达式有 double,结果 为 double
(2) 没有double,有 float,结果为 float
(3) 没有 double/float,有 long,结果 为 long
(4) 其余全部为 int类型 byte和byte byte和short short和 short
byte和Int short和int int 和 int
五、运算符
1. 算术运算符
+ - *(乘法) /(除法) %(取余数/取模)
java的+两种应用:
(1) 加法运算,+两端都是 数值类型
(2) 字符串拼接:+两端只要有一端为字符串,则为字符串的拼接
注意:java中布尔类型不能参与 加法运算;但是 可以参与字符串拼接
2. 赋值运算符
= += -= *= /=
a+=1 ; // 结果等价于 a = a+1;
3. 比较运算符
> :大于
>= :大于等于
< :小于
<= :小于等于
== :等于
!= :不等于
注意:被关系运算符连接的表达式,称为关系表达 式,关系成立,结果为true;关系不成立,结果为 false;结果类型为布尔类型,被关系运算符连接 的表达式也被称为布尔表达式
4. 逻辑运算符
&&:逻辑与,两端连接都为布尔表达式,如果两端 结果为同时为true,则结果为;只要有一端结果为 false,结果就为false
||:逻辑或,两端连接都为布尔表达式,只要有一 端结果为true,最终结果就为true;只有同时为 false,结果为false
!:逻辑非,在结果上取反
5. 一元运算符
++(自增) --(自减)
注意:a++ 或是 ++a,让a自身进行加1运算
a-- 或是 --a,让a自身进行减1运算
---------以上内容开发足够,以下内容作为考 试/面试--
int c = a++;// 先使用a的原始数据,再将a加 1
// ->先使用,再加1
int c = ++a; // 先将a自身加1,再使用a的值
// -》先加1,再使用
6. 三元运算符/三目运算符
(1) 语法:布尔表达式?表达式1:表达式2
(2) 执行原理:判断布尔表达式结果是否为 true,是-执行表达式1,否则执行表达式2
六、扫描仪:Scanner
1. 作用
提高人机交互性,使程序更加的灵活和通用
2. 应用
(1) 创建Scanner对象
java.util.Scanner sc=new;
java.util.Scanner(System.in);
(2) 使用:利用sc进行使用
int a = sc.nextInt();// 输入一个整 数
double d = sc.nextDouble();//输入 一个小数
String str = sc.next();// 输入一个 字符串
char c = sc.next().charAt(0)// 输 入一个字
七、导包
1. 语法
import 包名1.包名2.类名;
import 包名1.包名2.* ; // 导入对应包中的所有 类
2. 位置
(1) 位于 package语句的后面,所有类的上面
(2) 一个源文件中可以定义多行package语句