一、变量
1. 概念:计算机中一块内存空间,用于存储数据的 基本单元
2. 组成部分:数据类型、变量名、数据
3. 变量语法:
(1) 先声明再赋值
数据类型 变量名; // 声明 变量名=值; // 赋值
(2) 声明的同时并赋值 数据类型 变量名 = 值;
(3) 同时定义多个同类型的变量:
数据类型 变量名1,变量名2=值,变量名3;
二、数据类型的分类
1. 基本数据类型
B(字节-Byte
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
...
1B = 8b -> bit 位)
10.24被称为程序猿节日
(1) 整数类型
byte 1B -128~127 short 2B -32768~32767 int 4B
-2147483648~2147483647
long 8B -922京~922京-1
注意:long字面值后面需要加 L/l(建议加L,区 分数据1)
(2) 小数类型
float:4B,单精度,字面值后面必须加F/f double:8B,双精度
注意:float和double都可以采用科学计数法 的形式存储
(3) 字符类型
char 2B,字面值形式如下:
a. 使用单引号引起来的一个字符:
char c = 'a';
b. 使用整数形式,范围:0~65535
char c2 = 65; // A c. 转义字符:
\t : 水平跳格
\n :换行
\' :单引号
\\ :反斜杠
\" :双引号
(4) 布尔类型
boolean 字面值true/false
true:代表关系成立 false:代表关系不成立
通常应用在判断/循环结构中
2. 对象数据类型
(1) 类、数组、集合、接口等都是对象
(2) 以字符串-String为例讲解对象类型:
String str = "hello";
注意:使用双引号引起来一个或是多个字符
三、数据类型之间的转换
1. 自动类型提升
(1) 应用场景:小数据类型的变量赋值给大数据类 型的变量
(2) 提升规则:
byte ->short ->int -> long -> float - >double
char ->int -> long -> float -> double
2. 强制类型转换
(1) 应用场景:大数据类型的变量 赋值给小数据 类型的变量
(2) 语法:
源数据类型 变量名 = 值;
目标类型 变量名2 = (目标类型)变量名;
四、表达式
1. 表达式由字面值、变量、运算符组成式子,通常 有一个结果
2. 表达式的结果类型:
(1) 表达式如果有double,结果类型为double;
(2) 没有double,有float类型,则结果为 float
(3) 没有double、float,如果有long,结果为 long
(4) 其余结果类型为int
五、运算符 1. 算术运算符
+ - *(乘法) /(除法) %(取余数/取 模)
java中+两种应用:
(1) 加法运算:如果+两端都为数值类型,为加法 运算
(2) 字符串拼接:如果+两端有一端为字符串,则 为拼接
注意:java布尔类型不能与运算
2. 赋值运算符
= += -= *= /=
3. 比较运算符
> >= < <= ==(等于) != (不等于)
关系成立,结果为true;关系不成立结果为 false
4. 逻辑运算符
&&:逻辑与, 并且;两端结果都为true,结果才 为true ||:逻辑或,或者,两端只要有一端为true,结果 就为true
!:逻辑非,在结果上取反
5. 三元运算符
(1) 语法: 布尔表达式?表达式1:表达式2
(2) 执行原理:判断布尔表达式是否成立,成立, 执行表达式1;否则执行表达式2
int a = 5;
System.out.println(a>6?a-5:a+5);
6. 一元运算符
++(自增) --(自减)
实际开发应用:
m++或者++m :让m值自身加1 m--或是--m :让m值自身减1
以下内容作为考试/面试应用:
int x=m++;// 先试用,再加1
int x=++m;// 先加1,再使用
六、扫描议(Scanner) 1. 导包
(1) 语法:
import 包名1.包名2.类名;// 导入某一
个类
import 包名1.包名2.*;// 导入包中的
所有的类
(2) 位置:定义在package下面,所有类的上面 (3) 注意:一个源文件中可以定义多行import语 句
(4) 例如:import java.util.Scanner;
2. Scanner的应用步骤:
(1) 导入包:import java.util.Scanner;
(2) 创建Scanner对象:
Scanner sc = new Scanner(System.in);
(3) 使用:
int n = sc.nextInt();// 输入一个整 数
double d = sc.nextDouble();//输入 一个小数
String s = sc.next();//输入一个字符 串
char c = sc.next().charAt(0);//输 入一个字符