Java基本语法
文章目录
- Java基本语法
- 一、关键字和保留字
- 1. 关键字的定义和特点
- 2. 保留字
- 二、标识符
- 1. 标识符概念
- 2.命名规范
- 三、变量
- 1. 变量概念
- 2. 变量分类
- 3. 基本数据类型转化
- 四、进制
- 1.进制分类
- 2.几种编码
- 3. 进制转化
- 五、运算符
- 六、程序流程控制
- 1. 三种结构
- 2. switch语句说明
一、关键字和保留字
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;//语法错误,x在中间的{}中才有效
}
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);//2 2
int x=1;
int y=1;
if(x++==2&&++y==2)
{
x=7;
}
System.out.println("x="+x+" y="+y);//2 1
}
int x=1;
int y=1;
if(x++==2|++y==2)
{
x=7;
}
System.out.println("x="+x+" y="+y);//7 2
int x=1;
int y=1;
if(x++==2||++y==2)
{
x=7;
}
System.out.println("x="+x+" y="+y);//7 2
}
六、程序流程控制
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