- 关键字:一些被赋予了java含义的单词,class public static void
定义访问权限修饰符的关键字
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
-
标识符: 在程序中自定义的一些名称,例如定义类。尽量让它有意义,增强程序的阅读性
26个英文字母大小写,0-9数字,_$两个符号。 但不能以数字开头 且不能用关键字
- 注释 为了方便阅读,对于程序语言的解释
//单行注释 白日依山尽 黄河入海流
/*
多行注释,还可以用来缩小排错的范围!
白日依山尽
黄河入海流
*/
/**
文档注释,可以用java的javadoc进行提取
用作程序说明书
*/
- 常量和变量
常量是不能改变的数值 (整数,小数,布尔boolean常量,字符常量‘‘ 字符串"" null)
变量是内存中的一个存储区域, 该区域有自己的名称和类型
- byte short int long //整数类型
- float double //浮点类型
- char //字符型
- boolean //布尔型
- class //类
- interface // 接口
[] //数组
class VarDemo { public static void main (String[] args) { byte b=126;// 字符测试 int x=327899; //测试int长度 System.out.println(b); System.out.println(x); } }
执行结果
D:\LAB\java>javac 0908.java
D:\LAB\java>java VarDemo
126
327899
lass VarDemo2//自动类型提升 与强制类型转换 { public static void main (String[] args) /* { byte x=9; int y=65535; y=x+y; //将x y 相加 System.out.println(y); } */ { byte b=100; b=(byte)(b+30);//强制类型转换 System.out.println(b); } }
D:\LAB\java>javac 090802.java
D:\LAB\java>java VarDemo2
-126
关于ASCII码和GBK码 单个的字母或汉字也会对应码表在内存中产生对应的值
{ System.out.println(‘我‘+0); }
D:\LAB\java>javac 090802.java
D:\LAB\java>java VarDemo2
25105
一个有趣的case
{ byte b=4; byte b1=3; byte b2=5; b=b1+b2; System.out.println(b); } }
D:\LAB\java>javac 090802.java
090802.java:20: 错误: 可能损失精度
b=b1+b2;
^
需要: byte
找到: int
1 个错误
原因: b1 b2是变量,虽然上面定义了值,但并非永远固定的,例如下一次给赋值b1=127了呢?超出byte 承载范围,就会损失精度。这里是让我们了解到变量的概念。
b=b1+b2 //右边不固定,是没有办法判断的
但是int就没有这个问题(只保留32位 强制转换 高位全舍弃)
- 运算符
- 语句
- 函数
- 数组