JavaEE - 02基础语法
(1)关键字与保留字
(1.1)关键字
被Java语言赋予了特殊含义,用作专门用途的字符串(单词);关键字所有字母都是小写。
定义数据类型的关键字: class interface enum byte short int long float double char boolean void
定义流程控制的关键字: if else switch case default while do for break continue return
定义访问权限修饰符的关键字: private protected public
(1.2)保留字
现有版本尚未使用,以后版本可能作为关键字使用。 goto const
(2)标识符
标识符: Java 对各种变量、方法和类等要素命名时使用的字符序列,称为标识符。
定义规则:
由26个英文字母大小写,0-9,_ 或 $ 组成
数字不可以开头
不可以使用关键字和保留字,但能够包含关键字和保留字。
Java严格区分大小写,长度无限制。
标识符不能包含空格。
命名规范: 见名知意
包名: 多单词组成时,所有字母都小写。 xxxyyyzzz
类名、接口名: 多单词组成时,所有单词的首字母大写 XxxYyyZzz
变量名、方法名: 多单词组成时, 第一个单词首字母小写,第二个单词开始每个单词首字母大写 xxxYyyZzz
常量名: 所有字母都大写。多单词时每个单词用下划线连接 XXX_YYY_ZZZ
(3)变量
(3.1)概念
变量: 内存中的一个存储区域。程序中最基本的存储单元。包含 变量类型、变量名、 存储的值。 格式: 变量类型 变量名 = 变量值;
变量必须先声明,后使用。使用变量名来访问这块区域的数据。变量未赋值,进行引用,编译报错。
变量的作用域,在其定义所在的一对{}内。变量只有在其作用域内才有效。同一作用域内,不能定义重名的变量。
(3.2)变量分类
> 数据类型(强类型语言)
基本数据类型(primitive type)
整数型(byte/short/int/long)
浮点型(float / double)
字符型(char)
布尔型(boolean)
引用数据类型(reference type)
类(class)
接口(interface)
数组(array)
> 声明位置
成员变量
实例变量(不以static修饰)
类变量(以static修饰)
局部变量
形参(方法、构造器中定义的变量)
方法局部变量(在方法内定义)
代码块局部变量(在代码块内定义)
(3.3)数据类型 - 整数类型
> Java各整数类型有固定的数据范围和字段长度,不受具体的OS影响,以保证java程序的可移植性。
> Java的整数常量默认为 int型, 声明long型常量需后面加"l"或"L"。
> Java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long。
类型
占用存储空间
范围
byte
1字节=8bit比特位
-128 ~ 127
short
2字节
-2^15 ~ 2^15 - 1
int
4字节
-2^31 ~ 2^31 - 1(约21亿)
long
8字节
-2^63 ~ 2^63 - 1
(3.4)数据类型 - 浮点型
Java浮点类型也有固定的范围和字符长度,不受具体操作系统的影响。
浮点型变量两种表示形式:
十进制数形式: 如 5.12 512.0f .512(必须有小数点)
科学计数法形式: 如 5.12e2 512E2 100E-2
float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。
double:双精度,精度是float的两倍。 通常使用此类型。
Java的浮点型常量默认为double型, 声明float型常量,须后加'f'或'F'。
类型
占用存储空间
范围
单精度float
4字节
-3.403E38 ~ 3.403E38
双精度double
8字节
-1.798E308 ~ 1.798E308
(3.5)数据类型 - 字符型
(3.6)数据类型 - 布尔型
(3.7)基本数据类型转换
容量小的类型自动转换为容量大的数据类型。
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的数据类型,然后再进行计算。
byte,short,char 之间不会相互转换,他们三者在计算时首先转换为int类型。
boolean类型不能与其他数据类型运算。
当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值都将自动转化为字符串String类型。
(3.8)进制转换
二进制:
(4)运算符
运算符是一种特殊的符号,用以表示数据的运算、复制和比较等。
(4.1)算术运算符
(4.2)赋值运算符
(4.3)比较运算符
(4.4)逻辑运算符
(4.5)位运算符
(4.6)三元运算符
(5)程序流程控制
//"标记"
int i = 7;boolean isSuShu = true;//byte b = 0;
for(int j=2;j
isSuShu= false;//byte = 1;
break;
}
}
System.out.println(isSuShu? i + "是素数" : i + "不是素数")//System.out.println(b == 0 ?i + "是素数" : i + "不是素数")//1不是素数//内部循环 判断i是否为素数,//外部循环 循环i去做判断
for(int i = 2;i<=100;i++){boolean isSuShu = true;for(int j=2;j
isSuShu= false;break;
}
}if(isSuShu){
System.out.println(i);
}
}//判断 8个换行
int count = 0;for(int i = 2;i<=100;i++){boolean isSuShu = true;for(int j=2;j
isSuShu= false;break;
}
}if(isSuShu){
System.out.print(i+ "");
count++;if(count % 8 == 0){
System.out.println();
}/*if(count == 8){
System.out.println();
count = 0;
}*/}
}