Java基础 二
关键字(Keyword)
什么是关键字? - 用作特殊字符的字符串,是电脑语言事先定义好的字符。
用于定义数据类型的关键字:
class
interface
enum
byte
short
int
long
float
double
char
boolean
void
用于定义流程控制的关键字:
if
else
switch
case
defaul
while
do
for
break
continue
return
用于定义访问权限修饰符的关键字:
private
protected
public
用于定义类,函数,变量修饰符的关键字:
abstract
final
static
synchronized
用于定义类与类之间关系的关键字:
extends
implements
用于定义建立实例及引用实例,判断实例的关键字:
new
this
super
instanceof
用于异常处理的关键字:
try
catch
finally
throw
throws
用于包的关键字:
package
import
其他修饰符关键字:
native
strictfp
transient
volatile
assert
用于定义数据类型值的字面值:
true
false
null
官方文档:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
标识符(identifier)
自己可以起名字的地方都叫标识符,例如类名、方法名、变量名、包名…等等
命名规则
- 1.由26个英文字母大小写,0-9,_ ,$ 组成。
2.数字不可开头。
3.不使用关键字保留字,但能包含关键字和保留字,(例 class Staticpublic)。
4.严格区分大小写,长度无限制。
5.不可包含空格。
命名规范
- 包名(Package):多单词字母都小写;例 myfirstpackage;
类名(class)、接口名(interface):多单词的每个首字母大写;例 MyFirstClass;
变量名(Variable)、方法名(method ):多单词第一个单词小写,其余单词首字母大写;例 myFirstName;
常量名(defined):所有单词大写且用_连接;例 MY_FIRST_NAME
常量
在程序执行的过程中其值不可以发生改变
Java中常量的分类
- 字面值常量
- 自定义常量(面向对象部分讲)
- 字面值常量的分类
- 字符串常量 用双引号括起来的内容
- 整数常量 所有整数
- 小数常量 所有小数
- 字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
- 布尔常量 较为特殊,只有true和false
- 空常量 null
变量
给一个数据起个“名字”,存储在计算机内存中,通过变量名能快速定位并访问,在某个范围内其值可以发生改变。
例 :
demo.java
class People{
public static void main(String[] people){
String myFirstName = "HuaLing"; //变量的定义
System.out.println(myFirstName); //变量的使用
int myAge; //变量的声明
myAge = 1; //变量的赋值
System.out.println(myAge); //变量的使用
}
}
变量使用规则
- 1.java中每个变量需先声明后使用;
2.在同一作用域(在某定义的同一{}内),变量有效;
3.同一作用域内不可声明同名变量;
为什么有数据类型
- Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,
- 每一种数据类型在内存中分配了不同大小的内存空间
- 这样做是为了充分高效的利用内存空间
Java中数据类型的分类
- 基本数据类型
- 引用数据类型
基本数据类型
Java定义了8种基本数据类型(4类8种):
声明long型变量,必须以“l”或“L”结尾。 例 long a = 34343434L;
声明float型常量,要在后面加“f”或“F”。例 float = 12.3f;
定义浮点型变量,需使用double型。
定义char型变量,通常使用一对’ ’ 。例 char = '莱';
- char表示方式:
- 1.声明一个字符;例
char b = 's' ;
- 2.声明转义字符;例
char b = '\n' ;
- 3.使用Unicode值表示字符型常量;例
char b = '\u0123' ;
- 1.声明一个字符;例
基本数据类型转换
- 1.自动类型提升
俩不同数据类型运算时,自动提升为大容量数据类型:
byte 、short 、 char→ int → long → float → double
特别的:当byte 、short 、 char三种类型变量做运算时,结果为int型
例:
class DataTransformation{
public static void main(String[] Data){
byte a = 2;
int b = 122;
int c = a + b;
System.out.println(c);
//***********************
short f = 123;
double t = f;
System.out.println(t);
//***********************
long d = a + b;
System.out.println(d);
//***********************
float e = a + b;
System.out.println(e);
//***********************
char i = 'a';
int o = 10;
int u = i + o;
System.out.println(u);
}
}
-
2.强制类型转换
自动类型提升的逆运算: -
1.需用到强转符“一对括号” ()
-
2.强制转换可能使精度受损
例:
class DataTransformation{
public static void main(String[] Data){
double a = 1.999;
int b = (int)a;
System.out.println(b);
//************************
long i =123;
short o = (short)i;
System.out.println(o);
//************************
int m = 128;
byte n = (byte)m;
System.out.println(n);
}
}
变量运算规则的两个特殊情况
- 1.编译超过自身容量的字符报错,例
long l = 12312111111111111111113; System.out.println(l);
- 2.整型或浮点型默认类型为double型,例
float f = 3.3; System.out.println(f);
String
String(字符串)一引用数据类型,使用一对" "表示;
String可以与8种基本数据类型变量做运算,且运算只能为连接运算;
例:
class StringTest{
public static void main(String[] string){
String L ="The protagonist is ";
int k = 567;
String leader = L + 567;
System.out.println(leader);
}
}
结果仍为String类型。
变量之进制转换(略)
注:计算机里的数都是补码形式,因为CPU只会做加法,数的补码形式就可以用加法实现减法运算,进而以加法完成所有的运算。