Marddown学习
标题:
二级标题
三级标题
四级标题
(几个#几级标题)(别忘记加空格)
字体
Hello,word!(两边都加两个*变粗体)
Hello,word!(两边都加一个*变斜体)
***Hello,word!**(两边都加三个变斜粗体)
~~Hello,word!~~(两边加两个波浪号变删除划掉)
引用
选择狂神说Java,走向人生巅峰
分割线
图片
超链接
列表
- A
- B
- C
- A
- B
- C
表格
名字 | 性别 | 生日 |
---|---|---|
张三 | 男 | 1997.1.1 |
代码
hello
public
打开CMD的方式
安卓:win键+R 输入cmd打开控制台
Mac:搜索终端
常用的DOS命令:
#切换盘符
#查看当前目录下的所有文件dir
#切换目录cd change directory
cd..(返回上一级)
#清理屏幕 cls (clear screen)
#退出终端 exit
#查看电脑的ip ipconfig (mac是ifconfig)
#打开应用
#ping 命令
ping www baidu.com
#文件操作
md 创建目录名
rd 移除目录名
cd> 创建文件名
del 删除文件名
第三代语言
高级语言
大体上分为:面向过程 面向对象 两大类
C语言是典型的面向过程的语言。C++、JAVA是典型的面向对象的语言
C语言
应用广泛 高级语言语言鼻祖
C++
JAVA
C+±-
用于服务器开发
JAVA帝国如何诞生
C语言在1972年诞生,贴近硬件,运行极快,效率极高。操作系统、编译器、数据库、网络系统等
指针和内存管理
C++在1982年诞生,面向对象,兼容C,图形领域,游戏等
Java面向对象,类型安全,没有内存管理,没有指针,真正的可移植性,编写一次
Java初生
1995年的网页简单粗糙,缺乏互动性
图形界面的程序(applet)
Java2标准版(J2SE) : 去占领桌面
Java2移动版(J2ME): 去占领手机
Java2企业版(J2EE): 去占领服务器
Java发展
构建工具:Ant, Maven, Jekins
应用服务器:Tomcat, Jetty, Jboss, Websphere, weblogic
web开发:struts, spring, Hibernate, myBatis
开发工具:Eclipse, Netbean, Intellij, idea, Jbuilder
2006: Hadoop(大数据领域)
2008: Android(手机端)
Java特性和优势
-
简单性
-
面向对象
-
可移植性
-
高性能
-
分布式
-
动态性
-
多线程
-
安全性
-
健壮性
java为什么成功?
Java三大版本
Write once、Run Anywhere. (JVM虚拟机)
JavaSE:标准版 (桌面程序,控制台开发…)
javaME:嵌入式开发(手机,小家电…)
javaEE:企业级开发(web端,服务器开发…)
JDK、JRE、JVM
JDK: java Development Kit (开发工具包)
JRE: java Runtime Environment (运行环境)
JVM: java Virtual Machine(虚拟机)
Java开发环境搭建
JDK下载与安装
配置环境变量
JDK目录介绍
HelloWorld及简单语法规则
Notepad++安装和使用
卸载JDK
1.删除Java的安装目录
2.删除Java_home
3.删除path下关于Java的目录
4.Java-version
安装JDK
1.百度搜索JDK8,找到下载地址
2.同意协议
3.下载电脑对应的版本
4.双击安装JDK
5.记住安装的路径
6.配置环境变量
1.我的电脑——右键——属性
2.环境变量——Java_home
3.配置path变量
7.测试JDK是否安装成功
1.打开cmd
2.Java -version
Helloworld
1.随便新建一个文件夹,存放代码
2.新建一个Java文件
* 文件后置名为.java
* Hello.java
* (注意点)系统可能没有显示文件后缀名,需要手动打开
3.编写代码
public class Hello{
public static void main(string[] args){
System.out.print("Hello,World");
}
}
4.编译Javac java文件,会生成一个class文件
5.运行class文件,Java class文件
可能会遇到的情况
1.每个单词的大小写不能出现问题,Java的大小写敏感
2.尽量使用英文;
3.文件名和类名必须保证一致
4.符号使用了中文
MAC基础配置学习
ls -al 打开路径下所有文件
open -e 打开并可以编辑
编译器根据语言选择,如果是C++语言,那么选择 clang++ 或者 g++,
如果是C语言,那么选择gcc 或者 clang
JAVA程序运行机制
-
编译型 compile
-
解释型
程序运行机制
IDEA安装
什么是 IDE Eclipse…
IDEA官网:https://www.jetbrains.com/
psvm (main方法的快捷键)
sout(system out快捷键)
JAVA基础语法
1.注释、标识符、关键字
2.数据类型
3.类型转换
4.变量、常量
5.运算符
6.包机制、JavaDoc
注释
当项目结构一旦复杂起来,需要用到注释
注释并不会执行,是给写代码的人看的
书写注释是一个非常好的习惯 BAT(百度阿里腾讯)
平时写代码一定注意规范
JAVA中的注释有三种:
- 单行注释 以 // 开头 (只能注释一行文字)
- 多行注释 以 /* 注释 */ 开头 (可以注释一段文字)
- 文档注释 以 /** */
标识符
关键字
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符
例如:string teacher=“秦疆”;
标识符注意点
- 所有表示符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合
- 不能使用关键字作为变量名或方法名
- 标识符是大小写敏感的
- 合法标识符举例:age、$salary、value、_1_value
- 非法标识符举例:123abc、- salary、#abc
- 可以使用中文命名,但是很low
数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
Java的数据类型分为两大类
- 基本类型(primitive type)
- 引用类型(reference type):类、接口、数组
什么是字节
- 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数
- 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
- 1B (byte,字节)= 8 bit (位)
- 字符:是指计算机中使用的字母、数字、字和符号
类型转换
- 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
低————————————高
Byte,short,char——int——long(64) ——float (32)——double 小数的优先级大于整数
-
运算中,不同类型的数据先转化为同一类型,然后进行运算
- 强制类型转换
- 自动类型转换
变量
- 变量是什么:就是可以变化的量
- Java是一种强类型语言,每个变量都必须声明其类型
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
- 注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量作用域
-
类变量
-
实例变量
-
局部变量
常量
-
常量(constant):初始化(initialize)后不能再改变值!不会变动的值
-
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
final 常量名=值
final double PI=3.14
-
常量名一般使用大写字符
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词外,后面的单词首字母大写 lastNme
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man. GoodMan
- 方法名:首字母小写和驼峰原则:run(). runRun()
运算符(operator)
- Java语言支持如下运算符: 优先级()
- 算术运算符:+、-、*、/、%(模运算)、++、–
- 赋值运算符:= (int a = 10(把10赋值给a))
- 关系运算符:>.<.>=.<=.==.!=instanceof
- 逻辑运算符:&&, ||, ! (与 或 非)
- 位运算符:&, |, ^, ~, >>, <<, >>> (了解!!!)
- 条件运算符 ? :
- 扩展赋值运算符:+=, -=, *= , /=
a++和++a的区别
与 或 非
位运算
字符串连接符
条件运算符
包机制
- 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
- 包语句的语法格式为:
Pacage pkg1[.pkg2[.pkg3…]];
- 一般利用公司域名倒置作为包名; www.baidu.com. com.bidu.www
- 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可完成此功能
Import package1[.package2…].(classname|*);
javaDoc
- javaDoc命令是用来生成自己API文档的
- 参数信息
- @author作者名
- @version 版本号
- @since 知名需要最早使用的jdk版本
- @param 参数名
- @return返回值情况
- @throws异常抛出情况
java流程控制
1,用户交互Scanner
2,顺序结构
3,选择结构
4,循环结构
5,break & continue
6, 练习
Scanner对象
- 之前我们学的基本语法中我们并没有实习那程序和人的交互,但是Java给我们提供了这样的一个工具类,我们可以获取用户的输入。
Java.util.Scanner 是Java5的新特征,我们可以通过Scanner类来获取用户的输入
- 基本语法:
Scanner s = new Scanner(System.in);
- 通过Scanner类的next() 与nextLine()判断是否还有输入的数据。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2MzNNaTt-1629555554079)(/Users/dingxiuyue/Desktop/截屏2021-08-15 23.13.17.png)]
-
next():
- 1.一定要读取到有效字符后才可以结束输入。
- 2.对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
- 3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
-
- next()不能得到带有空格的字符串
-
nextLine():
- 1.以Enter为结束语,也就是说nextLine()方法返回的是输入回车之前的所有字符。
- 2.可以获得空白。
顺序结构
- Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
- 顺序结构是最简单的算法结构。
- 语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干个一次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本结构。
选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- 嵌套的if结构
- switch多选择结构
if单选择结构
- 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
- 语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
if双选择结构
- 那现在有个需求,公司要收购一个软件,成功了,给人们支付100万元,失败了,自己找人开发。这样的需求用一个if就搞不定了,我们需要有两个判断,需要一个双选择结构,所以就有了if- else结构。
- 语法
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
if多选择结构
-
发现刚才的代码不符合实际情况,真实的情况还可能存在ABCD,存在区间多级判断。比如90-100就是A,80-90就是B……等等,在生活中我们的选择也不仅仅只有两个,所以我们需要一个多选择结构来处理这类问题!
-
语法:
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
}else if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}else if(布尔表达式3){
//如果布尔表达式3的值为true执行代码
}else{
//如果以上布尔表达式都不为true执行代码
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SE6Ijf7l-1629555554081)(/Users/dingxiuyue/Desktop/MarkDown学习/HelloWorld/截屏2021-08-19 20.59.28.png)]
嵌套的if结构
- 使用嵌套的 if……else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。你可以像 if 语句一样嵌套 else if…else。
- 语法:
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}
}
- 思考,我们需要寻找一个数,在1-100之间
switch多选择结构
-
多选择结构还有一个实现方式就是switch case 语句。
-
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值成为一个分支。
-
switch 语句中的变量类型可以是:
- byte、short、int、或者 char。
- 从 Java SE 7 开始
- switch 支持字符串String类型了
- 同时case标签必须为字符串常量或字面量。
-
语法:
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//你可以有任意数量的case语句
default://可选
}
循环结构
-
while循环
-
do…while循环
-
for循环
-
在Java5中引入了一种主要用于数组的增强型循环
while循环
-
while循环是最基本的循环,他的基本结构为:
while(布尔表达式){
//循环内容
}
-
只要布尔表达式为true,循环就会一直执行下去。
-
我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。
-
少部分情况需要循环一直执行,比如服务器的请求响应监听等。
-
循环条件一直为true就会造成无限循环(死循环),我门正常的业务变成中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃!
-
思考:计算1+2+3+4+…+100=?
do…while循环
-
对于while语句而言,如果不满足条件,则不能进入循环。但有时我们需要即使不满足条件,也至少执行一次。
-
do…while循环和while循环相似,不同的是,do…while循环至少会执行一次。
do{
//代码语句
}while(布尔表达式);
-
While 和 do-while 的区别;
- while先判断后执行。do-while是先执行后判断!
- do-while总是保证循环体会被至少执行一次!这是他们的主要差别。
For循环
- 虽然所有循环结构都可以用while 或者 do…while 表示,但Java提供了另一种语句——for 循环,使一些循环结构变得更加简单。
- for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
- for循环执行的次数是在执行前就确定的。语法格式如下:
*for(初始化;布尔表达式;更新){
//代码语句
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SyEmtC1P-1629555554081)(/Users/dingxiuyue/Desktop/MarkDown学习/HelloWorld/截屏2021-08-20 20.50.45.png)]
- 练习1:计算0到100之间的奇数和偶数的和
- 练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
- 练习3:打印九九乘法表
增强for循环
- 这里我们先只是见一面,做个了解,之后数组我们重点使用
- Java5引用了一种主要用于数组或集合的增强型for循环。
- Java增强for循环语法格式如下;
for(声明语句:表达式)
{
//代码句子
}
- 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
- 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
break continue
- break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中的剩余语句。(break语句也在switch语句中使用)
- continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
- 关于goto关键字
- goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子…带标签的brea和continue。
- “标签”是指后面跟一个冒号的标识符,例如:label:
- 对Java来说唯一用到标签的地方是在循环语句之前。而在循环语句之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,他们就会中断到存在标签的地方。