一、计算机基础
计算机---"电脑"
1.应用领域:
人工智能 、科学计算 、数据的处理( 使用java语言存储数据:变量,数组,,集合,IO流,并且使用它取出数据,针对不同的 存储数据,针对不同的 方法进行获取 )多媒体应用、 计算机网络、 计算机辅助设计
2.计算机的组成:
2.1硬件和软件组成
硬件:机械和光电元件的物理装置的总称 组成:CPU.....
2.2.1软件结构的划分
1)c/s结构:client-Server :客户端和服务器端的交互
2)b/s结构:Browser -Server:浏览器端和服务器端的交互 javaEE-->b/s结构 web技术以及后端javaEE核心技术
2.2软件的划分
系统软件/应用软件
2.3软件开发
软件:由特定的计算机的数据和指令的集合 软件的开发:借助于开发工具 完成功能模块的开发过程 使用notepad:windows自带记事本 使用notepad++/editplus:高级记事本 使用eclipse/idea(居多):
2.4自动化的开发工具
eclipse:半自动化 需要手动编写一些相关编码
idea:全自动化 前段的开发工具:
HbuilderX 专业工具 webstorm 数据库相关的开发工具 SQL Yog/nevercat(可以连接mysql/mangoDB/)
3.人机交互
人和计算机之间的一种交流沟通的语言:需要有特定的字符和指令
两种交互方式: 方式: 图形界面化的方式:任何指令
二、注释
a.单行注释//
b.多行注释 /* 文字 */
c.文档注释 /** 书写文档注释 */
三、关键字
1.什么是关键字?
被Java赋予特定含义的单词,称为“关键字”
关键字 | 含义 |
---|---|
abstract | 表明类或者成员方法具有抽象属性 |
assert | 用来进行程序调试 |
boolean | 基本数据类型之一,布尔类型 |
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表是其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支 |
do | 用在do-while循环结构中 |
double | 基本数据类型之一,双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口 |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变 |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
float | 基本数据类型之一,单精度浮点数类型 |
for | 一种循环结构的引导词 |
goto | 保留关键字,没有具体含义 |
if | 条件语句的引导词 |
implements | 表明一个类实现了给定的接口 |
import | 表明要访问指定的类或包 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 基本数据类型之一,整数类型 |
interface | 接口 |
long | 基本数据类型之一,长整数类型 |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new | 用来创建新实例对象 |
package | 包 |
private | 一种访问控制方式:私用模式 |
protected | 一种访问控制方式:保护模式 |
public | 一种访问控制方式:共用模式 |
return | 从成员方法中返回数据 |
short | 基本数据类型之一,短整数类型 |
static | 表明具有静态属性 |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 |
synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 |
void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
while | 用在循环结构中 |
2.注意事项
组成关键字的单词都是小写;goto和const:作为“保留字”使用
四、标识符
1.概念
标识符:给包,类,接口,方法,变量,常量等起名字的一个字符序列!
给类或者接口(面向对象中)起名字的字符序列: 遵循"大驼峰命名法" 单个单词:首字母大写,其余小写
多个单词:每个单词首字母都大写,其余小写
2.给常量命名的规则:
单个单词:字母全部大写
多个单词:(开发中:使用多个单词):单词字母大写,单词和单词之间下划线隔开
3.标识符的组成规则:
a. 26个英文大小写字母 b. 可以是数字 c. 可以有$ d.可以有下划线_
4.注意事项:
a. 类,方法,变量,接口,常量起名字,数字不能开头 b.定义标识符的时候,不能是Java关键字 c. Java严格区分大小写
5.举例
举例:TaoBao
应用:类名,函数名,属性,命名空间等
举例: taoBao
应用:变量名等
举例:TAO_BAO
应用:定义常量等
五、常量
1.常量概念:
在程序的执行过程中,其值不发生改变的量!
2.常量的分类:
(1).字面值常量 a.字符串常量:使用英文的双引号括起来的内容就是字符串常量
b.字符常量:使用单引号('':英文符号)括起来的单个内容
c.整数常量
d小.数常量
e.布尔常量: true /false
f.空常量:null
(2).自定义常量
面向对象中的final
3.进制
进制也属于常量的范畴
对于二进制:逢2进1, 由0,1组成
对于八进制:逢8进1,由0,1,2,3,4,5,6,7组成,
十进制:整数默认进制
对于十六进制:逢16进1,由0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f组成
3.1十进制转二进制
3.2 十进制转八进制
3.3十进制转十六进制
4.源码、反码、补码:
源码:正数源码不变 ,负数在正数源码符号位相反数
反码:正数反码与源码相同,负数除符号位全部为源码相反数
补码;正数补码与源码相同,负数为反码最后一位加1;
举例:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
[-1]反 = 1111 1110
[-1]补 = 1111 1111
六、变量
1.概念
变量:在程序执行过程中,其值在不断的发生改变!
2.变量的三要素
数据类型 变量名 初始化值
3.格式
数据类型 变量名 = 初始化值
4.数据类型划分
基本数据类型和引用数据类型
1)基础类型(四类八种)
(1)整数类型:
(默认类型int) 如果一些需求没有明确要求类型:都可以int a.字节类型: byte 占1个字节(8个比特位) 范围:-128~127 (考点)
b.短整类型: short 占2个字节 c.默认类型: int 占4个字节 d.长整类型: long 占8个字节
(2)浮点类型
默认就是双精度:double
a.单精度类型:float 占4个字节 b.双进度类型:double 占8个字节
(3)字符类型
char 占2个字节
(4)布尔类型
boolean 占1个字节(布尔类型不会参与运算,仅仅表示某个代码逻辑:是true/false )
2)引用数据类型
接口,类,数组
5.变量的定义注意事项
a.针对同一个变量不能重复定义:Java强类型的语言规定
b.代码书写规范: 开发中:当遇见;的时候,表示代码结束,需要另起一行在定义;
c.变量初始化时机问题: a)可以先定义变量,不赋值,但是在使用之前必须初始化,否则 报错 提示"可能尚未初始化变量"
b)定义并且赋值
七、隐式转换和显式转换
1.隐式
当一些不一致的时候,存在自动类型提升,也称为"隐式转换"
Java中隐式类型: byte,short,char三者不会相互转换, 但是它们参与运算的时候,优先提升为int(考点),long,float,double...
boolean不会参与任何运算,仅仅后期使用逻辑判断使用!
2.显式
Java中的强转类型转换(显示转换) 强调: 将大的类型--->小的类型:必须强转
强转类型转换(显示的转换):应用范围 : 不仅适用于基本数据类型,也适用于引用类型
格式: 目标数据类型 变量名 = (目标数据类型)(值或者表达式);
3.考点
:byte类型取值范围:-128~127
byte=129;有问题吗?
报错:
jvm提供日志"不兼容的类型: 从int转换到byte可能会有损失"
原因:
当前的结果已经超出了取值范围,jvm认为这是int类型,结果类型byte类型,类型不匹配!
解决: 强转类型转换
八、html
1.标签
h1-h6:效果:从大到小
滚动标签 marquee
默认的属性: 滚动的方式
behavior alternate:来回滚动
slide:滚动到某一边停止掉
scroll:交替滚动(横穿)
滚动的速度:scrollamount 一般指定正整数
滚动的方向 :默认就是left
left:从右到左 right:从左到右
背景色:bgcolor
字体标签:font
水平线标签 hr
换行标签 br/
段落标签p
段落缩进 :对某段进行解释说明(引用标签)blockquote
有序列表ol li 标签组成 无序列表ul li 标签组成
ul标签默认的属性 type="disc": 指定的列表项标记
ol标签有默认的属性 type="1"
块标签div 和span标签(行内标签)
div标签:占一行内容,有自动换行效,一般应用场景:进行页面布局使用
span标签:没有任何效果,就普通文本标签,应用场景: 一般在用户登录/注册的时候,进行前端的表单校验(使用正则表达式)去使用(原生)
前端常见的转义字符: © 版权所有 © ® 注册商品 ® 代表一个空格 代表两个空格
原样输出 pre标签
加粗标签 strong b (如果语义强调: b标签,一般使用strong) 斜体标签 em i (如果语义强调: i标签 一般使用em标签)
2.表单
表单标签表示:form
action :URL地址:统一资源定位符:服务器地址
method:提交方式
常用get/post :默认方式:get
post提交: 不会将用户的数据提交到地址栏上 提交数据大小没有限制 (流的方式:后面讲) 适合私密数据,相对get安全!
表单提交: 表单项里面必须写的name属性
placeholder:h5的新增属性:提示文字
type="submit"提交按钮 (特殊按钮)
type ="text" 文本输入框
type ="password" 密码输入框(非明文) type="radio" 单选按钮 type="checkbox" 复选框 type="date" 表示日期/ datetime:日期+时间 (h5新增属性) type="file" 上传文件
select下拉菜单
option:下拉选项
九、运算符
1.算数运算符
2.扩展运算符
++,--
++a)前自增:先自增完毕,再运算整个表达式,语句分号前面的都是运算表达式;
a++)后自增,先运算完整个表达式(分号前面的都是表达式),再进行自增;
3.赋值运算符
= , +=, -=, *=, /=, %=
4.比较运算符:<,>,<==,>==,==,!=
5.逻辑运算符:
基本逻辑:逻辑与&,逻辑或|,逻辑异或^,逻辑非!
扩展的逻辑:逻辑双与&&,逻辑双或||
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
“&”和“&&”的区别:单与时,左边无论真假,右边都进行运算;双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真右边不参与运算。
“ ^ ”异或与“|”或的不同之处是:当左右都为true时,结果为false。
& 与 |或 ^异或 !非