目录
标识符
- 标识符可由字母、数字、下划线(_)和美元符($)组成
- 数字不能作为标识符的首字母
- 严格区分大小写
- 不能是Java关键字和保留字
- 标识符的命名最好能反映出其作用
关键字
变量
变量的三个元素:变量类型、变量名、变量值
变量命名规则
- 满足标识符命名规则
- 符合驼峰法命名规范(变量名由多个单词组成时,除第一个单词以外,其余的单词首字母大写,例如:stuName)
- 尽量简单,做到见名知意
- 变量名的长度没有限制
类命名规则
- 满足Pascal命名规范(单词首字母大写,例如:HelloWord)
数据类型
- 基本数据类型
- 数值型
- 整数类型(byte、short、int、long)
- 浮点类型(float、double)
- 字符型(cahr)
- 布尔型(boolean)
- 数值型
- 引用数据类型
- 类(class)
- 接口(interface)
- 数组
byte:主要对二进制数据进行存储,在文件输入输出流可以使用,用于二进制数据的传输
浮点型因为其表示方式的原因,会产生精度丢失的问题,所以会结合BigDecimal类进行使用
数据类型 | 说明 | 字节 | 最小范围 | 最大范围 |
---|---|---|---|---|
byte | 字节型 | 1 | ||
short | 短整型 | 2 | ||
int | 整型 | 4 | ||
long | 长整型 | 8 | ||
float | 单精度浮点型 | 4 | ||
double | 双精度浮点型 | 8 | ||
char | 字符型 | 2 | ||
boolean | 布尔型 | 1 |
数据类型的字面值及变量定义
数值型字面值
整型的默认类型是int,例如: 123-表示int类型的123、123l表示long类型的123;
浮点型默认类型是double,例如: 1.0-表示double类型的1.0、1.0f-表示float类型的1.0;
进制
八进制:以0开头,包括0-7的数字,例如:037,056
十六进制表示:以0x或0X开头,包括0-9的数字以及字母a-f,A-F,例如:0x12,0xabcf,0XABCFF
字符型字面值
字符型字面值用单引号内的单个字符表示
Unicode编码,在值前加前缀\u,后接4位16进制
// 使用7位或8位二进制数组合来表示128或256种可能的字符
// 7位二进制数组合: 标准ASII码
// 8位二进制数组合(后128位): 扩展ASII码
// ASCII码,下面写法会将整型转换成ASCII码对应的字符
char ch = 65;
char ch1 = 'A';
// Unicode表示法,在值前加前缀\u,后接4位16进制
char ch2 = '\u005d';
布尔类型字面值
布尔值只能定义为true 和 false,不能是0和1等
字符串字面值
字符串不属于基本数据类型,它是类;
双引号引起来的0个或多个字符;
// 定义一个包含unicode编码的字符串
String s3 = "A\u005d\u005f B";
基本数据类型变量的存储
按作用范围分:类级、对象实例级、方法级(又叫做局部变量)、块级
局部变量存储方式
基本数据类型变量的存储:
主方法定义的变量存储在栈中
类型转换
类型转换分为自动类型转换和强制类型转换
自动类型转换又叫隐式类型转换
自动类型转顺序
强转
若A类型的数据表示范围比B类型大,则将A类型的值赋给B类型,需要强制类型转换;
强转格式:(数据类型)数值
常量
用final关键字修饰的
命名规范:所有字母均大写;单词之间用_隔开。
常量不可以被修改
final int N = 5;
多种数据类型接受方法
scanner类从键盘输入的方法,除了字符串直接next()外,输入其他类型都要在next后加类型名称。
接受数据类型 | 方法 |
int | nextInt() |
long | nextLong() |
float | nextFloat() |
double | nextDouble() |
字符串 | next() |
布尔 | nextBoolean() |
Scanner sc = new Scanner(System.in);
// 1.从键盘接受int类型数据
int n = sc.nextInt();
// 2.从键盘接受long类型数据
long l = sc.nextLong();
// 3.从键盘接受float类型数据
float f = sc.nextFloat();
// 4.从键盘接受double类型数据
double d = sc.nextDouble();
// 5.从键盘接受字符串类型数据
String s = sc.next();
// 6.从键盘接受布尔类型数据
boolean flag = sc.nextBoolean();
//7.Java没有直接提供接受字符数据的方法;
//而是先接受字符串数据;然后进行转换;
//通过字符串的charAt()方法可以获取到字符
sc = new Scanner(System.in);
String str = sc.next();
char ch = str.charAt(1);
System.out.println("str = " + str);
System.out.println("ch = " + ch);
参考:慕课网-Java工程师课程