华清远见重庆中心—后端基础阶段技术总结/个人总结

JDK

JDK 全称 Java Development Kits , 是Java开发工具包

JRE 全称 Java Runtime Envirment,是Java运行时环境

JVM 全称 Java Virtual Machine,是Java虚拟机

JDK包含JRE,JRE中有JVM。

解释型语言

1. 编译语言是指定文件,编译到指定位置,生成指定的二进制文件。特点:效率高、速度快

2. 解释语言是指定文件,解释到任何位置,生成指定的二进制文件。特点:跨平台性好

变量(一个可以装载“字面量”的容器)

代码的结尾要用;

1.数据类型 变量名称 = 数据值 int a = 1;

2.变量声明:数据类型 变量名称 int b;

变量初始化:变量名称= 数据值 b = 2;

3.变量的名称:1、变量名称的开头只能以_或$(¥),英文字母定义

2、变量名称的中间只能以_或$(¥),英文字母、数字定义

在方法内,如果一个变量仅仅只声明,那么它不可以被使用

变量不能重名;变量名称的大小写敏感;变量可以多个一起定义

注释:

1. 单行注释:注释一行内容。 快捷键:Ctrl + /

2. 多行注释:注释一个代码片段。快捷键:/* + Enter

3. 文档注释:可以注释一个方法,或者一个类.。 快捷键:/** + Enter

标识符(为“变量、类、方法”进行命名的符号)

  1. 只能以_、$、字母开头

  1. 中间和结尾以_、$、字母、数字为主要内容

  1. 不能以关键字或者特殊符号命名

标识符常见的命名方式:1、驼峰法 例:我的苹果==>my apple ==> myApple MyApple

首写字母大写:大驼峰法 主要用于类 或者接口命名

首写字母小写:小驼峰法 主要用于变量、方法命名

2、下划线隔断法 例: 我的苹果 == > my_apple

关键字:50个常见关键字

Java由C/C++发展而来

其中有5个常见的保留字:goto const (true,false,null)

goto 、const已经被弃用 true,false,null作为值的类型存中java中

基础数据类型

整数类型:byte、short、int、long(默认值:int)

无论数值类型以何种方式表示,都是以十进制输出

long:int数值范围无法表示的情况下用long

浮点数类型:float、double(默认值:double)

float:

double:

字符类型:char

逻辑型:boolean

boolean值:true、false

数值类型转化:

大范围的数值类型 ==> 小类型的数值类型:强制转化

小范围的数值类型 ==> 大类型的数值类型:自动转化

数值范围大小:byte < short < int < long < float < double

char类型右侧为ASCII码的编码数值,而不是简单的int类型

数值类型的值不可以强制转化为boolean值。boolean值也不可以转化为数值类型的值

运算符

加、减、乘、除、取余

两数相除:1、两数都是整数类型,求整数商

2、两数任意一个是浮点数,求浮点数的商

数据类型表达式:

运算表达式的最终类型,由运算表达式中的最大类型来决定。

++ 、 --运算(特殊运算)

++ : 自加一

-- : 自减一

++、--在变量“左侧”和“右侧”的区别

在左侧:先对值进行自加,再将值赋值给左侧

在右侧:先将值赋值给左侧,再自加。

++ 、 -- 优先级高于+ 、- 、* 、 /

字符串拼接:

判断依据: + 的任意一侧有字符串出现时,它就是拼接符

字符串拼接符与普通的加减运算的优先级一致

赋值运算符 = :1、优先级最低

2、从右往左运算

扩展运算符:+= 、-= 、/= 、*=、 %=

交换两个数的值

1.使用中间量

2.不使用中间量

比较运算符

== 等号、===恒等,引用数据类型、>、<、>=、<=,!=

逻辑运算符(左右两侧必须是布尔表达式)

与 &&、&,或|| 、|,非!

与:并且(一假即假)

&&:短路与

例: 条件一 && 条件二 &&条件三 ...

如果"条件一"为false,那么后续的条件就没有判断的必要

&:逻辑与

例: 条件一 & 条件二 &条件三 ...

即便”条件一“为false,后续的条件仍要继续判断

或:可能(一真即真)

||:短路或

如果前面的条件为真,那么后续的条件没有判断的必要

| :逻辑或

即便前面的条件为真,后续的条件依旧需要判断

与和或的混合判断

逻辑与 的优先级高于 逻辑或,所以先执行与运算

非:取相反的布尔表达式的值

非运算 优先级 高于”与、或“运算

位运算

& 按位与:二进制比较,对位都为1结果为1

| 按位或:二进制比较,对位都为0结果为0

^ 异或:二进制比较,对面不相同结果为1

~ 非位:把所有二进制位取反(包含了符号位)

表达式

算数表达式

赋值表达式(赋值运算的优先等级最低,从右往左运算)

布尔表达式(最终结果是boolean)

逻辑表达式(最终结果是boolean)

三目运算表达式

条件: ? 选项1 : 选项2

返回值是选项1或选项2的值

描述:当条件成立时,返回选项1的值,否则返回选项2的值

if语句

格式:if(布尔表达式){ 执行语句 }

描述:如果布尔表达式成立,就会执行”执行语句“,否则直接跳过这一次判断

if...else语句

格式: if(布尔表达式){ 执行语句 }else{ 执行语句 }

描述:如果布尔表达式成立,就会执行if中的”执行语句“,否则执行else中的”执行语句“

if ... else if 语句

格式if(布尔表达式){ 执行语句 }else if(布尔表达式){ 执行语句 }

描述:如果if中布尔表达式成立,就会执行if中的”执行语句“

如果else if中布尔表达式成立,就会执行else if中的”执行语句“

随着条件的增多,else if数量可以增加

控制台输入:java.util.Scanner

  1. 引入Scanner工具:import java.util.Scanner;

  1. 新建Scanner对象:Scanner scan = new Scanner(System.in);

  1. 先使用System.out.println("请输入内容:");

  1. 使用scan.nextXXX 定义输入值的类型。

随机数

Math.random() 创建一个0~1的数(且不包含1) double类型

switch语句

格式:switch(数据值或变量{case 值1 : ... ;case 值2: ... ; ...}

break:终止整个switch语句

注意:1、switch货号中一般是变量,变量需要指定特数的数据类型(byte short int char String(Character))

switch不可以设置的类型有:long,double,float

2、有break的情况,跳出switch语句,没有break情况,程序会继续往后执行。

3、于if语句与switch的区别:switch不能判断范围条件。

4、default除了case之外的其他条件

for循环

格式:for(初始化内容;结束循环条件;变化方式){...}

初始化内容:int i = 0

结束循环条件:i < 5(布尔表达式)

变化方式:i++

死循环:循环没有结束条件

while 循环

格式:while(布尔表达式){ ... }

while死循环:while(true)

判断什么时候用for循环,什么时候用while循环

for循环用于已知的循环次数

while循环用于结束条件

do - while 循环

格式: do{执行代码}while(布尔表达式);

while,do-while的区别:

while,先判断再执行

do-while,先执行再判断

break和continue

break:在循环中出现,退出循环

continue:阻止后续程序的执行,但不会退出循环。

数组:

简单定义:将一类数据放到一个整体中

专业定义:将数据类型相同的数据,放到一个集合中

数组的定义方式:

1、静态初始化:在构建数组时就给予初始化的值

数组类型: 数据类型[]、变量[]

数组初始化{数组元素,数组元素,...}

2、动态初始化:先构建数组的对象,然后在逐一赋值初始化

基本格式:数据类型[] 变量名 = new 数据类型[数组的长度]

数组的类型决定了元素是什么样的类型

数组元素都具有下标值,下标值从0开始

例:int[] a = {1,2,3};数组a下标位为1的元素是“2”

通过“数组变量[下标值]”将数组元素取出

取不到“下标不存在”的值,报运行错误。

遍历数组:

1、可以通过length这个属性(变量)获取数组的长度

2、将数组内容全部输出到打印语句

数组空间:

int[] a = {1,2,3};

1)数组a的地址,指向了1,2,3元素的堆内存空间

2)而数组a的地址等于1元素所在空间的地址。

3)1,2,3元素所在的堆内存空间的地址是连续的

对指定下标的数组元素赋值,可以直接修改该数组

数组复制

数组==>新的数组 length = end - start + 1

数组复制System.arraycopy

System.arraycopy(src,srcPos,dest,destPos,length)

src:被复制的数组

srcPos:从src的哪个下标开始复制

dest:粘贴到的数组

destPos:从dest的哪个下标开始粘贴

length: 复制的数据元素的长度

将一个数组完整的复制给另一个数组

数组扩容

注意:数组本身在定义之后,不可以增减长度

Arrays.copyOf(src,length)

src:需要扩容的数组

length:扩容的长度

冒泡排序

排序函数(Arrays.sort())

二维数组

二维数组:二维数组的元素是一维数组

定义方式 int[][] 数组名称

int[] a = {1,2,3};

int[] b = {4,5,6};

int[] c = {7,8,9};

int[][] d = {a,b,c};

定义方式:

  1. 静态初始化

int[][] n1 = {{1,2,3},{3,4,5}};

每个元素中数组长度可以不同

  1. 动态初始化

理解方式一:new int[行][列]

理解方式二:new int[有几个一维数组][这些一维数组中有几个元素]

数组的长度length

二维数组的遍历

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值