Loading

学习笔记 - Java 基本语法

前言

复习与整理 Java 基础知识。

视频课程为B站 尚硅谷宋红康java基础视频

关键字和保留字

关键字

定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)

特点:关键字中的所有字母都为小写

image

image

保留字

定义:现有的Java版本尚未使用,但以后版本可能会作为关键字使用。命名时注意规避。

例如:goto,const

标识符

定义

Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符。

规则

不遵守会导致编译不通过

  1. 由大小写字母,数字,_或$组成
  2. 数字不可以开头
  3. 不可以使用关键字和保留字,但可以包含
  4. 严格区分大小写,长度无限制
  5. 不能包含空格

命名规范

不遵守编译依然会通过,遵守规范可以增加代码的可阅读性

  • 包名:多单词组成时均为小写
  • 类名、接口名:多单词组成时,首字母大写
  • 变量名、方法名:多单词组成时,第一个单词首字母小写,之后的单词首字母大写
  • 常量名:所有字母都大写,多单词时用下划线连接

变量

基本概念

概念

  • 内存中的一个存储区域
  • 该区域的数据可以在同一类型范围内不断变化
  • 变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值

作用

用于在内存中保存数据

使用格式

数据类型 变量名 = 变量值 ;

注意

  • Java中变量必须先声明后使用
  • 使用变量名来访问这块区域的数据
  • 变量的作用域,其定义在一对{ }中
  • 变量只在其作用域内有效
  • 同一个作用域内,不能定义重名的变量

数据类型

image

基本数据类型

数值型

image

注意:定义long型变量时必须用“l”或“L”作为结尾

浮点型

image

浮点型变量有两种表示形式:

  • 十进制数形式:如 5.12 512.0f .512 (必须有小数点)
  • 科学计数法形式:如 5.12e2 512E2 100E-2

Java 的浮点型变量默认为 double 类型,声明 float 型变量,必须后加 f 或 F 。使用浮点型变量时通常使用 double 类型。

字符型

定义 char 型变量,通常使用一对 ‘ ’ ,内部只能写一个字符。

Java 中的字符都使用 Unicode 编码,所以它是可以进行运算的。

转义字符 说明 转义字符 说明
\b 退格符 " 双引号
\n 换行符 ' 单引号
\r 回车符 \\ 反斜线
\t 制表符
布尔类型

boolean 类型只能取 true 或 false 。常用于条件判断和循环结构。

基本数据类型之间的运算规则

自动类型提升

当容量小的数据类型变量和容量大的数据类型变量做运算时,结果会自动提升容量。

byte -> short -> int -> float -> double ,当 char 参与运算时,它与 byte 和 short 都会提升为 int 类型,此时的规律为:byte 、 short 、char -> int -> float -> double 。

强制类型转换

通过强转符 () 进行操作,例如:int i1 = (int)d1 ,但强转可能会导致精度产生损失。

当定义 long 型变量时,末尾不加 L 可能不会产生编译错误,这是因为该数据在 int 的范围之内,Java 将其作为 int 类型进行计算,而该数据超过 int 的范围时便会产生报错。

float 类型的末尾必须加 f

整型常量默认为 int 型,浮点型常量默认为 double 型。此处的常量指的是直接写的一个数值,例如:byte b2 = b1 + 1 ,这样的代码会产生编译错误,1 为 int 类型。

引用数据类型(String)

声明 String 类型变量时,使用一对 “” ,可以和 8 种基本数据类型变量做运算,且只能做连接运算 ‘+’ ,运算结果仍然是 String 。

String 类型转换至其它基本数据类型时需要使用特定的方法,不可使用强转符进行转换。

进制

常见的有二进制、十进制、八进制和十六进制,表示方式如下:

进制 表示字符 表示方式
二进制 0, 1 以 0b 或者 0B 开头表示
十进制 0-9
八进制 0-7 以数字 0 开头表示
十六进制 0-9 及 A-F 以 0x 或 0X 开头表示,A-F 不区分大小写

运算符

算术运算符

image

关于自增计算 ++ 和 -- ,举例说明:

int a1 = 10;
int b1 = ++a1;
System.out.println(a1, b1)
// 输出结果:11, 11

int a2 = 10;
int b2 = a2++;
System.out.println(a2, b2)
// 输出结果:11, 10

赋值运算符

符号:= ,当 = 两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。支持连续赋值。

拓展赋值运算符:+=,-=,*=,/=,%= 。

比较运算符

image

比较运算符的结果都是 boolean 型。

逻辑运算符

image

逻辑与短路与 执行结果相同,但执行过程有区别:

  • 逻辑与:当遇到一个条件为 false 时,依然去执行后续的条件;
  • 短路与:当遇到一个条件为 false 时,不执行后续的条件,直接输出结果 false 。

逻辑或短路或 与 与运算 相同,遇到 true 时结果相同但执行过程不同。

位运算符

位运算是直接对整数的二进制进行的运算。

运算符 运算 范例 解释
<< 左移 3 << 2 = 12 在一定范围内,每向左移一位,相当于该数乘以 2
>> 右移 3 >> 1 = 1 在一定范围内,每向右移一位,相当于该数除以 2
>>> 无符号右移 3 >>> 1 = 1
& 与运算 6 & 2 = 2 将两个数的二进制每一位进行与运算,最后得出结果
| 或运算 6 | 3 = 7
^ 异或运算 6 ^ 3 = 5 (相同为真,不同为假)
~ 取反运算 ~6 = -7 包括符号位在内的所有取反

注意:位运算相较于整数之间直接计算效率更高。

三元运算符

格式(条件表达式) ? 表达式 1 : 表达式 2

结果:条件表达式结果为 true 时运算结果为表达式 1 ,为 false 时运算结果为表达式 2 。

注意

  • 表达式 1 和 2 应统一为同种类型;
  • 三元运算符可以嵌套使用;
  • 等同于 if - else 结构。
posted @ 2023-08-12 15:48  KoiC  阅读(57)  评论(0)    收藏  举报