Java基本语法





文章目录

  • Java基本语法
  • 一、关键字和保留字
  • 1. 关键字的定义和特点
  • 2. 保留字
  • 二、标识符
  • 1. 标识符概念
  • 2.命名规范
  • 三、变量
  • 1. 变量概念
  • 2. 变量分类
  • 3. 基本数据类型转化
  • 四、进制
  • 1.进制分类
  • 2.几种编码
  • 3. 进制转化
  • 五、运算符
  • 六、程序流程控制
  • 1. 三种结构
  • 2. switch语句说明




一、关键字和保留字

1. 关键字的定义和特点

  1. 具有特殊含义 有专门用途的字符串
  2. 关键字的字母都是小写的
  3. 举例

定义数据的关键字

定义流程的关键字

定义权限的关键字

class

if

private

interface

else

protected

int

while

public

2. 保留字

  • 目前Java版本还未使用 以后可能会使用 比如 goto const

二、标识符

1. 标识符概念

  1. 由字母 数字 下划线 $组成
  2. 不能以数字开头
  3. 避免使用关键字和保留字
  4. 区分大小写
  5. 不能含有空格 比如 book name ----> book_name

2.命名规范

  1. 包名小写
  2. 类名如果只有一个单词,首字母大写,多个单词时,每个单词首字母大写
  3. 接口名同类名
  4. 变量名 方法名首字母小写,多个单词时只有第一个单词的首字母小写
  5. 常量名大写 比如MAX_VALUE
  6. 命名时尽量见名知意 book_name book_price



三、变量

1. 变量概念

  1. 用于在内存中保存数据
  2. 先声明后使用
  3. 只有在其{}的范围内才有效
{
{ 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. 基本数据类型转化

  1. 容量小的会自动向容量大的类型转化
    (byte char short)—int—long—float----double
  2. byte short char 之间不会相互转化 计算时会先转化为int
  3. boolean类型不能与其他数据类型计算
  4. 使用强制类型转化时需要加上强制转化符,但是可能会精度降低
int a=3;
short b=(int)a;




四、进制

1.进制分类

  1. 二进制: 0b/0B开头 满2进1
  2. 十进制:1 2 3 4 …
  3. 八进制:0开头
  4. 十六进制:0x/0X开头 0-9及A-F(a-f)

2.几种编码

  1. 原码:将一个数转化为二进制 正数最高位是0 负数最高位是1
  2. 反码:正数的反码和原码一样 负数的反码在原码的基础上除了最高位以外其余位取反
  3. 补码:正数的补码同原码 反码 负数的补码在反码基础上+1

3. 进制转化

  1. 十进制—>二进制 乘以2的幂数
  2. 二进制—>十进制 除以2取余数
  3. 八进制—>二进制 每1位用三位二进制位表示 011=001001
  4. 十六进制—>二进制 每一位用四位二进制位表示 11=00010001



五、运算符

算术运算符

赋值运算符 比较运算、运算符符

逻辑运算符

位运算符

三元运算符

+ - * / %

== !=

& | ! ^

<< >>

?

++ - -

< > <= >=

&& ||

>>>

instaceof

& | ^ ~

  1. 单&时,无论左边是真是假,右边都进行运算
  2. 双&时,左边为假时,右边不进行计算
  3. 单|时,无论左边是真是假,右边都进行运算
  4. 双|时,左边为真时,右边不进行计算
  5. 左移相当于乘2 1>>2=4 空缺位补0
  6. 右移相当于除2 4>>2=1 空缺位补符号位
  7. >>>无符号右移,最高位补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. 三种结构

  1. 顺序结构 :程序从上到下逐行执行 ,中间没有任何判断和跳转
  2. 分支结构:if…else switch-case 选择性地执行
  3. 循环结构:while do…while for 重复性地执行某段代码

2. switch语句说明

  1. switch(表达式)中的表达式可以是以下类型:byte short char int String 枚举
  2. case子句中的值必须是常量
  3. 不同的case的常量值不相同
  4. case后面应该跟上一个break语句,不如程序会执行到switch结尾
  5. default可选,没有匹配的case时会执行default