变量: 存数的, 代词, 指代它所存的那个数
1) 声明:
- int a; // 声明一个整型的变量, 名为 a
- int b,c,d; // 声明三个整型的变量, 名为 b,c,d
2) 初始化: 第一次赋值
2.1) 声明同时初始化
int a = 100;
2.2) 先声明后初始化
int a;
a = 100;
3) 使用:
3.1) 对变量的使用就是对它所存的那个数的使用
- int a = 5; // 声明整型变量 a 并赋值为 5
- int b = a+10; // 取出 a 的值 5, 加 10 后, 再赋值给整型变量 b
- System.out.println(b); // 输出变量 b 的值 15
- System.out.println("b"); // 输出 b, 双引号中的原样输出
- a = a+10; // 取出 a 的值 5, 加 10 后, 再赋值给 a
- // 在 a 本身基础之上增 10
- System.out.println(a); // 输出变量 a 的值 15
3.2) 变量的操作必须与数据类型匹配
int a = 3.14; // 编译错误, 数据类型不匹配
3.3) 变量在用之前必须声明并初始化
- System.out.println(m); // 编译错误, m 未声明
- int m;
- System.out.println(m); // 编译错误, m 未初始化
4) 命名:
4.1) 只能包含字母, 数字,_和 $ 符, 并且不能以数字开头
4.2) 严格区分大小写
4.3) 不能使用关键字
4.4) 可以中文命名, 但不建议
建议:"英文的见名知意","驼峰命名法"
2. 基本数据类型:
1)int: 整型, 4 个字节,-21 个多亿到 21 个多亿
1.1) 整数直接量默认为 int 型, 但不能超范围, 超范围则编译错误
1.2) 两个整数相除, 结果还是整数, 小数位无条件舍弃
1.3) 运算时超出范围则发生溢出, 溢出是需要避免的
2)long: 长整型, 8 个字节, 很大很大很大
2.1) 长整型的直接量, 需在数字后加 L 或 l
2.2) 算术运算时若有可能溢出, 建议在第 1 个数字加 L
2.3)System.currentTimeMillis() 用于获取自
1970.1.1 零时到此时此刻的毫秒数
3)double: 浮点型, 8 个字节, 很大很大很大
3.1) 浮点型直接量默认为 double 型, 表示 float 时需在数字后加 f 或 F
3.2) 浮点型数据参与运算时, 有可能会出现舍入误差
4)boolean: 布尔型, 1 个字节
4.1) 只能装 true 和 false
5)char: 字符型, 2 个字节
5.1) 采用 Unicode 字符集编码, 每个字符都有一个对应的码
表现形式为字符 char, 但实质上是码 int(0 到 65535 之间)
(ASCII 码: 'a'--97 'A'--65 '0'--48 )
5.2) 字符直接量必须放在单引号中, 有且仅有一个
5.3) 特殊符号需要通过 \ 来转义
3. 基本数据类型间的转换:
数据类型从小到大依次为:
- byte,short,int,long,float,double
- char,
1) 两种方式:
1.1) 自动类型转换: 小类型到大类型
1.2) 强制类型转换: 大类型到小类型
(要转换成为的数据类型) 变量
强转有可能会溢出或精度丢失
2) 两点规则:
2.1) 整数直接量可以直接赋值给 byte,short,char,
但不能超出范围
2.2)byte,short,char 型数据参与运算时,
先一律转换为 int 再运算
4.Scanner 的用法:
1) 在 package 下:
import java.util.Scanner;
2) 在 main() 方法中:
Scanner scan = new Scanner(System.in);
3) 在第 2 步之下:
- System.out.println("请输入年龄:");
- int age = scan.nextInt();
- System.out.println("请输入价格:");
- double price = scan.nextDouble();
来源: http://www.bubuko.com/infodetail-2608840.html