Java基本语法
一、关键字和保留字
1. 关键字的定义和特点
- 具有特殊含义 有专门用途的字符串
- 关键字的字母都是小写的
- 举例
定义数据的关键字 |
定义流程的关键字 |
定义权限的关键字 |
class |
if |
private |
interface |
else |
protected |
int |
while |
public |
2. 保留字
- 目前Java版本还未使用 以后可能会使用 比如 goto const
二、标识符
1. 标识符概念
- 由字母 数字 下划线 $组成
- 不能以数字开头
- 避免使用关键字和保留字
- 区分大小写
- 不能含有空格 比如 book name ----> book_name
2.命名规范
- 包名小写
- 类名如果只有一个单词,首字母大写,多个单词时,每个单词首字母大写
- 接口名同类名
- 变量名 方法名首字母小写,多个单词时只有第一个单词的首字母小写
- 常量名大写 比如MAX_VALUE
- 命名时尽量见名知意 book_name book_price
三、变量
1. 变量概念
- 用于在内存中保存数据
- 先声明后使用
- 只有在其{}的范围内才有效
{
{
int x=0;}
x=1;
}
2. 变量分类
基本数据类型 |
引用数据类型 |
byte |
class (String属于class |
short |
interface |
int |
数组[] |
long |
|
float |
|
double |
|
char |
|
boolean |
|
8种 |
3种 |
成员变量 |
局部变量 |
在类体内声明 |
在方法体内声明 |
实例变量 |
形参 |
类变量 static修饰 |
方法内定义的局部变量 |
|
代码块内的局部变量 |
有默认值 |
需要显示初始化 |
类型 |
占用字节 |
表示范围 |
byet |
1 |
-128~127 |
short |
2 |
-215 ~ 215-1 |
int(默认类型) |
4 |
-231 ~ 231 -1 |
long |
8 |
-263 ~ 263 -1 |
3. 基本数据类型转化
- 容量小的会自动向容量大的类型转化
(byte char short)—int—long—float----double
- byte short char 之间不会相互转化 计算时会先转化为int
- boolean类型不能与其他数据类型计算
- 使用强制类型转化时需要加上强制转化符,但是可能会精度降低
int a=3;
short b=(int)a;
四、进制
1.进制分类
- 二进制: 0b/0B开头 满2进1
- 十进制:1 2 3 4 …
- 八进制:0开头
- 十六进制:0x/0X开头 0-9及A-F(a-f)
2.几种编码
- 原码:将一个数转化为二进制 正数最高位是0 负数最高位是1
- 反码:正数的反码和原码一样 负数的反码在原码的基础上除了最高位以外其余位取反
- 补码:正数的补码同原码 反码 负数的补码在反码基础上+1
3. 进制转化
- 十进制—>二进制 乘以2的幂数
- 二进制—>十进制 除以2取余数
- 八进制—>二进制 每1位用三位二进制位表示 011=001001
- 十六进制—>二进制 每一位用四位二进制位表示 11=00010001
五、运算符
算术运算符 |
赋值运算符 比较运算、运算符符 |
逻辑运算符 |
位运算符 |
三元运算符 |
+ - * / % |
== != |
& | ! ^ |
<< >> |
? |
++ - - |
< > <= >= |
&& || |
>>> |
|
|
instaceof |
|
& | ^ ~ |
|
- 单&时,无论左边是真是假,右边都进行运算
- 双&时,左边为假时,右边不进行计算
- 单|时,无论左边是真是假,右边都进行运算
- 双|时,左边为真时,右边不进行计算
- 左移相当于乘2 1>>2=4 空缺位补0
- 右移相当于除2 4>>2=1 空缺位补符号位
- >>>无符号右移,最高位补0
int x=1;
int y=1;
if(x++==2&++y==2)
{
x=7;
}
System.out.println("x="+x+" y="+y);
int x=1;
int y=1;
if(x++==2&&++y==2)
{
x=7;
}
System.out.println("x="+x+" y="+y);
}
int x=1;
int y=1;
if(x++==2|++y==2)
{
x=7;
}
System.out.println("x="+x+" y="+y);
int x=1;
int y=1;
if(x++==2||++y==2)
{
x=7;
}
System.out.println("x="+x+" y="+y);
}
六、程序流程控制
1. 三种结构
- 顺序结构 :程序从上到下逐行执行 ,中间没有任何判断和跳转
- 分支结构:if…else switch-case 选择性地执行
- 循环结构:while do…while for 重复性地执行某段代码
2. switch语句说明
- switch(表达式)中的表达式可以是以下类型:byte short char int String 枚举
- case子句中的值必须是常量
- 不同的case的常量值不相同
- case后面应该跟上一个break语句,不如程序会执行到switch结尾
- default可选,没有匹配的case时会执行default