java基础整理_java基础部分整理
一.常用的dos命令操作符
什么是dos命令
window操作系统通过命令提示符cmd模拟ms-dos系统的功能。
常用的dos命令
切换当前盘 :想去那个盘,直接那个盘加:
快捷打开cmd : win + R
进入/打开文件夹:cd 文件夹路径名
返回上一级 :cd..
看文件目录:dir
清屏 :clr
退出:exit
二.java的简介及组成
java语言的特性
跨平台:不区分操作系统,真正的运行依靠虚拟机JVM实现。
Tip:java程序跨平台,JVM不跨平台,不同的操作系统对应要有不同的JVM.
JRE和JDK
JRE:
Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。包含jvm以及其核心类库。
JDK:
Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。
具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。
区别:
简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。
Tip:通过javac编译器进行编译将java源程序转化为字节码以“.class"结尾的文件进行运行。
三.类及其定义
什么是类
类是java当中所有源代码的基本组织单位,类的名称必须与包含该类的文件名相同。
测试类
含义
包含main方法的类。main方法:程序开始运行的入口。
定义格式:
public static void main(String [],args) {
}
四.变量及其命名规则
关键字
均为小写字母构成,不能用作变量名。
标识符
可以由字母,数字,下划线组成,当不能以数字作为开头。
变量取名规则
类名:大驼峰式,每个单词的首字母大写
变量名及方法名:小驼峰式,第一个单词首字母小写,后单词首字母小写。
五.数据类型
基本数据类型
整数型:
byte(1B)
short (2B)
int (4B)
long(8B,加上L后缀)
浮点型:
float(要加上F后缀)
double
字符型:
char
布尔型:
boolean
Tip:数据的表示范围与其数据存储字节无关,eg float存储的范围会比long存储的范围来的广。因为float采用科学记数法进行表示。
数据类型转换
自动类型转换
范围从小到大进行转换,不需要人为进行操作。
强制类型转化
可能发生精度损失和数据溢出。
字节缓冲流
作用:利用缓冲区(数组),提高读写效率
字节缓冲输出流(bufferfos)
继承了outputstream ,继承了其方法【close,flush,write】close在关闭流时会先调用flush
构造方法:(ops out)//不指定大小,out输出的目的地
(ops out ,int size ) //指定buff大小
字节缓冲输入流(bufferfis)
继承的方法:read,read(byte[]),close
构造方法:构造方法:(fis iut)//不指定大小,out输出的目的地
(fis iut ,int size ) //指定buff大小
两者直接关闭缓冲流对象即可,不用再关闭fis/fos对象。
字符缓冲流
字符缓冲输出流(bufferwriter)
继承方法:write(char[],buf)
特有成员方法:void newline()//根据系统输出换行符。
println调用的就是newline
字符缓冲输入流(bufferreader)
继承方法:read(),read(char[] buf),close
特有成员方法
String readline()//读单行,返回该行字符串。读至末尾返回,NULL 但是不会读取换行
行判断标准:/r /n /r/n
字符编码和字符集
编码按照某种规则将字符存储到计算机当中
字符集也叫编码表,系统能支持的所有字符//计算机存储对应规则
一旦编码方式被指定,字符集也确定下来。
常见的字符集:ASCII码表(0-127),
GBK(双字节编码)/GBxxx,
unicode(万国码,最多使用4字节进行存储)u-8(最经常使用,3字节存储中文)
中文系统编码(gbk) ansi---系统默认
idea默认读取utf-8
转换流
作用:
将字符在不同编码之间进行转换。
InputStreamReader
可以按照指定编码表进行编码转换,将字节转换为字节【解码】
继承了reader 可使用其方法
构造方法:
1.默认字符集:(ips in)
2.指定字符集 (ips in ,Str charsetname)
构造方法的字符集要好读取文件的编码格式相同
OutputStreamWriter
将字符转换为字节【编码】字符通向字节的桥梁,按照致电给的编码表
继承自Write 可使用其方法
构造方法:
(ops)//默认格式【utf-8】
(ops out String charsetname)//charsetname不区分大小写
序列化与反序列化
序列化:将对象以流的方式写入到文件当中,该过程既包括字符也包括字节
【ObjectOutputStream】
继承flieoutputstream
构造方法:传参fos
writeObject(对象);//该对象必须实现serializable接口,该接口会给此类一个标记才可进行序列化
反序列化:将文件种保存的对象以流的方式读取出来,也叫读对象,叫对象的反序列化
【ObjectInputStream】
继承了fileinputstream
构造方法:传参fis
Object readObject();//抛出classNotFund异常,没有找到class文件
transient
被其修饰的成员不能被序列化,但是没有静态的含义。
静态static变量不能进行序列化
在生成class文件之后因为存在serializable之后就会为其添加一个序列号,该序列号也会被写入到txt文件当中。
如果对象被更改就会产生新的序列号,反序列化之后就会有invalidClassException
解决方法:人为加上静态的序列号
static final long serialVersionUID=42L;//常量不能改变
打印流-PrintStream
只负责输出,没有输入,不会抛出IO异常,继承自字节输出流
构造方法:
写了打印的目的地->文件/字节输出流/文件路径
自己特有方法:print/println输入的是啥就写入啥//默认的目的地是控制台。
改变目的地:systerm.setout(目的地),目的地可以是任意目的的输出流
继承的方法write输入字节写入的是字符。
网络编程
软件体系结构
1.c/s:client客户端和浏览器端
2.b/s:browser浏览器端和服务器端
网络通信协议
使得同一网络当中的计算机可以进行通信的通信规则。通信双方需同时遵守
tcp/ip协议(传输控制协议,应用层协议)
协议分类
udp协议:
面向无链接的协议,不能保证数据的完整性,可用于视频音频的数据传输。发送的协议数据再64B以内
tcp协议:
面向链接,客户端和服务器端进行三次握手。数据传输安全。
ip地址:
相当于计算机的标号,ipv4,由4字节构成。32个2进制,可写成a.b.c.d,a-d表示十进制(0-255)
ipv6由16个字节构成。
查看本机IP:cmd->ipconfig
ping +ip 成功表示可以进行通信
127.0.0.1/localhost代表本地的ip地址
端口号:
逻辑端口,操作系统为软件随机分配的端口号。或者软件自己向系统要,2B组成(0-65535)1024前的端口号不能使用,已经分配给已知的端口号。发送时使用IP加上端口号。
常用端口号:
80端口:网络端口号
3306:mysql 1521:oracle
8080: Tomcat
TCP通信程序
服务器端和客户端进行逻辑链接,该链接之中,包含一个对象,IO对象,IO对象是字节流对象。
服务器端自己没有IO流,使用客户端(socket)的流和客户端进行数据交互。
客户端Socket类:
在java.net包下,此类实现客户端的套接字(包括ip和端口号)
构造方法:
(string host,int port)//host可以是ip也可以是主机名
成员方法:
ops getops();//返回此套接字的输出流(网络流而不是自己创建的)
Ips getips()//返回输入流
void close()
创建socket对象就会和服务进行3次握手,没有链接成功返回异常(连接异常)。
服务器端serverSocket:
服务器实现的套接字。
构造方法:
(int port)//创建绑定到特定端口的服务器套接字
特有方法:
socket accep(),侦听并接受此套接字的链接
获得socket之后使用它的流。
函数式编程
函数式接口:有且仅有一个抽象方法的接口,但接口中可以包含其他类型的方法
格式可以在定义接口时增加一个注解,@functionalinterface:j检测接口是不是函数式接口。
体现就是lambda
匿名内部类会有一个class文件,lambda表达式不会产生class文件。
lambda:延迟加载
java基础整理_java基础部分整理相关推荐
- 黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结
黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日 day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合 ...
- java重要基础知识点_java基础知识点整理
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 java基础知识点整理1.&和&&的区别? &:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true. ...
- java 多线程语法_Java基础语法之多线程学习笔记整理
众所周知,利用好多线程机制,可以大大提高系统整体的并发能力以及性能,而且线程间的切换和调度的成本小.因此,多线程是Java学习者必须掌握的语法重点.本文为大家整理了进程和线程.实现多线程方式.设置和获 ...
- java分享知识点_Java基础知识点整理(一)
方法 封装了特定功能的代码块 方法分为两种: 无返回值的方法 有返回值的方法 无返回值方法: -->看成一个动作 格式: public static void 方法名(形式参数列表){ 方法体; ...
- futuretask java 并发请求_Java面试题整理一(侧重多线程并发)
1..是否可以在static环境中访问非static变量? 答:static变量在Java中是属于类的,它在所有的实例中的值是一样的.当类被Java虚拟机载入的时候,会对static变量进行初始化.如 ...
- java input 数组_Java基础之:数组
Java基础之:数组 一组相同数据类型的数据,我们即称之为 数组,数组也是一种数据类型. 需要注意的是 , 数组和String 字符串 相同,也是引用类型的. 数组的初始化 方式一:动态初始化 四种格 ...
- java代码讲解_Java基础系列-代码块详解
注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 前言 Java基础系列,尽量采用通俗易懂.循序渐进的方式,让大家真正理解Java基础知识! 代码块 ...
- java单线程循环调度_Java基础篇之Java线程模型
原标题:Java基础篇之Java线程模型 Java运行系统在很多方面依赖于线程,所有的类库设计都考虑到多线程.实际上,Java使用线程来使整个环境异步.这有利于通过防止CPU循环的浪费来减少无效部分. ...
- java 方法泛型_Java基础学习,什么是泛型概念,使用泛型有哪些好处?
一般的类和方法,只能使用具体的类型,要么是基础数据类型,要么是自定义类. 如果要编写可以应用与多种类型的代码,这种刻板的限制对代码的束缚就会很大. 泛型的字面概念: 适合用于许多类型. 在面向对象中, ...
最新文章
- Kafka原理和实践--云平台技术栈13
- 小小一招巧解任何电脑的开机密码,无需任何工具,无需放电
- Java Scoket之java.io.EOFException解决方案
- 大数据之hadoop伪集群搭建与MapReduce编程入门
- spring Boot Actuator使用
- 【数据结构与算法】之深入解析“最大矩形”的求解思路和算法示例
- poj 2057 树形DP,数学期望
- c#,xp系统,Matlab6.5
- kibana 查看索引库中文档个数_百度索引量是什么意思?和百度收录量的区别。...
- 代数学笔记2: 域扩张(二)
- python 第一天
- android定时切换活动,安卓手机如何定时自动切换情景模式 (全文)
- DelayQueue1.8源码
- MySQL分库、分表、分区的区别
- 美国自动驾驶研发国家队NASA入局,还提供了航天跑道做测试
- 学习日记0904并发编程socketserver模块 进程理论
- Java集合:HashMap详解(JDK 1.8)
- iphone java模拟器_电脑java模拟器 模拟器游戏
- 中国计算机学会推荐国内期刊目录
- 777后无效 执行chmod_执行chmod -R 777 / 补救
热门文章
- android listview 滚动条隐藏,隐藏滚动条在FlatList(React Native)中Android
- 项目整体管理:结束项目阶段--收尾过程组
- 全球储能排行榜出炉 科士达储能系统位列前十
- python机器学习经典案例_Python机器学习经典实例
- Properties
- element 日期选择图标_element-ui 限制日期选择的方法(datepicker)
- 步进电机控制系统中脉冲型和总线型的区别?
- mysql字段约束_mysql数据库之表操作及字段约束条件
- ajax操作oracle,AJAX操作流程
- b站电脑客户端_苹果最强电脑和显示器即将发售 / 央视新闻入驻 B 站 / 淘集集启动破产清算...