目录
- 初始计算机和Java语言
- Java语言的编程基础
- 变量
- 数据类型
- 常用的进制
- 进制之间的转换
- 单个字节表示的证书范围
- 整数类型
- 浮点类型
- 布尔类型
- 字符类型
- 基本数据类型之间的转换
- 运算符
- 算术运算符
- 字符串连接运算符
- 关系/比较运算符
- 自增减运算符
- 逻辑运算符
- 三目运算符
- 赋值运算符
- 移位运算符
- 位运算符
- 运算符优先级
- 流程控制语句
- 分支结构
- 循环结构
- **for**循环
- ** 双重for循环**
- while循环和for循环比较
- 数组的概念及应用
- 一维数组
- 一维数组的基本概念
- 一维数组的声明方式
- 一维数组的初始化方式
- 内存之栈区和堆区
- 数组的优缺点
- 数组工具
- 二维数组
初始计算机和Java语言
JDK
目录结构
1.bin目录:该目录下主要存在JDK的各种工具命令
2.conf目录:该目录下主要存放了JDK的各种配置文件
3.include目录:该目录下主要存放了一些平台的头文件
4.jmods目录:该目录下主要JDK的各种模块
5.legal目录:该目录下主要存放了JDK各模块的授权文档
6.lib目录:该目录下主要存放JDK工具的一些补充jar包和源代码
相关概念
- JDK-称为Java开发工具包
- JRE-称之为Java SE运行时环境(Java SE Runtime Environment),提供 了运行Java应用程序所必须的软件环境等。无论是开发还是运行Java应用 都必须安装。
- javac.exe-编译器,主要用于将高级Java源代码翻译成字节码文件
- java.exe-解释器,主要用于启动JVM对字节码文件进行解释并执行
注释
// 单行注释,从//开始,到本行结束都是注释
/* /多行注释,从/开始,到/结束,都是注释
/* */文档注释,从/*开始,到/结束,是一种支持文档提取的注释
跨平台原理
Java字节码可以通过JVM翻译为具体平台能够执行的机器指令。由于Sun 定义了JVM规范,而且不同的操作系统大多提供了JVM实现,才使得相同 的一个字节码文件可以在不同的系统上运行,从而使Java赢得了“一次编 译,到处使用”的美名。
Java语言的编程基础
变量
变量的基本概念
当需要在程序中记录单个数据内容时,则声明一个变量即可,而声明变量的本事则是在程序中申请一块存储单元,由于该存储单元的数据内容可以发生改变,因此名为“变量”。
由于存放的数据内容大小不一样,倒是所需存储单元的大小不一样,在Java语言中需要使用数据的存储类型加以描述,为了便于下次访问,还需要给变量定一个名字,用于记录该变量对应的存储单元
变量的声明方式
数据类型 变量名 = 初始值;
其中 =初始值 可以省略,但是 ; 不能省略
变量的命名法则
由数字、字母、下划线以及$等组成,其中数字不能开头
不能使用Java语言的关键字
区分大小写,长度没有限制但不宜过长
尽量做到见名知意,支持中文但不推荐使用
标识符可以给类/变量/属性/方法/包 起名字
数据类型
数据类型分类
在Java中数据类型分为两大类
- 基本数据类型
byte short int long float double char boolean
- 引用数据类型
数组、类、接口、枚举、标注
常用的进制
在计算机的底层采用0和1组成的二进制序列进行数据的描述
二进制中的最高位(最左边)用于代表符号位,若该位是0则表示非负数,若该位是1则表示负数。
八进制和十六进制其实都是二进制的简写
进制之间的转换
负十进制转换为二进制的方式
先将十进制的绝对值转换为二进制,然后进行按位取反再加1
负数的需要补码:按位取反,再加1
负二进制转换为十进制的方式
先减1再按位取反,合并为十进制整数后添加负号
链接: 源码、补码、反码深入理解.
单个字节表示的证书范围
在计算机中的那个字节用八位二进制表示其中最左边代表符号位
使用0代表非负数,1代表负数,具体表示的整数范围如下
非负数表示范围:0000 0000 ~ 0111 1111 => 0 ~ 127 => 0 ~ 2^7 -1
负数表示范围:1000 0000 ~ 1111 1111 => -128 ~ -1 => -2^7 ~ -1
单个字节表示范围:-128 ~ 127
整数类型
Java中的整数类型有byte short int long 推荐用int(Java默认整数类型)
其中byte类型在内存空间中占用1个字节,表示范围是:-27 ~ 27-1
short类型在内存空间中占用2个字节,表示范围是:-215 ~ 215-1
int类型在内存空间中占用4个字节,表示范围是:-231 ~ 231-1
long类型在内存空间中占8个字节,表示范围是:-263 ~ 263-1.
在Java程序中直接写出的整数数据叫做直接量\常量\字面值,默认是int类型,若希望表达更大的直接量,则在直接量后面加l或者L,推荐用L
浮点类型
Java语言中用于描述小数数据的类型:float 和 double,推荐使用double类型
其中float类型在内存空间占4个字节,叫做单精度浮点数,可以表示7位有效数字,范围:-3.403E38~3.403E38
其中double类型在内存空间占8个字节,叫做双精度浮点数,可以表示15
位有效数字,范围:-1.798E308~1.798E308
Java程序中直接写出的小数数据叫做直接量,默认为double类型,若希望
表达float类型的直接量,则需要在直接量的后面加上f或者F
布尔类型
Java语言中用于描述真假信息类型有:boolean,数值只有:true 和 false
布尔类型在内存空间中所占大小没有明确的规定,可以认为是1个字节
字符类型
Java语言中用于描述单个字符的数据类型:char类型。
其中char类型在内存空间中占2个字节并且没有符号位,表示范围是 0~65535。
计算机的底层只识别0和1组成的二进制序列,对于字符’a’这样的图案来说不满足该规则,因此该数据无法直接在计算机中存储,但现实生活中存在这样的图案数据需要计算机存储,为了使得该数据能够存储起来就可以给该数据指定一个编号,然后将编号存储起来即可,该编号就叫做ASCII。
‘0’-48 ‘A’-65 ‘a’-97 ‘空格’-32 '换行’-10 (需要记忆)
Java字符类型采用Unicode字符集编码。Unicode是世界通用的定长字符集,所有的字符都是16位。
• 要求掌握的转义字符有:" - " ’ - ’ \ - \ \t - 制表符 \n - 换行符
基本数据类型之间的转换
Java语言中基本数据类型的转换方式:自动类型转换和强制类型转换
#mermaid-svg-hkmjkl7WbFqouoEN .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-hkmjkl7WbFqouoEN .label text{fill:#333}#mermaid-svg-hkmjkl7WbFqouoEN .node rect,#mermaid-svg-hkmjkl7WbFqouoEN .node circle,#mermaid-svg-hkmjkl7WbFqouoEN .node ellipse,#mermaid-svg-hkmjkl7WbFqouoEN .node polygon,#mermaid-svg-hkmjkl7WbFqouoEN .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-hkmjkl7WbFqouoEN .node .label{text-align:center;fill:#333}#mermaid-svg-hkmjkl7WbFqouoEN .node.clickable{cursor:pointer}#mermaid-svg-hkmjkl7WbFqouoEN .arrowheadPath{fill:#333}#mermaid-svg-hkmjkl7WbFqouoEN .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-hkmjkl7WbFqouoEN .flowchart-link{stroke:#333;fill:none}#mermaid-svg-hkmjkl7WbFqouoEN .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-hkmjkl7WbFqouoEN .edgeLabel rect{opacity:0.9}#mermaid-svg-hkmjkl7WbFqouoEN .edgeLabel span{color:#333}#mermaid-svg-hkmjkl7WbFqouoEN .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-hkmjkl7WbFqouoEN .cluster text{fill:#333}#mermaid-svg-hkmjkl7WbFqouoEN div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-hkmjkl7WbFqouoEN .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-hkmjkl7WbFqouoEN text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-hkmjkl7WbFqouoEN .actor-line{stroke:grey}#mermaid-svg-hkmjkl7WbFqouoEN .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-hkmjkl7WbFqouoEN .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-hkmjkl7WbFqouoEN #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-hkmjkl7WbFqouoEN .sequenceNumber{fill:#fff}#mermaid-svg-hkmjkl7WbFqouoEN #sequencenumber{fill:#333}#mermaid-svg-hkmjkl7WbFqouoEN #crosshead path{fill:#333;stroke:#333}#mermaid-svg-hkmjkl7WbFqouoEN .messageText{fill:#333;stroke:#333}#mermaid-svg-hkmjkl7WbFqouoEN .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-hkmjkl7WbFqouoEN .labelText,#mermaid-svg-hkmjkl7WbFqouoEN .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-hkmjkl7WbFqouoEN .loopText,#mermaid-svg-hkmjkl7WbFqouoEN .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-hkmjkl7WbFqouoEN .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-hkmjkl7WbFqouoEN .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-hkmjkl7WbFqouoEN .noteText,#mermaid-svg-hkmjkl7WbFqouoEN .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-hkmjkl7WbFqouoEN .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-hkmjkl7WbFqouoEN .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-hkmjkl7WbFqouoEN .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-hkmjkl7WbFqouoEN .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hkmjkl7WbFqouoEN .section{stroke:none;opacity:0.2}#mermaid-svg-hkmjkl7WbFqouoEN .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-hkmjkl7WbFqouoEN .section2{fill:#fff400}#mermaid-svg-hkmjkl7WbFqouoEN .section1,#mermaid-svg-hkmjkl7WbFqouoEN .section3{fill:#fff;opacity:0.2}#mermaid-svg-hkmjkl7WbFqouoEN .sectionTitle0{fill:#333}#mermaid-svg-hkmjkl7WbFqouoEN .sectionTitle1{fill:#333}#mermaid-svg-hkmjkl7WbFqouoEN .sectionTitle2{fill:#333}#mermaid-svg-hkmjkl7WbFqouoEN .sectionTitle3{fill:#333}#mermaid-svg-hkmjkl7WbFqouoEN .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hkmjkl7WbFqouoEN .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-hkmjkl7WbFqouoEN .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hkmjkl7WbFqouoEN .grid path{stroke-width:0}#mermaid-svg-hkmjkl7WbFqouoEN .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-hkmjkl7WbFqouoEN .task{stroke-width:2}#mermaid-svg-hkmjkl7WbFqouoEN .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hkmjkl7WbFqouoEN .taskText:not([font-size]){font-size:11px}#mermaid-svg-hkmjkl7WbFqouoEN .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hkmjkl7WbFqouoEN .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-hkmjkl7WbFqouoEN .task.clickable{cursor:pointer}#mermaid-svg-hkmjkl7WbFqouoEN .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-hkmjkl7WbFqouoEN .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-hkmjkl7WbFqouoEN .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-hkmjkl7WbFqouoEN .taskText0,#mermaid-svg-hkmjkl7WbFqouoEN .taskText1,#mermaid-svg-hkmjkl7WbFqouoEN .taskText2,#mermaid-svg-hkmjkl7WbFqouoEN .taskText3{fill:#fff}#mermaid-svg-hkmjkl7WbFqouoEN .task0,#mermaid-svg-hkmjkl7WbFqouoEN .task1,#mermaid-svg-hkmjkl7WbFqouoEN .task2,#mermaid-svg-hkmjkl7WbFqouoEN .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-hkmjkl7WbFqouoEN .taskTextOutside0,#mermaid-svg-hkmjkl7WbFqouoEN .taskTextOutside2{fill:#000}#mermaid-svg-hkmjkl7WbFqouoEN .taskTextOutside1,#mermaid-svg-hkmjkl7WbFqouoEN .taskTextOutside3{fill:#000}#mermaid-svg-hkmjkl7WbFqouoEN .active0,#mermaid-svg-hkmjkl7WbFqouoEN .active1,#mermaid-svg-hkmjkl7WbFqouoEN .active2,#mermaid-svg-hkmjkl7WbFqouoEN .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-hkmjkl7WbFqouoEN .activeText0,#mermaid-svg-hkmjkl7WbFqouoEN .activeText1,#mermaid-svg-hkmjkl7WbFqouoEN .activeText2,#mermaid-svg-hkmjkl7WbFqouoEN .activeText3{fill:#000 !important}#mermaid-svg-hkmjkl7WbFqouoEN .done0,#mermaid-svg-hkmjkl7WbFqouoEN .done1,#mermaid-svg-hkmjkl7WbFqouoEN .done2,#mermaid-svg-hkmjkl7WbFqouoEN .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-hkmjkl7WbFqouoEN .doneText0,#mermaid-svg-hkmjkl7WbFqouoEN .doneText1,#mermaid-svg-hkmjkl7WbFqouoEN .doneText2,#mermaid-svg-hkmjkl7WbFqouoEN .doneText3{fill:#000 !important}#mermaid-svg-hkmjkl7WbFqouoEN .crit0,#mermaid-svg-hkmjkl7WbFqouoEN .crit1,#mermaid-svg-hkmjkl7WbFqouoEN .crit2,#mermaid-svg-hkmjkl7WbFqouoEN .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-hkmjkl7WbFqouoEN .activeCrit0,#mermaid-svg-hkmjkl7WbFqouoEN .activeCrit1,#mermaid-svg-hkmjkl7WbFqouoEN .activeCrit2,#mermaid-svg-hkmjkl7WbFqouoEN .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-hkmjkl7WbFqouoEN .doneCrit0,#mermaid-svg-hkmjkl7WbFqouoEN .doneCrit1,#mermaid-svg-hkmjkl7WbFqouoEN .doneCrit2,#mermaid-svg-hkmjkl7WbFqouoEN .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-hkmjkl7WbFqouoEN .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-hkmjkl7WbFqouoEN .milestoneText{font-style:italic}#mermaid-svg-hkmjkl7WbFqouoEN .doneCritText0,#mermaid-svg-hkmjkl7WbFqouoEN .doneCritText1,#mermaid-svg-hkmjkl7WbFqouoEN .doneCritText2,#mermaid-svg-hkmjkl7WbFqouoEN .doneCritText3{fill:#000 !important}#mermaid-svg-hkmjkl7WbFqouoEN .activeCritText0,#mermaid-svg-hkmjkl7WbFqouoEN .activeCritText1,#mermaid-svg-hkmjkl7WbFqouoEN .activeCritText2,#mermaid-svg-hkmjkl7WbFqouoEN .activeCritText3{fill:#000 !important}#mermaid-svg-hkmjkl7WbFqouoEN .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hkmjkl7WbFqouoEN g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-hkmjkl7WbFqouoEN g.classGroup text .title{font-weight:bolder}#mermaid-svg-hkmjkl7WbFqouoEN g.clickable{cursor:pointer}#mermaid-svg-hkmjkl7WbFqouoEN g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-hkmjkl7WbFqouoEN g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-hkmjkl7WbFqouoEN .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-hkmjkl7WbFqouoEN .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-hkmjkl7WbFqouoEN .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-hkmjkl7WbFqouoEN .dashed-line{stroke-dasharray:3}#mermaid-svg-hkmjkl7WbFqouoEN #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hkmjkl7WbFqouoEN #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hkmjkl7WbFqouoEN #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-hkmjkl7WbFqouoEN #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-hkmjkl7WbFqouoEN #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hkmjkl7WbFqouoEN #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hkmjkl7WbFqouoEN #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hkmjkl7WbFqouoEN #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-hkmjkl7WbFqouoEN .commit-id,#mermaid-svg-hkmjkl7WbFqouoEN .commit-msg,#mermaid-svg-hkmjkl7WbFqouoEN .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hkmjkl7WbFqouoEN .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hkmjkl7WbFqouoEN .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hkmjkl7WbFqouoEN g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hkmjkl7WbFqouoEN g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-hkmjkl7WbFqouoEN g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-hkmjkl7WbFqouoEN g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-hkmjkl7WbFqouoEN g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-hkmjkl7WbFqouoEN g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-hkmjkl7WbFqouoEN .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-hkmjkl7WbFqouoEN .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-hkmjkl7WbFqouoEN .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-hkmjkl7WbFqouoEN .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-hkmjkl7WbFqouoEN .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-hkmjkl7WbFqouoEN .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-hkmjkl7WbFqouoEN .edgeLabel text{fill:#333}#mermaid-svg-hkmjkl7WbFqouoEN .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-hkmjkl7WbFqouoEN .node circle.state-start{fill:black;stroke:black}#mermaid-svg-hkmjkl7WbFqouoEN .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-hkmjkl7WbFqouoEN #statediagram-barbEnd{fill:#9370db}#mermaid-svg-hkmjkl7WbFqouoEN .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-hkmjkl7WbFqouoEN .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-hkmjkl7WbFqouoEN .statediagram-state .divider{stroke:#9370db}#mermaid-svg-hkmjkl7WbFqouoEN .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-hkmjkl7WbFqouoEN .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-hkmjkl7WbFqouoEN .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-hkmjkl7WbFqouoEN .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-hkmjkl7WbFqouoEN .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-hkmjkl7WbFqouoEN .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-hkmjkl7WbFqouoEN .note-edge{stroke-dasharray:5}#mermaid-svg-hkmjkl7WbFqouoEN .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-hkmjkl7WbFqouoEN .error-icon{fill:#522}#mermaid-svg-hkmjkl7WbFqouoEN .error-text{fill:#522;stroke:#522}#mermaid-svg-hkmjkl7WbFqouoEN .edge-thickness-normal{stroke-width:2px}#mermaid-svg-hkmjkl7WbFqouoEN .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-hkmjkl7WbFqouoEN .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-hkmjkl7WbFqouoEN .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-hkmjkl7WbFqouoEN .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-hkmjkl7WbFqouoEN .marker{fill:#333}#mermaid-svg-hkmjkl7WbFqouoEN .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-hkmjkl7WbFqouoEN {color: rgba(0, 0, 0, 0.75);font: ;}
byte
short
int
long
float
double
char
其中强制类型转换表示从大类型到小类型的转换:
目标类型 变量名 = (目标类型)源类型变量名
#Java语言的运算符
运算符
算术运算符
+ - * / %
字符串连接运算符
+ 可以实现字符串的连接,同时也可以字符串与其他数据类型“连接”
关系/比较运算符
> >= < <= == !=
所有以关系运算符为最终运算的表达式结果一定是boolean类型
自增减运算符
++ 表示自增运算符,用于使得当前变量自身的数值加1的效果
– 表示自减运算符,用于使得当前变量自身的数值减1的效果
只能用于变量 常熟不可以
前++是先使用再加,后++是先加在使用
public static void main(String[] args){int a = 10;System.out.println("a++是: " + a++); //10System.out.println("a是: " + a); //11System.out.println("a++是: " + ++a); //12System.out.println("a++是: " + a); //12
}
逻辑运算符
&& 表示逻辑与运算符,相当于"并且",同真为真,一假为假
|| 表示逻辑或运算符,相当于"或者",一真为真,同假为假
! 表示逻辑非运算符,相当于"取反",真为假,假为真
逻辑运算符的操作数均为boolean表达式
逻辑运算符短路特性
对于逻辑与运算符来说,若第一个表达式为假则结果为假,此时跳过第二个表达式;
对于逻辑或运算符来说,若第一个表达式为真则结果为真,此时跳过第二个表达式;
三目运算符
条件表达式?表达式1: 表达式2
判断条件表达式是否成立,若成立则执行表达式1,否则执行表达式2
赋值运算符
= 表示赋值运算符,用于将=右边的数据赋值给=左边的变量,覆盖变量
原来的数值
赋值表达式本身也有值,其本身之值即为所赋之值
+= -= /= *=
移位运算符
<< 赋值表达式本身也有值,其本身之值即为所赋之值>> 右移运算符,用于将数据的二进制位向右移动,左边使用符号位补充>>> 表示逻辑右移运算符,用于将数据的二进制位向右移动,左边使用0补充。
位运算符
& 表示按位与运算符,按照二进制位进行与运算,同1为1,一0为0
| 表示按位或运算符,按照二进制位进行或运算,一1为1,同0为0.
~ 表示按位取反运算符,按照二进制位进行取反,1为0,0为1
^ 表示按位异或运算符,按照二进制位进行异或运算,同为0,不同为1
运算符优先级
()的优先级极高。
=的优先级最低
若无法确认优先级,则使用()来确保即可
流程控制语句
分支结构
当需要进行条件判断并做出选择时,使用分支结构
if分支结构
if(条件表达式){语句块;
}
if else 分支结构
if(条件表达式){语句块1;
} else {语句块2;
}
if else if else分支结构
if(条件表达式1) {语句块1;
} else if(条件表达式2) {语句块2;
} else {
语句块3;
}
switch case分支结构
switch(变量/表达式){case 字面值1:语句块1; break;case 字面值2:语句块2; break;...default:语句块n;
}
switch()中支持的数据类型有:byte、short、char以及int类型,从jdk1.5
开始支持枚举类型,从jdk1.7开始支持String类型
case穿透性
如果case 后面没有break,程序会向下一直穿透
循环结构
在Java程序中若希望重复执行一段代码时,就需要使用循环结构
任何复杂的程序逻辑都可以通过顺序、分支、循环三种程序结构实现
for循环
for(初始化表达式; 条件表达式; 修改初始值表达式){循环体;
}
for(;;) - 这种没有循环条件的循环叫做 无限循环,俗称“死循环”
continue关键字
continue语句用在循环体中,用于结束本次循环而开始下一次循环
break关键子
break用于退出当前语句块,break用在循环体中用于退出循环
** 双重for循环**
for(初始化表达式1; 条件表达式2; 修改初始值表达式3) {for(初始化表达式4; 条件表达式5; 修改初始值表达式6) {循环体;}
}
外层循环用于控制打印的行数,内层循环用于控制打印的列数,外层循环改一下,内层循环从头到尾跑一圈
在以后的开发中若需要打印多行多列时,需要使用双重循环
多重循环不宜嵌套太多层,否则效率很低。一般到三重循环即可,最常见的就是双重循环
break关键字跳出多层循环
在嵌套的循环结构中,break用于退出所在循环体
如果要退出外层循环体,需要使用标号的方式
outer: for(...){for(...){循环体;break outer;}
}
while循环
while(条件表达式){循环体;
}
while循环和for循环比较
while循环和for循环完全可以互换,当然推荐使用for循环
while循环更适合于明确循环条件但不明确循环次数的场合中
for循环更适合于明确循环次数或范围的场合中
while(true) 等价于 for(;;) 都表示无限循环
do while循环
do{
循环体;
} while (条件表达式);
do-while循环主要用于至少执行一次循环体的场合中
数组的概念及应用
一维数组
一维数组的基本概念
- 当需要在Java程序中记录单个数据内容时,则声明一个变量即可
- 当需要在Java程序中记录多个相同数据类型的数据内容时,则声明一个一维数组即可,一维数组本质上就是在内存中申请一段连续的存储单元
- 数组是相同数据类型的多个元素的容器,元素按照现行顺序排序,在Java语言中体现为一种引用类型
一维数组的声明方式
数组类型[] 数组名称 = new 数组类型[数组的长度];
获取数组的长度:
数组名称.length
可以通过下标的方式访问数组中的每一个元素。需要注意的是:数组的下标从0开始,对于长度为n的数组,下标的范围是0~n-1。
一维数组的初始化方式
基本类型的数组创建后,其元素的初始值:
byte short int long char 为0
floeat double 为0.0
boolean 为 false
可以在数组声明的同时进行初始化
数组类型[] 数组名称 = {初始值1, 初始值2,...};
内存之栈区和堆区
栈区用于存放程序运行过程当中所有的局部变量,一个运行的Java从开始到结束会有多次变量的声明
堆区JVM会在其内存空间中开辟一个称为‘堆’的内存空间,这部分空间用于存储使用new关键字创建的数组和对象
数组的优缺点
- 可以直接通过下标的方式访问指定位置的元素,速度快
- 数组要求所有元素类型相同
- 数组要求内存空间连续,且长度一旦生成就不能修改
- 增加和删除元素可能移动大量元素,效率低
数组工具
java.util.Arrays类可以实现对数组中元素的遍历、查找、排序等操作举例:
方法名称
|
作 用
|
static String toString(int[] a)
|
输出数组中的内容
|
static void fill(int[] a,int val)
|
将参数指定元素赋值给数组中所有元素
|
static boolean equals(int[] a, int[] b)
|
判断两个数组的元素内容和次序是否相同
|
static void sort(int[] a)
|
对数组中的元素从小到大排序
|
static int binarySearch(int[] a, int key
|
从数组中查找指定元素所在的位置
|
binarySearch 是用二分法查找,对有序数组进行查找
二维数组
二维数组本质上就是由多个一维数组摞在一起组成的数组,二维数组中的每个元素都是一维数组,而一维数组中的每个元素才是数据内容
初始化方式
数组类型[][] 数组名称 = new 数组类型[行数][列数]
数组类型[][] 数组名称 = {{元素1, 元素2, ...}, ...};
Java SE 基础一相关推荐
- java实现linkstring,【JAVA SE基础篇】32.String类入门
[JAVA SE基础篇]32.String类入门 1.字符串 1.String类又称作不可变字符序列 2.String位于java.lang包中,java程序默认导入java.lang包下所有的类 3 ...
- 面试必会系列 - 1.1 Java SE 基础
本文已收录至 github,完整图文:https://github.com/HanquanHq/MD-Notes Java SE 基础 面向对象 Java 按值调用还是引用调用? 按值调用指方法接收调 ...
- java 中间容器 表格_【JAVA SE基础篇】45.迭代器、Collections工具类以及使用容器存储表格...
本文将要为您介绍的是[JAVA SE基础篇]45.迭代器.Collections工具类以及使用容器存储表格,具体完成步骤: 1.迭代器 迭代器为我们提供了统一遍历容器(List/Map/Set)的方式 ...
- Java复习总结(二)Java SE基础知识
Java SE面试题 目录 Java SE基础 基本语法 数据类型 关键字 面向对象 集合 集合类概述 Collection接口 进阶 线程 锁 JDK 反射 JVM GC io操作和NIO,AIO ...
- Java SE基础(十六)集合
Java SE基础(十六)集合 集合 集合体系 数据结构简述 栈 队列 数组 链表 Collection集合 List集合 ArrayList集合 LinkedList集合 Set集合 HashSet ...
- Java SE 基础知识
Java SE 基础知识 1 2 @(Notes)[J2SE, Notes] VICTORY LOVES PREPARATION. 特别说明: 该文档在马克飞象查阅最佳: 本部分知识还在迭代中,欢迎补 ...
- Java SE基础(更新中)
Java的运行机制 Java SE基础(更新中) 基本语法 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的. 类名:对于所有的类来说,类名的首字母应该大写 ...
- Java SE 基础(十)Java中的异常
Java SE 基础(十)Java中的异常 什么是异常 异常的处理 异常类 throw和throws 自定义异常 什么是异常 Java 中处理错误的一种机制,Java 中的错误大致分为两类,一类是编译 ...
- Java SE基础(十四)常用API
Java SE基础(十四)常用API 概述 Object类 构造方法 成员方法 toString()方法 equals(Object obj)方法 Arrays排序 Arrays类概述 Arrays成 ...
- Java SE 基础知识体系梳理
## Java SE 基础知识体系梳理 ----------day01------------- (1)计算机的体系结构 (2)Java语言的概述 (3)开发环境的搭建和使用 1.计算机的体系结构(常 ...
最新文章
- 《人件集》阅读笔记第一篇
- Spring Cloud(十)高可用的分布式配置中心 Spring Cloud Config 中使用 Refresh
- BERT拿下最佳长论文奖!NAACL 2019最佳论文奖公布
- 字典删除多个键值对方法_Life is short,you need Python——Python序列(元组、字典、集合)...
- 对KVM虚拟机进行cpu pinning配置的方法
- linux清理备份日志,服务器日志清理备份
- mysql无法添加或更新子行_违反完整性约束:1452无法添加或更新子行:
- 昆仑通态触摸屏数据转发上传_嵌_ModbusTcpIp数据转发 昆仑通态屏与屏之间通讯 - 下载 - 搜珍网...
- 结束十年科学争论,张辰宇团队阐明食物miRNA被胃吸收的分子机制,miRNA跨界调控再添力证...
- PHP 删除文件,文件下的目录
- Foobar2000目前最强解码方案
- 厉害了,用Python实现自动扫雷
- React 引用 ant 组件 使用 react-custom-scrollbars美化(隐藏)滚动条
- 第 29 章 电阻触摸屏—触摸画板
- PLC控制系统接地要求
- 笔记本电脑亮度不能调节的一种解决方案
- AI挖掘优质淘宝买家秀 再也不用担心辣眼睛了
- NAT环境下,内网用户使用公网地址访问内网服务器
- 程序员工作压力大,为什么还这么多人想做程序员?是因为喜欢吗?
- 电信宽带连接不上无线可连接服务器,电信宽带wifi连不上网的解决方法
热门文章
- Matlab安装勾选产品说明
- 关于红黑二叉树的理解
- Java多线程(一)
- 图片怎么转换成gif?
- 如何利用多层循环找出对称的3位数数字?
- 后端: 互动直播之WebRTC服务开源技术选型
- 北师大网络教育计算机作业四,北师大计算机离线作业之网络设置作业
- webpack externals配置方式介绍
- OPPO图片缩放效果
- 加特兰 77GHz CMOS 毫米波雷达芯片从研发到量产的背后故事...