前言
主要介绍Java的关键字和保留字、标识符、变量、运算符和流程控制。
目录
一、标识符
通俗一点来说就是我们起的名字,一般这个名字需要有一定的意义和遵守一定的规则。
标识符所遵守的规则就叫命名规则
Java中的命名规则包括:
1.由数字、字母和下划线还有$(Java特有)组成
2.不能以数字开头
3.不能包括关键字和保留字
4.不能有空格
5.Java大小写敏感
通常标识符还要遵循一些通用的规则,叫做命名规范,与命名规则不同的是,如果不遵守命名规则,则Java源文件无法通过编译。而命名规范更像是道德上的标准,不遵守并不会报错。
Java的命名规范 分以下四类:
对于包:要求单词全部小写
对于类和接口:单词首字母大写
对于变量和方法:第一个单词首字母小写,之后的单词首字母要大写
对于常量:单词的所有字母全部大写,单词与单词之间用下划线连接
二、关键字和保留字
关键字就是Java中具有特殊意义的标识符。注意,Java中所有的关键字均为小写。
保留字是指现在在Java中还不是关键字,但在其它语言中是关键字,未来也有可能成为Java关键字的标识符。如const和goto。
三、变量
和C语言一样,必须先声明后使用,且局部变量(也就是定义在方法体中的变量)必须初始化,在使用前进行赋值。
1.变量类型
成员变量:成员变量定义在方法体之外,类之中。在本类中可访问。成员变量又可分为实例变量(不用static修饰)和静态变量(用static修饰)。
局部变量:定义在方法体之中,生命周期不会超过本方法。
class Test01 {
//实例变量
int age;
//静态变量
static String nny;
public void test(){
//局部变量,局部变量必须初始化
int i = 0;
}
}
2.数据类型
Java中的数据类型主要分为两类:基本数据类型和引用数据类型
其中,声明long型的变量时必须以小写的l或大写的L结尾,如 long var = 100l;声明float类型的变量必须以小写的f或大写的F结尾。如 float var = 100.0f.
char类型的变量,占两个字节,使用的是万国码。用单引号表示单个字符 ,该字符不能为空,这个字符可是汉字。可用Unicode码值来表示。如 char c = '\u0160' 这是这个Š符号。
boolean型的值只能是true或false,不能与1和0互换。
3.类型转换 (基本类型数据之间)
(1).自动类型转换
原理是存储空间小的可以放进存储空间更大的类型中,数值范围小的可以放进数值范围更大的类型中。
基本数据类型之间大致关系是:byte < char、short < int < long < float < double,但是byte类型不能自动转换为char类型。
注意,在使用+、-、*、/等运算符对变量进行运算时,由于运算器每次操作数据都是以整形为单位,因此比整形小的数据会自动转换成整型,也就是进行整形提升。
如:short s = 101;
short h = s + 1;//该行代码会报错
需写成:
int h = s + 1;
(2).强制类型转换
Java的强制类型转换原理与C语言一样,都是对内存进行截断操作,从右往左截取保留。截取转换成的数据类型的长度,然后计算值。且Java与C强制转换的格式与用法一致。
public class Test02 {
public static void main(String[] args) {
float f = 100.01f;
int b = (int)f;
System.out.println(b);
}
}
4.String字符串
引用类型的变量,用双引号括起来,不能参与强制类型转换。字符串可以为空,而单个字符不能为空。
String类型可以和其它基本数据类型做连接运算,且只能做连接运算,连接符是加号,其结果仍为字符串。
class Test03{
public static void main(String[] args) {
int i = 1;
char c = 'a';
String s = "abc";
System.out.println(s+i+c);//输出abc1a
System.out.println(i+c);//char类型参与运算,是其编码参与运算,结果为数值,该结果为98
}
}
四、进制
二进制:0-1,0b或者0B开头
八进制:0-7,0开头
十进制:0-9
十六进制:0-9,a-f,0x或者0X开头
五、运算符
算数运算符:Java也有自增和自减,且不会出现整形提升的现象,效率更高。
赋值运算符:+=、-+、*=等,也不会改变数据的类型。
关系运算符:比较结果是布尔型,instanceof也是个特殊的运算符,用来判断某个变量是否属于某种数据类型
逻辑运算符:&(逻辑与)、|(逻辑或):这两种类型在运算时会先将运算符两边的表达式都计算后再进行比较。而&&(短路与)、||(短路或)在计算左边表达式后如果能确定比较结果就不再进行比较。此外逻辑运算符还包括 !(非)、^(异或)。
位运算符:&(按位与)、|(按位或)、^(按位异或)、~(按位取反),>>(右移),>>>(无符号右移)、<<(左移)。
三目运算符:表达式 ?表达式为真的结果 :表达式为假的结果
六、流程控制
Java的流程控制与C语言相同,其中包括有:
顺序结构
分支结构:if~else,switch~case:其中switch表达式的值类型可以是byte、char、short、int、枚举型(JDK5.0)、字符串(JDK7.0)
循环结构:for,while,do~while
Java中,break和continue后不能结执行语句,否则会报错。此外,break和continue后可指定标签以跳出指定循环或跳过指定循环。
class Test04{
public static void main(String[] args) {
//生成指定区间的随机数
int a = 1;
int b = 100;
int c = (int) (Math.random()*(b-a+1) + a);//生成1-100之间的随机数
System.out.println(c);
lable: for(int i=0;i<10;i++){//lable指定循环
for(int j=0;j<10;j++){
if(i>6){
break lable;
}
}
}
}
}