【详细+超基础】Java-学习笔记

Java学习笔记系列——孙不坚1208
【详细+超基础】Java-学习笔记
【详细+超基础】Java-学习笔记 01
【详细+超基础】Java-学习笔记 02
【详细+超基础】Java-学习笔记 03
【详细+超基础】Java-学习笔记 04
【详细+超基础】Java-学习笔记 05
【详细+超基础】Java-学习笔记 06
【详细+超基础】Java-学习笔记 07
【详细+超基础】Java-学习笔记 08
【详细+超基础】Java-学习笔记 09
【详细+超基础】Java-学习笔记 10
Java学习笔记系列持续更新中…

计算机基础

冯诺依曼结构

数学家 冯·诺依曼 提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器控制器存储器输入设备输出设备),这套理论被称为冯·诺依曼体系结构。

冯·诺依曼结构示意图

附:三分钟带你了解冯.诺依曼结构

Typora及Markdown语法

Markdown常用语法

代码块生成
// 对于代码块,使用“```+编程语言”即可生成书写对应代码块的区域
// JS代码块
```javascript 
// Java代码块
```java
……
标题
// 采用“#+空格+标题的形式定义6个标题”
# 一级标题
## 二级标题    
### 三级标题    
#### 四级标题    
##### 五级标题    
###### 六级标题    

快捷键:Ctrl + 1/2/3/4/5/6

加粗
**明天也要加油鸭**

明天也要加油鸭

快捷键:选中文本 Ctrl + B

代码高亮显示
`高亮显示的代码(一般高亮显示代码)`
高亮显示的代码(一般高亮显示代码)

快键键:选中文本Ctrl + Shift + ~

删除线
~~被删除的文本~~

被删除的文本

快键键:选中文本Shift + Alt + 5

下划线
<u>该文本拥有下划线</u>

该文本拥有下划线

快捷键:选中文本Ctrl + U

斜体
*斜体文本*

斜体文本

快捷键:选中文本Ctrl + I

引用
// 有几个“>”就有几层引用
> 作者: 孙不坚1208
>> 邮箱: 2216479540@qq.com

作者:孙不坚1208

邮箱: 2216479540@qq.com

分割线
可以使用以下两种方式
---
***
123


超链接
[urlName](url)

百度一下,你就知道

图片
远程图片 | 本地图片
引用形式: ![imgName](imgUrl)

百度logo

快捷方式:粘贴复制图片即可

无序列表
- 这是一个无序列表

  • 这是一个无序列表
有序列表
1.这是一个有序列表
  1. 这是一个有序列表

Typora快捷键

  • 有序列表:输入数字+“.”之后输入空格
  • 任务列表:-[空格]空格 文字
  • 标题:ctrl+数字
  • 表格:ctrl+t
  • 生成目录:[TOC]按回车
  • 选中一整行:ctrl+l
  • 选中单词:ctrl+d
  • 选中相同格式的文字:ctrl+e
  • 跳转到文章开头:ctrl+home
  • 跳转到文章结尾:ctrl+end
  • 搜索:ctrl+f
  • 替换:ctrl+h
  • 引用:输入>之后输入空格
  • 代码块:ctrl+alt+f
  • 加粗:ctrl+b
  • 倾斜:ctrl+i
  • 下划线:ctrl+u
  • 删除线:alt+shift+5
  • 插入图片:直接拖动到指定位置即可或者ctrl+shift+i
  • 插入链接:ctrl+k
  • 查看隐藏左侧结构图:ctrl + shift + 1
  • 从代码块跳到文本区域:ctrl + enter
  • 查看文档代码:ctrl + /
  • 快速添加表格:ctrl + T

常用快捷键及常用Dos命令

**正斜杠/和反斜杠\ **

Win+E 快速打开 我的电脑

Ctrl +Shift+Esc 快速打开任务管理器

打开cmd的方式:

  1. 开始+系统+命令提示符

  2. win键+R 输入cmd打开控制台(推荐使用)

  3. 在任意的文件夹下面,按住shift键+鼠标右键点击:在此处打开命令行窗口

  4. 在资源管理器的地址栏前面加上cmd路径

    (管理员方式运行:在开始搜索cmd,然后点鼠标右键,选择以管理员的身份运行)

常用的Dos命令

#盘符切换:C: D: E:
#查看当前目录下的所有文件 dir
#切换目录: cd (change directory):
1、跨盘符切换:cd + /d + 文件名;
2、同级目录切换:
(1)先返回上一级目录:cd …
(2)再进入想进入的目录 cd + 文件名
#清理屏幕:cls(clear screen)
#退出终端:exit
#查看电脑的ip:ipconfig
#很常用的windows程序:计算器(calc),记事本(notepad),画图工具(mspaint)
#ping命令:测试网络是否正常
#创建文件夹:md + 文件夹名
#删除文件夹:rd + 文件夹名
#创建文件:cd>文件名.扩展名
#删除文件:del + 文件名

JAVA

java帝国来历

JAVA三大版本以及 JDK JRE JVM

  • JavaSE:标准版(桌面程序、控制台…)
  • JavaME:嵌入式开发(小设备、手机、小家电…)基本被淘汰
  • JavaEE:企业级开发(web端、服务器开发…)

JDK:Java Development Kit

含义:Java开发工具包

在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre.

JRE:Java runtime environment

含义:Java运行环境

JRE包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器).

JVM:Java Virtual Machine

含义:Java虚拟机

JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

三者关系

JDK、JRE、JVM有什么区别?有什么关系?

简单来讲

在这里插入图片描述
在这里插入图片描述

JDK 、JRE 与JVM之间的关系及区别

JDK、JRE和JVM三者之间的关系

开发环境及测试

jdk-8u271-windows-x64

环境变量

1.配置环境变量JAVA_HOME
变量值为所安装jdk的路径
C:\ProgramFiles\Java\jdk1.8.0_201
2.配置环境变量path
变量值为所安装jdk的bin的路径
C:\ProgramFiles\Java\jdk1.8.0_201\bin

用dos命令实现编译运行一个hello类

在D:\code 下写一个hello类

public class hello {
    public static void main(String[] args) {
        System.out.println("hello word");
    }
}

用dos命令

D:\code>javac hello.java 编译程序

D:\code>java hello 运行程序

开发工具

IDEA eclipse

关于在IDEA中编写Java的一些快捷键

IDEA常用快捷键

快捷键作用
Ctrl+Y删除光标所在行
Ctrl+D复制光标所在行并插入到光标下一行
Ctrl+X删除行
Ctrl+Alt+L格式化代码
Ctrl+/注释单行代码或取消单行注释
Ctrl+Shift+/注释多行代码或取消注释多行代码
Alt+Shift+上下箭头移动当前代码行
Shift + F6同时更改同名变量
Ctrl + 上下键上下移动代码,光标位置不变
Ctrl+Up/Down光标跳转到当前所显示代码的第一行或最后一行
Alt + 上下键在方法间快速移动
Ctrl+W选中代码,连续按会有其他效果
双击Shift在项目的所有目录查找文件或代码
快捷键作用
输入 psvm + 回车main+回车生成main方法
输入 sout + 回车生成 System.out.println();
输入fori + Tab生成 for (int i = 0; i < ; i++) { }
输入 正整数.foriint变量名.fori 再回车生成 for (int i = 0; i < 正整数; i++) { }for (int i = 0; i < int变量名; i++) { }
Ctrl+Alt+O优化导入的类和包
Alt+Enter导入包或自动纠错
Alt+Insert自动生成代码(Getter、Setter和toString方法)
Alt+/代码提示

注释

// 	单行注释

/* 
	多行注释
*/

文档注释:以 /** 开始,以 */结束
/**
	文档注释
*/
    

Java基础

一、标识符

(一)标识符

标识符必须以字母、下划线、美元符号$开头。
标识符其他部分可以是字母、下划线美元符和数字任意组成
Java标识符大小写敏感,且长度无限制
标识符不可以是Java的关键字

(二)标识符使用给范

表示类名的标识符:每个单词的首字母大写。
表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写。
如:eat()eatFood()

(三)Java中的关键字

53个关键字

在这里插入图片描述

二、变量

(一)变量的本质

变量作为程序中最基本的存储单元,要素包括:变量类型,变量名,作用域

1. 局部变量

方法或语句内部定义的变量,必须先声明后赋值。

2. 成员变量

方法外部、类的内部定义的变量,成员变量会自动初始化

3.静态变量

使用static定义,从属于类

变量和常量命名规范

  1. 所有变量、方法、类名:见名知意
  2. 类成员变量:首字母小写驼峰原则:monthSalary
  3. 局部变量:首字母大写驼峰原则
  4. 常量:大写字母下划线:MAX_VALUE
  5. 类名:首字母大写驼峰原则
  6. 方法名:首字母小写驼峰原则:run(),runRun()

三、基本数据类型

(一)基本数据类型

在这里插入图片描述

byte:1个字节 short:2个字节 int:4个字节 long:8个字节
float:4个字节 double:8个字节
char:2个字节 boolean:1位
引用数据类型:4个字节,用来代表对象的地址

1. 整型变量/常量

在这里插入图片描述

十进制整数,如:99,-500,0
八进制整数,要求以0开头,如:015
十六进制数,要求 0x 或 0X 开头,如:0x15
二进制数,要求 0b 或 0B开头 如:0b01110011

2. 浮点类型

在这里插入图片描述

十进制数形式,如:3.14 314.0 0.314
科学计数法形式,如314e2 314E2 314E-2
(e2 = 10^2 E-2 = 10^(-2))

**注意:**浮点型变量不精确不能用于比较,如果要用于比较需要用到java.math包下的连个有用的类BigInteger和BigDecimal

3. 字符型变量/常量

在内存中占2个字节,用Unicode编码表
Unicode具有从0到65535之间的编码,他们通常从’\u000’ 到 ‘\uFFF’ 之间的十六进制值来表示(前缀u表示Unicode)

转义字符

转义字符
转义符含义Unicode****值
\b退格(backspace)\u0008
\n换行\u000a
\r回车\u000d
\t制表符(tab)\u0009
\”双引号\u0022
\’单引号\u0027
\\反斜杠\u005c

4. boolean类型变量/常量

在内存中占一位(不是一个字节)不可以使用0或非0的整数来代替true和false,这点和C语言不同。boolean类型用来判断逻辑条件,一般用于程序流程控制

四、运算符

在这里插入图片描述

二元运算符的运算规则

整数运算:

  1. 如果两个操作数有一个为Long,则结果也为Long
  2. 没有Long时,结果为int。即使操作数全为short,byte,结果也是int

浮点运算:

  1. 如果两个操作有一个为double,结果为double。
  2. 只有两个操作数都是float,则结果才为float。

字符串连接符

在这里插入图片描述

运算符优先级

在这里插入图片描述

逻辑与、逻辑或、逻辑非的优先级一定要熟悉!(逻辑非>逻辑与>逻辑或)。

如:a||b&&c的运算结果是:a||(b&&c),而不是(a||b)&&c

条件运算符

X ? Y : Z

五、自动类型转换

自动转换按从低级到高级顺序:

在这里插入图片描述

自动转换有以下规律:

  • 小的类型自动转化为大的类型

  • 整数类型可以自动转化为浮点类型,可能会产生舍入误差

byte A = 70;

int B = A ;
//即B为int类型的70。

六、强制类型转换

(type) 变量

强制转换类型,在要强制转换类型的前面加上括号,然后再括号里面加上你要转换的类型。

例如:

int A= (int) 11.7;

int B = (int) -21.6;
/*
结果:
A=11 B=-21
*/

七、流程控制语句

(一)选择语句

1. if 单选择结构

if(布尔表达式){
    语句块...
}

2. if - else 双选择结构

if(布尔表达式){
	语句块...
} else {
	语句块...
}

3. if - else if - else 多选择结构

if(布尔表达式){
	语句块...
} else if(){
	语句块...
} else {
	语句块...
}

4. switch结构

switch(表达式){
    case1:
        语句序列1;
        [break];
    case2:
        语句序列2;
        [break];
    [default:
        语句序列3;]
}

(二)循环结构

  • while循环
while(布尔表达式){
    循环体;
}
  • do - while 循环
do{
    循环体;
} while(布尔表达式);
  • for 循环
for(初始语句;布尔表达式;语句2){
    循环体;
}
  • 增强for循环
for(A:B){
    循环体;
}

break、continue 语句

break
break关键字常见用法:循环中一旦执行break语句,则与break一起的当前循环立刻结束。打断循环。

public class CountinueDemo {
 
	public static void main(String[] args) {
		//寻找0-10不能被3整除的数
		for(int i=0;i<=10;i++)
		{
			if(i%3==0)
			{
				continue;
			}
			System.out.println(i);
		}
	}
    /*结果如下
    4
    5
    7
    8
    9 
    */

continue
continue和break不一样,continue是跳过该层循环下的剩余内 容,继续下一次循环。

	public static void main(String[] args) {
		for(int i=0;i<=10;i++)
		{
			if(i%3==0)
			{
				break;
			}
			System.out.println(i);
		}
	}
 
}
/*结果如下

*/
已标记关键词 清除标记
相关推荐
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除,从账户中取出amt,如果amt>账户余额抛出异常,一个实体Bean可以表示不同的数据实例,我们应该通过主键来判断删除哪个数据实例…… ejbCreate函数用于初始化一个EJB实例 5个目标文件,演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口函数得到远程接口的引用,用远程接口的引用访问EJB。 EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,但是它的主要作用是供程序使用的。本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天通信演示代码 2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密   Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。   设定字符串为“张三,你好,我是李四”   产生张三的密钥对(keyPairZhang)   张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节   通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 同上 java聊天室 2个目标文件,简单。 java模拟掷骰子2个 1个目标文件,输出演示。 java凭图游戏 一个目标文件,简单。 java求一个整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥   Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从文件中得到公钥编码的字节数组、如何从字节数组解码公钥。 Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输   Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页