软帝Java培训班第一周周记

关于本周学习内容与心得体会

本人是一大四即将毕业的学生,正值人生迷茫之际不知何去何从。就在此时,我们学院恰巧迎来了软帝公司的学员招新,我也机缘巧合来到了软帝当起了学员。
软帝的老师不会区别对待任何来学习的学生,这是我的第一感受。因为他们都是从零基础(打字也教的那种)开始教起的,有些感动吧。

第一周

这是我们开课的第一周,老师首先并没有一开始就教我们关于编程之类的知识,而是教我们使用Markdown这款软件,虽然他没有明确说出来做笔记有多重要,可是从他的认真程度看来,笔记真的很重要,以下分享一些关于我学到的Markdown的知识。

MD语法

	1.所有的标记后边必须加'空格'.

标题

		1.使用#标识标题
		2.标题一共分为6级标题,分别使用# ## ###……######来为标题分级

文本

1.斜体:*斜体*
	1.1.或选中后->shift+i
2.粗体:**粗体**
	2.1.或选中后->shift+b
3.粗体+斜体:***粗体+斜体***
4.删除线:~~删除线~~
5.下划线:<u> 下划线 </u>

链表

有序链表:
1.格式:1.空格(内容)
2.使用tab进行下一级
3.使用shift+tab回到上一级
** 无序列表:**
1.格式:-空格(内容)
2.使用tab进行下一级
3.使用sihft+tab回到上一级
4.可以混合使用

区域

1.格式:>进行区域的划分,每一级区域加一个>:> >> >>>
一级区域:>
二级区域:>>
三级区域:>>>

代码

1.在笔记中定义一段代码:代码
1.这个System.out.println("Hellow World!");是一个输出语句。
2.代码块:代码块
public void main(String[] args){ System.out.println("Hellow World!"); }

链接地址

1.语法:链接名称
例如:百度

引用图片

1.语法:图片名称

流程图

flow
st=>start: 程序开始执行
op=>operation: 操作框
io=>inputoutput: 输入a=1,b=2
con=>condition: a>b
r1=>subroutine: 条件成立
r2=>subroutine: 条件失败
en=>end: 程序结束运行
st(right)->op(right)->io->con
con(yes)->r1->en
con(no)->r2->en

** 以上是老师交给我们的部分Markdown这个软件的用法**(注:本人愚钝,如果没学好,绝对不是老师的问题- -)

## Java第一天
#### 编程语言
编程语言是用于和计算机进行沟通的一个工具。让计算机能够帮助我们解决实际生活中的问题。
#### 编程语言的分类
** 机器语言 **
	--汇编语言:计算机能够直接识别的代码指令,使用起来非常的麻烦,计算机能够直接执行。
**高级语言**
	-- 高级语言是人能够更好的学习和识别的语言。对程序员更加友好,学习成本很低。但是计算机无法识别和直接运行。
	-- 高级语言在执行之前必须通过`编译器`进行编译,把高级语言编译成机器语言,交给计算机进行运行。
	> 高级语言的分类:
		- 编译型语言:源代码要先进行编译,只有所有代码编译通过后生成一个二进制的可执行文件,交由计算机进行运行。例如:C、C++、C#等
		- 解释型语言:解释器从源代码的第一行开始解释(编译)运行,从上向下一次运行,直到出现错误或程序运行结束。例如:JavaScript
		- 编译解释型语言:Java编译器先把Java源文件(.java)编译成字节码文件(.class),再交给java虚拟机进行解释运行。Java使用Java虚拟机屏蔽了不同系统之间的差异,使得Java语言具有跨平台性。

如图:
```graph LR
A[Java源码]-->|编译| B[Java编译器]
B-->|生成| C[Java字节码]
C-->D[WinJava虚拟机]
C-->E[MacJava虚拟机]
C-->F[LiuxJava虚拟机]
D-->|运行| G[计算机]
E-->|运行| G
F-->|运行| G

**Java语言的四大特点**
	·跨平台性
	·面向对象
	·垃圾回收机制
	·多线程

## Java环境的安装
---------------------------
**JDK(Java Development Kit):**是Java语言的软件开发工具包(SDK)。主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个Java开发的核心,它包含了Java的运行环境(JVM+Java系统类库)和Java工具。
**Java(Java Virtual Machine):**Java虚拟机,简称JVM,是运行所有Java程序的假象计算机,是Java程序的运行环境,是Java最具吸引力的特性之一。我们编写的Java代码,都运行在JVM之上。

## Java分类
**JavaSE :** Java的基本版本,包含Java的基本语法,Java中的类库。可以做桌面APP开发(几乎没有使用)。

**JavaEE:**  企业级服务器框架,在JavaSE的版本上完成了扩展。使其更加是用于服务器的开发。淘宝天猫的后台,QQ微信的后台,银行的后台。
**JavaME:** Java精简版,在JavaSE的版本上进行精简,使其能够更好的适应嵌入式设备、机顶盒。(使用的比较少)

## 配置Java环境变量
** Path:** C:\Program File\Java\jdk1.8.0_201\bin
	-用于声明可执行文件的位置,配置之后可以在系统的任何位置进行调用。
**CLASS_PATH:** C:\Program Files\Java\jdk1.8.0_201\lib
	-Java程序引用class文件时,到哪里去查找。
	**JAVA_HOME:** 提供给第三方的应用软件使用。用于让其他软件直到Java的位置,方便使用。

## Hello World
```/*
	Java代码中的最小单位是:类
	一个Java文件中只能包含一个公共的类,并且公共类的名称必须和文件名相同
	*/
	public class Test{
		//代码块中的内容必须要拖进:tab
		//main:固定写法, 是程序的入口方法,程序开始执行的地方
		public static void main(String[] args){
			//输出语句,把方法中的参数(“Hello World!”)输出到控制台
			System.out.println("Hello World!");
}
}```
**javac:** 编译指令,把Java源码编译成class文件:javac Test.java
**java:** 解释执行指令,用于执行编译后的class文件:java Test   	

## Java基础
### 变量
		程序中的变量相当于一个容器。变量就是用于存储程序执行期间所以来的数据。因为在程序执行期间存在不同数据类型,所以就需要不同的容器进行存储。
**定义语法:**
			1.数据类型 变量名;
			2.数据类型 变量名 = 数据;
			3.变量应该先定义后使用;
			4.局部变量使用前必须要先进行初始化。

### 数据类型
**基本数据类型**
		1.数值
			1.1.整型:用于保存整数,不带小数点的数,使用的补码的形式(二进制)进行保存。
				- - byte:1个字节: -128~127
  - short:2个字节:-32768~32767
  - int:4个字节:-2^31~2^31-1
  - long:8个字节:-2^63~2^63-1
  - 除非是特大类型,否则建议使用int。Java中的整数常量默认为int类型,所以Java会把比int类型小的整形转为int进行运算。
- 补码:
  - 正数直接保存其二进制的值
  - 负值把其二进制的值进行`取反+1`后再保存,`取反+1`运算后得到的就是补码
- 浮点数:用于保存小数值。使用科学计数法保存。
  - float:4个字节:1.4013E-45~3.4028E+38
  - double:8个字节:4.9E-324~1.7977E+308
 
 Java中的默认类型
 |数据|   举例  |默认类型|
 |整数|1 22 45|  int         |
 |浮点型|22.2 | double|
 |字符型|'a'  'b'|char |
 |布尔型|true false| boolean|
 - 字符:char
  - 使用的是Unicode编码,所以可以保存任何字符。
  - 使用 ‘ ’ 定义一个字符,字符要使用 ‘’ 进行包裹。
  - 字符实际保存的是字符的编码,字符编码是连续的(数字和字母)
  - 字符占2byte 
- 布尔:Boolean
  - true:真
  - false:假
  **引用数据类型**

- String
- 数组
- 类

#### 类型转换

在开发过程中,我们经常需要把不同数据类型之间的数据进行转换:

- 大类型转小类型时,发生强制类型转换:小类型 变量名 = (小类型) 大类型数据;
- 小类型转大类型时,发生自动类型转换(隐式转化)。
- 浮点数转整数时,可能发生精度丢失,所以也要发生强制类型转换。
- 整数转浮点数时,因为保存方式不同,浮点数的范围远远大于整数,所以不会发生错误,可以直接转换。发生自动类型转换(隐式转化)

```mermaid
graph LR
A[type]-->|自动| B[short/char]
B-->|自动| C[int]
C-->|自动| D[long]
D-->|自动| E[float]
E-->|自动| F[double]

标识符

标识符包含类名、方法名、变量名。

标识符的要求

  • 标识符必须由 数字、字母、_、$ 构成。
  • 标识符不能以数字开头。
  • 标识符严格区分大小写,a1, A1是不同的,是两个变量。
  • 标识不能是关键字。
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N8WUgjmI-1606047931196)(C:/Users/Administrator/Desktop/20201122/%E7%AC%94%E8%AE%B0/1.png)]
  • 标识符要做到见名知意。标识符要具有语义化。
  • 我们在定义名称的时候请使用英语,不要使用拼音!!!
  • 因为定义标识符的过程中需要具有语义化,所以可能用到多个单词:String username;
    • 类名(接口):大驼峰命名规则:定义类名/接口名时从第一个单词开始首字母大写:UserName
    • 方法名、变量名:小驼峰命名规则:定义变量名/方法名从第二个单词开始首字母大写:userName

运算符

  1. 分割符:, ; {}
  2. 赋值运算符: =
  3. 算术运算符: +,―,*,/,%,++,― ―
  4. 关系运算符: >,<,>=,<=,==,!=
  5. 布尔逻辑运算符: !,& , | , ^ , &&,||
  6. 位运算符: &,|,,~ , >>,<<,>>>
  7. 扩展赋值运算符:+=,―=,*=,/=, %=
  8. 字符串连接运算符: +
  9. 造型操作符:()
  10. 三目运算: ?:

表达式

多个运算数参与运算就组成了一个表达式: b + c

  • 在参与运算的过程中,存在不同的数据类型,最终的结果类型为其参与运算中最大的那个数据类型。
  • 在表达式中使用整型时,Java会把小于int类型的数据转为int类型后再参与运算。( + - * /)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值