ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【后端开发】01-Java基础语法 [打印本页]

作者: 汕尾海湾    时间: 2023-10-13 04:48
标题: 【后端开发】01-Java基础语法
Java基础语法

目录

1. 概述

Java是SUN公司于1995年开发的一门高级程序设计语言
1.1. 语言特性

优点
缺点
1.2. 开发平台

1.3. 开发环境


JDK = JRE + 开发工具集
JRE = JVM + Java SE标准类库
1.4. 开发步骤

注意
1.5. 注释

说明
2. 变量与运算符

2.1. 关键字/保留字

Java语言中具有专门用途的字符序列(单词),全部由小写字母组成
概览(50个)
abstractassertbooleanbreakbytecasecatchcharclassconst*continuedefaultdodoubleelseenumextendsfinalfinallyfloatforgoto*ifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnstrictfpshortstaticsuperswitchsynchronizedthisthrowthrowstransienttryvoidvolatilewhile2.2. 标识符

Java中变量、方法、类等要素命名时使用的字符序列
命名规则
命名规范
2.3. 变量

变量是内存中的一个存储区域,该区域的数据可以在同一类型范围内不断变化

说明
声明语法
  1. // 声明
  2. type varName;
  3. // 声明和初始化
  4. type varName = value;
复制代码
2.4. 常用数据类型

2.4.1. 基本数据类型(8种)

2.4.2. 引用数据类型

类(class)、数组(array)、接口(interface)、枚举(enum)、注解(annotation)、记录(record)
常用引用数据类型
2.4.3. 数据类型转换

隐式转换
显式转换
2.5. 运算符

2.5.1. 算术运算符(7个)

+、-、*、/、%、++、--
说明
2.5.2. 关系运算符(6个)

>、>=、>
说明
2.5.5. 赋值运算符(12个)

=、+=、-=、*=、/=、%=、&=、|=、^=、>>=、>=
说明
2.5.6. 条件运算符(1个)

?:
语法
  1. condExpr?trueExpr:falseExpr
复制代码
说明
2.5.7. 优先级

优先级运算符结合性1()、[]、.从左到右2++、--、~、!、+(正)、-(负)从右到左3*、/、%从左到右4+(加)、-(减)从左到右5、>>>从左到右6、instanceof从左到右7==、!=从左到右8&从左到右9^从左到右10``11&&从左到右12`13?:从右到左14=、+=、-=、*=、/=、%=、&=、`=、=、>>>=`3. 流程控制

流程控制就是用来控制程序中各语句的执行顺序,从而将其组合成能完成一定功能的逻辑模块

3.1. 顺序结构

程序从上到下逐行执行,没有任何判断和跳转
3.2. 分支结构

程序根据条件选择性地执行某段代码
3.2.1. if-else

单分支结构
双分支结构
多分支结构
3.2.2. switch-case结构

3.2.3. 分支嵌套

分支嵌套是指一个分支结构的某个(些)分支中包含另一个(些)分支结构
3.3. 循环结构

程序根据循环条件重复性地执行某段代码
3.3.1. for循环

3.3.2. while循环

3.3.3. do-while循环

3.3.4. 循环嵌套

循环嵌套是指一个循环结构A的循环体中包含另一个循环结构B,习惯上将循环结构A称为外层循环,循环结构B称为内层循环
3.4. 关键字break和continue

3.4.1. break

结束当前循环或switch结构,即跳出循环或switch结构
语法格式
  1. // 无标签:结束最近的循环或switch结构
  2. break;
  3. // 有标签:结束标签指定的循环或switch结构
  4. break label;
复制代码
3.4.2. continue

结束本次循环,开始下一次循环
语法格式
  1. // 无标签:结束最近循环结构的本次循环,开始下一次循环
  2. continue;
  3. // 有标签:结束标签指定循环结构的本次循环,开始下一次循环
  4. continue label;
复制代码
4. 数组

数组是多个类型相同的数据按照一定顺序排列的集合
说明
4.1. 一维数组

4.1.1. 声明和初始化
  1. // 静态初始化
  2. type[] arrName = new type[]{value0, value1...};  // 推荐
  3. type arrName[] = new type[]{value0, value1...};
  4. type[] arrName = {value0, value1...};  // 类型推断
  5. // 动态初始化
  6. type[] arrName = new type[nElem];  // 推荐
  7. type arrName[] = new type[nElem];
复制代码
说明
4.1.2. 元素访问
  1. arrName[index]
复制代码
说明
4.2. 二维数组

4.2.1. 声明和初始化
  1. // 静态初始化
  2. type[][] arrName = new type[][]{{value0, value1...}, {value0, value1...}...};  // 推荐
  3. type arrName[][] = new type[][]{{value0, value1...}, {value0, value1...}...};
  4. type[] arrName[] = new type[][]{{value0, value1...}, {value0, value1...}...};
  5. type[][] arrName = {{value0, value1...}, {value0, value1...}...};  // 类型推断
  6. // 动态初始化
  7. type[][] arrName = new type[nElem1][nElem2];  // 推荐
  8. type arrName[][] = new type[nElem1][nElem2];
  9. type[] arrName[] = new type[nElem1][nElem2];
  10. type[][] arrName = new type[nElem1][]; // 缺省最后一维
复制代码
4.2.2. 元素访问
  1. // 访问外层元素
  2. arrName[index1]
  3.    
  4. // 访问内层元素
  5. arrName[index1][index2]
复制代码
4.3. 默认值

元素类型初始值byte、short、int0long0lfloat0.0fdouble0.0char0或'\u0000'booleanfalse引用类型null4.4. 说明

5. 常用API

5.1. 输入输出

5.1.1. 输入

5.1.2. 输出
  1. // 控制台输出并换行
  2. System.out.println(output);
  3. // 控制台输出不换行
  4. System.out.print(output);
复制代码
5.2. 常用类

5.2.1. java.lang.Math

类别方法说明数学函数static double sqrt(double a)返回a的平方根随机数static double random()返回[0.0, 1.0)范围内的随机数5.2.2. java.lang.System

类别方法说明时间日期static long currentTimeMillis()返回当前时间戳5.2.3. java.util.Arrays

类别方法说明拼接static String toString(type[] a)返回由数组元素组成的字符串(用[]括起,元素间由,+ 分隔)排序static void sort(type[] a)将数组a的元素按照升序排序排序static void sort(type[] a, int fromIndex, int toIndex)将数组a指定范围[fromIndex, toIndex)内的元素按照升序排序查找static int binarySearch(type[] a, type key)返回key在有序数组a中的第一次出现的下标,不存在则返回负数查找static int binarySearch(type[] a, int fromIndex, int toIndex, type key)返回key在有序数组a指定范围[fromIndex, toIndex)内的第一次出现的下标,不存在则返回负数复制static type[] copyOf(type[] original, int newLength)复制数组original到长度为newLength的新数组中并返回复制static type[] copyOfRange(type[] original, int from, int to)复制数组original指定范围[from, to)内的元素到长度为newLength的新数组中并返回比较static boolean equals(type[] a, type[] b)比较数组a、b的元素是否相同比较static boolean equals(type[] a, int aFromIndex, int aToIndex, type[] b, int bFromIndex, int bToIndex)比较数组a、b指定范围[aFromIndex, aToIndex)、[bFromIndex, bToIndex)内的元素是否相同填充static void fill(type[] a, type val)用val填充数组a填充static void fill(type[] a, int fromIndex, int toIndex, type val)用val填充数组a的指定范围[fromIndex, toIndex)6. 扩展

6.1. Java虚拟机的内存划分


区域名称作用虚拟机栈存储正在执行方法的局部变量表(基本数据类型、对象引用)等堆存储对象方法区存储已被JVM加载的类信息、常量、静态变量、即时编译器编译后的代码等本地方法栈本地(native)方法执行期间的内存区域程序计数器存放每一个线程下一条要执行指令的地址7. 参考资料


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4