Java基础语法

Java语法基础

文章目录

  • Java语法基础
    • 第一章:Java程序基础
      • 一、jdk安装、环境变量配置
      • 二、Java基本语法
        • 1.关键字
        • 2.标识符
        • 3. 数据类型
          • 3.1 基本数据类型
          • 3.2 引用数据类型
          • 3.3 默认值
          • 3.4 转义字符
        • 4.运算
          • 4.1 运算符&优先级
          • 4.2 自增&自减运算
          • 4.3 +=,-=,*=,/=,%=
          • 4.4 逻辑运算符
          • 4.5 移位运算
    • 第二章:流程控制语句
      • 一、顺序结构
      • 二、选择结构(分支结构)
        • 2.1 if语句
        • 2.2 switch语句
      • 三、循环结构
        • 3.1 for循环
        • 3.2 while语句
        • 3.3 do......while语句
      • 四、跳转控制语句
    • 第三章:数组
      • 一、一维数组

第一章:Java程序基础

一、jdk安装、环境变量配置

JAVA_HOME:对应java安装路径

二、Java基本语法

1.关键字

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0OEsBojy-1588727527531)(/home/smallseven/Documents/Java后端/Java核心基础/Java中的关键字.png)]

2.标识符

  • 标识符的组成:
    • 字母大小写
    • 数字
    • $和_
  • 注意:
    • 数字不能开头
    • 不能使用关键字
    • 区分大小写

3. 数据类型

3.1 基本数据类型
  • 整形
  • 浮点型
  • 字符型
  • 布尔型
类型名 字节大小 数值范围
int 4字节 -2147483648 ~ 2147483647
short 2字节 -32768 ~ 32767
long 8字节 -9223372036854775808 ~ 9223372036854775807
byte 1字节 -128 ~ 127
float 4字节 -
double 8字节 -
char 2字节 可表示ASCII和Unicode字符
boolean JVM把Boolean表示为4字节整数 -

Notes:

  • Java只定义了带符号的整型,因此最高位的bit表示符号位(0表示正数,1表示负数)
  • 整形的默认类型为int,浮点型默认类型为double
  • float代表但精度浮点型,double代表双精度浮点型数据
  • float类型需要加上f或F后缀,long类型需要加上l或L后缀
  • char类型使用单引号‘,字符串使用双引号”
  • 定义变量使用var修饰符,编译器会自动推断数据类型 var i = new StringBuilder
3.2 引用数据类型
  • 接口
  • 数组
3.3 默认值

整形的默认值是:0

浮点型的默认值是:0.0

char的默认值:’\u0000’

boolean的默认值:false

引用数据类型的默认值:null

3.4 转义字符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QgyglO7i-1588727527536)(/home/smallseven/.config/Typora/typora-user-images/image-20200428130452217.png)]

4.运算

4.1 运算符&优先级
优先级 运算符 结合性
1 () [] . 从左到右
2 ! ~ ++ – 从右到左
3 * / % 从左到右
4 + - 从左到右
5 << >> >>> 从左到右
6 < <= > >= instanceof 从左到右
7 == != 从左到右
8 & 从左到右
9 ^ 从左到右
10 | 从左到右
11 && 从左到右
12 || 从左到右
13 ?: 从左到右
14 = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= 从右到左
15 , 从右到左

Notes:

  • 常量做运算时,先计算两个常量的结果,再判断该结果是否在变量类型的范围内

  • 除法运算、取余运算,两个操作数是整数结果也会是整数,舍弃掉小数部分

  • 自增自减运算,++n和–n先做加减再引用n,n++和n–先引用n在做加减

  • +=、-=,*=,/=,%=,&=,|=,^=,~=,<<=,>>=,>>>=相当于对变量自身做运算

  • 整数运算存在范围限制,超出范围会产生溢出,溢出不会报错,但会得到一个错误的结果

  • 浮点数不能做位运算和移位运算

  • 整数运算在除数为0时会报错,而浮点数运算在除数为0时不会报错,但会返回几个特殊值:

    • NaN表示Not a Number
    • Infinity表示无穷大
    • -Infinity表示负无穷大
  • 布尔运算是一种短路运算,如果一个布尔运算的表达式能提前确定结果,则后续的计算不再执行,直接返回结果。

4.2 自增&自减运算
  • 单独使用,自增自减运算结果相同
  • 参与运算
    • ++或–在前,先自增、自减运算后再参与运算
    • ++或–在后,先参与运算再自增、自减
4.3 +=,-=,*=,/=,%=

这些运算包含类型转换

4.4 逻辑运算符

&,|,!,^,&&,||

  • &运算(条件同时满足就为true,有一个条件不满足就为false)
  • |运算(只要有一个条件不满足就为true,条件同时满足就为false)
  • ^运算(异或,相同为false,不同为true)
  • &&、||(短路运算)
4.5 移位运算

<<,>>,>>>,&,|,^,~

  • &(按位与)
  • |(按位或)
  • ^(按位异或)
  • ~(反码)
  • <<(左移)
  • >>(右移)
  • >>>(无符号右移)

Notes:

  • 对于byte、char、short类型的数据,左移后得到的是int类型
  • a>>n,如果a的类型是byte、int、short,系统先计算出n%32的结果m,然后再计算a>>m
  • a>>n,如果a是long类型数据,系统先计算出n%64的结果m,在计算a>>m

第二章:流程控制语句

一、顺序结构

按照代码的先后顺序执行

二、选择结构(分支结构)

2.1 if语句

  • 第一种格式:
if (条件表达式){
    语句体;
}
  • 第二种格式:
if (条件表达式){
    语句体;
}else{
    语句体;
}
  • 第三种格式:
if (条件表达式){
    语句体;
}else if (条件表达式){
    语句体;
}else{
    语句体;
}

2.2 switch语句

switch (表达式){
    case1:
        语句体;
        break;
    case2:
        语句体;
        break;
    default:
        语句体;
        break;
}

Notes:

  • 表达式的值可以是byte、int、short、char
  • JDK5.0之后可以使用枚举
  • JDK7.0之后可以使用String
  • case的值必须是常量,case的值不能有重复
  • default可以省略,default可以放在任意位置

三、循环结构

3.1 for循环

for (初始化条件;条件判断语句;控制语句){
    循环体;
}

3.2 while语句

while (条件判断语句){
    循环体;
    控制语句;
}

3.3 do…while语句

do {
    循环体;
    控制语句;
} while (条件判断语句)

四、跳转控制语句

  • break,终止整个循环
  • countinu,终止当前循环,进入下一次循环
  • return,结束方法

第三章:数组

一、一维数组

定义形式:

数组类型[] 数组名 = new 数组类型[]{1,2,......,值n}	// 数组定义方式一
数组类型[] 数组名 = {1,2,......,值n}	// 数组定义方式二、简写

你可能感兴趣的:(java技术学习,java)