Java 基础是学习 JavaEE、大数据、Android 开发的基石
Java 基本语法(上)- 1. 关键字与保留字
- 2. 标识符(Identifier)
- 3. 变量
- 每日一考
- 4. 运算符
关键字(keyword)的定义和特点
定义:被 Java 语言赋予了特殊含义,用做专门用途的字符串
特点:关键字中所有的字母都是小写
保留字(reserved word)
现有 Java 版本尚未使用,但以后的版本可能会作为关键字使用
如:const、goto
2. 标识符(Identifier)标识符
Java 对各种变量、方法、和类等要素命名时使用的字符序列称为标识符
技巧:凡是自己可以起名字的地方都叫标识符
比如:类名、变量名、方法名、接口名…
标识符的命名规则:
不满足以下命名规则,编译不能通过
- 由 26 个英文字母大小写,0-9,_ 或 $ 组成
- 不能由数字开头
- 不能用关键字和保留字
- Java 严格区分大小写,长度没有限制
- 不能包含空格
Java 中的名称命名规范
包名:多单词组成时所有字母都小写
类名、接口名:多单词组成时,所有单词首字母大写
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写
常量名:所有字母都大写,多个单词时,用下划线连接
注意:在命名的时候尽量 " 见名知意 "
3. 变量变量的概念
- 内存中的一个存储区域
- 该区域的数据可以在同一数据类型范围内部断变化
- 变量是程序中最基本的存储单元,包含变量类型、变量名和存储的值。
变量的作用
- 用于在内存中保存数据
使用变量注意
- Java 中每个变量必须先声明,后使用
- 使用变量名来访问这块区域的数据
- 变量的作用域:其定义所在的一对 {} 内
- 变量值有在其作用域内才有效
- 同一个作用域内,不能定义重名的变量
变量的使用
使用格式:数据类型 变量名 = 变量值;
package day02;
public class Variable {
public static void main(String[] args) {
// 变量的定义
int age = 12;
// 变量的使用
System.out.println(age);
int number;
number = 10;
System.out.println(number);
}
}
变量的类型
注意:
- Java 整数型常量默认为 int ,当声明 long 型变量时,若所赋值超过 int 型,需要在末尾加一个 ’ l ’ 或 ’ L ’
- Java 浮点型常量默认为 double ,当声明 float 常量时,需要加 ’ f ‘,’ F ’
各类数据类型的使用
package day02;
public class Variable {
public static void main(String[] args) {
// 整数类型:int、long
int a = 10;
System.out.println(a);
// 声明 long 类型的时候,要在后面加 'l' 或 'L'
long b = 10000000l;
System.out.println(b);
// 浮点类型:float、double
double c = 15.5;
System.out.println(c);
// 声明 float 类型的时候,要在后面加 'f' 或 'F'
float d = 16.5f;
System.out.println(d);
// 字符型:char
char e = 'a';
// char 类型只能赋一个字符
// char f = 'aa';
System.out.println(e);
// 布尔类型:boolean
// 布尔类型只有 true 和 false 两个值
boolean g = true;
System.out.println(g);
}
}
基本数据类型的自动转换
当容量小的数据类型变量和容量大的数据类型变量做运算时,结果自动向容量大的数据类型转换
byte、char、short->int->long->float->double
特别的当 byte、char、short 三者做运算时,结果是 int
基本数据类型的强子转换
自动转换的逆操作
1.需要使用强转符 ()
2.注意点:强制类型转换,可能会导致精度损失(不是四舍五入,截断操作)
String 类型变量
1.String 属于引用数据类型
2.声明 String 类型变量时,使用双引号 " "
3.String 可以和 8 种基本数据类型变量做运算,且运算只能是连接运算:+
4.运算结果是 String
package day02;
public class Variable {
public static void main(String[] args) {
String a = "学号";
int b = 111;
String c = a + b;
System.out.println(c);
}
}
练习1
package day02;
public class Variable {
public static void main(String[] args) {
char c = 'a';
int num = 10;
String str = "hello";
System.out.println(c + num + str); // 107hello
System.out.println(c + str + num); // ahello10
System.out.println(c + (num + str)); // a10hello
System.out.println((c + num) + str); // 107hello
System.out.println(str + num + c); // hello10a
}
}
练习2
输出 ‘’ * * ‘’
package day02;
public class Variable {
public static void main(String[] args) {
System.out.println("* *"); // * *
System.out.println('*' + 't' + '*'); // 93
System.out.println('*' + "t" + '*'); // * *
System.out.println('*' + 't' + "*"); // 51*
System.out.println('*' + ('t' + "*")); // * *
}
}
进制与进制间的转换
世界上有10种人,认识二进制和不认识二进制的
所有的数字在计算机底层都是以二进制形式存在。
二进制的整数有如下三种形式
正数:三码合一
负数:
- 原码:最高位是符号码
- 反码:原码除符号码外,1 变 0,0 变 1
- 补码:补码 + 1
在计算机的底层都以补码的方式存储(正数和负数都一样)
在 Java API 中有特定的进制转换函数
每日一考- 标识符的命名规则有哪些?
26 个英文字母、下划线(_)、美元符号($)、0-9 数字,不能以数字开头 - 标识符的命名规范有哪些?
包名:单词小写
类名、接口名:大驼峰
变量名、方法名:小驼峰
常量名:单词下划线连接 - Java 变量按照数据类型怎么划分?并指出 Java 的基本数据类型有哪 8 种,并指出各自所占内存空间的大小。
基本数据类型
byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节)
char(1个字符)
float(4个字节)、double(8个字节)
boolean
引用数据类型
类、接口、数组 - 说明基本数据类型变量之间自动类型提升的运算规则。
byte、short、char -> int -> long -> float -> double - 说明基本数据类型变量之间强制转换的使用规则和强转换可能出现的问题。
容量大 -> 容量小
强转符:()
精度丢失
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 三元运算符
和 C 语言的运算符基本类似,具体可看我的另一片博客 C语言位运算符:与、或、异或、取反、左移和右移



