Java基础语法

Java语法基础

第一章:Java程序基础

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

JAVA_HOME:对应java安装路径

二、Java基本语法

1.关键字

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

2.标识符
  • 标识符的组成:
    • 字母大小写
    • 数字
    • $和_
  • 注意:
    • 数字不能开头
    • 不能使用关键字
    • 区分大小写
3. 数据类型
3.1 基本数据类型
  • 整形
  • 浮点型
  • 字符型
  • 布尔型
类型名字节大小数值范围
int4字节-2147483648 ~ 2147483647
short2字节-32768 ~ 32767
long8字节-9223372036854775808 ~ 9223372036854775807
byte1字节-128 ~ 127
float4字节-
double8字节-
char2字节可表示ASCII和Unicode字符
booleanJVM把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}	// 数组定义方式二、简写
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值