Java笔记(day1~day6)
绪论:
Java版本区别:J2EE (企业版) J2SE(标准版) J2ME(小型版)
Java特性:跨平台
JVM、JRE、JDK介绍:
- JVM(Java虚拟机) 不同平台上装指定版本虚拟机,就能运行Java程序
- JRE(Java运行环境) 包括JVM和Java程序所需的核心类库
- JDK(Java开发程序包) 包括JRE
综上,所以安装JDK就可以了 使用JDK开发的java程序,交给JRE运行
JRE=JVM+类库 JDK=JRE+java开发工具
DOS命令行:dir列出目录 cd 改变目录 cd..后退 cd\根目录
md创建目录 rd 删除 del 删除(文件) *通配符
help寻求帮助,可以查用法
Java -version用来在命令行中查看使用的Java版本
环境变量表示方法:%变量名%
临时设置: Path=haha(这个haha是代表任意值) 在当前命令行窗口有效 ; 删除时Path=
正文:
/*Demo演示的意思 println书写并换行
文件夹选项可以选择不要隐藏扩展名 classpath临时环境变量 classpath加;号在当前目录再找一次*/
Java语言基础组成:
关键字:都是小写; 类名大写
标识符:数字不能开头,不可以使用关键字(标识符里有-和$符号)
注释://单行注释 /*多行注释*/ /**文档注释*/
注释可以嵌套,但多行不能套多行 javadoc可提取(Java特有)
可以使用注释,进行逐段调试
注释的应用:/*需求:练习...思路: 1、...2、...3、...步骤:1、用class关键字完成定义;2、主函数:固定格式;3、输出语句*/
常量与变量:整数、小数、布尔、字符、字符串、null常量
进制 byte字节=8个二进制位
负数:四个字节表示
变量:变量作用范围(一对{}之间有效)
名字,类型,数据
格式:数据类型 变量名=值;
整数:byte(1位)、short(2位)、int(默认)(4位),long(8位)
小数:float(4个字节),double(默认)(8个字节)
字符:char(2个字节,一个中文正好两个字节)
布尔:boolean(只有True和False)
自动类型转换
强制类型转换(丢失精度)
字符+数,显示ACSII码
字符类型运算过程(Java底层用Unicode码)
类型运算符细节(byte担心存不下,Integer.Max_VALUE(int 型最大值))
算数运算符:算术运算符+ - * / %(取余) +(连接符)
++ --(在原来的基础上自加自减1)
赋值运算符:(=、+=、-=、*=、......)
+=不等于=......+......(+=在赋值中做了强制转换,=...+....是两步运算)
比较运算符:(运算完结果必须是True或者False)== != > < <= >=
逻辑运算符:&用于连接两个布尔类型的表达式
&与|或 &运算特点: ^异或:两边相同为假 !非
&&和&运算结果一样,但过程有点小区别 &右边始终参与,&&左为假,右不参与
||左边为真,后边不参与
位运算符:<<左移 >>右移 >>>无符号右移
左移几位就是乘以2的几次方,
右移:以前最高位是啥就拿啥补空位,右移就是该数据除以2的几次幂
无符号右移:右移,高位出现的空位用0补
两个数互换问题:1、引入第三方变量
2、a=a+b; b=a-b; a=a-b;
3、a=a^b; b=a^b; a=a^b;
三元运算符:(条件表达式)?表达式1:表达式2;
程序流程控制:顺序结构 判断结构 选择结构 循环结构
判断结构:if语句:1、if(条件表达式) { 执行语句; }
2、if(条件表达式){ 执行语句; } else{ 执行语句; }
3、if ........else if...........else if........ else
当if.....else......运算后有具体结果,可以用三元运算符代替
代码块:局部代码可以定义局部变量周期
switch(表达式){ case 取值1:执行语句;break; case 取值2:执行语句;break; default:执行语句;break;} (挨着大括号的break可以不用写)
循环结构:while(条件表达式){ 执行语句; }
do{ 执行语句;}while(条件表达式)
for(初始化表达式;循环条件表达式;循环后表达式)
其他流程控制语句:continue(继续);break(跳出);
函数:
定义在类中具有特点功能的一段独立小程序
函数也称方法;
可以将代码封装,复用;
定义思想错误;
内存加载进程; 栈的特点:先进后出
重载:(重复载入):在同一个类中,允许存在一个以上的同名函数,只要参数个数或者参数类型不同即可;
数组:
同一类型数据的集合,其实就是一个容器
格式1:元素类型【】 数组名=new 元素类型【元素个数或数组长度】;
int【】 arr=new int【3】;
格式2:元素类型【】 数组名=new 元素类型【】{元素,元素,...};
内存空间的划分:局部代码块;决定局部变量生命周期
堆特点:存储实体(一堆数据),不能消失;
栈:引入(指向)堆中的数据 引入(指针)
堆: 垃圾回收机制:自动不定时回收堆中的垃圾
当访问到数组中不存在角标时会发生异常
当引用型变量没有任何实体指向时,还在用其操作实体,就会发生异常
哈希值【数组 I int型
正向遍历,反向遍历,对角标操作
获取最值
排序(选择排序、冒泡排序、排序位置置换代码提取)
性能问题
面向对象:
三个特征:封装、继承、多态
对象:(名词提炼法)
用Java语言对现实生活中事物描述,通过类的形式体现
对事物描述两方面:1、属性;2、行为
对象就是该类事物实实在在个体
引用数据类型参数传递
封装:
private私有,只在本类中有效,其他类就算创建对象也访问不到
public void 函数名(){ }
函数里边可以用if判断语句
隐藏实现细节、对象属性、仅对外提供公共访问方式
1、安全性;2、便于隔离;3、提高重用性;
私有仅仅是一种体现形式(封装的)
Java语言中最小的封装体是函数
构造函数:特点:1、函数名与类名相同
2、不用定义返回值类型
3、没有具体返回值
作用:给对象初始化;
一个类中如果没有定义构造函数,该类中会有一个默认的空参数构造函数
一般函数和构造函数区别:
构造函数:对象创建时就会调用与之对应的构造函数初始化
一般函数:对象创建后,需要时才调用
什么时候定义构造函数
在描述事物时,该事物已存在就具备的一些内容,这些内容都定义在构造函数中;
构造函数,重载
参数类型,参数个数;
构造函数细节:1、对象改名:p1.setname("小强");
2、构造函数加void成一般函数;
Java笔记(day1~day6)的更多相关文章
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
- Effective Java笔记一 创建和销毁对象
Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...
- java笔记00-目录
--2013年7月26日17:49:59 学习java已久,趁最近有空,写一个总结: java笔记01-反射:
- 转 Java笔记:Java内存模型
Java笔记:Java内存模型 2014.04.09 | Comments 1. 基本概念 <深入理解Java内存模型>详细讲解了java的内存模型,这里对其中的一些基本概念做个简单的笔记 ...
- servlet(6) - servlet总结 - 小易Java笔记
垂阅前必看: 这都是我总结的我觉得是学习servlet应该掌握的,我在学习期间也做了一个博客项目来让所学的知识得以巩固.下面就是博客项目链接.前面的servlet相关的笔记总汇,还有就是我把觉得在学习 ...
- Java笔记 —— 继承
Java笔记 -- 继承 h2{ color: #4ABCDE; } a{ text-decoration: none!important; } a:hover{ color: red !import ...
- Java笔记 —— 方法重载和方法重写
Java笔记 -- 方法重载和方法重写 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red ...
- Java笔记 —— 初始化
Java笔记 -- 初始化 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red !impo ...
- Java笔记 —— this 关键字
Java笔记 -- this 关键字 h2{ color: #4ABCDE; } a{ color: blue; text-decoration: none; } a:hover{ color: re ...
- Java 笔记 —— java 和 javac
Java 笔记 -- java 和 javac h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: ...
随机推荐
- ply python 图片压缩 图片裁剪 旋转
http://tech.seety.org/python/python_imaging.html
- OsharpNS轻量级.net core快速开发框架简明入门教程-从零开始启动Osharp
OsharpNS轻量级.net core快速开发框架简明入门教程 教程目录 从零开始启动Osharp 1.1. 使用OsharpNS项目模板创建项目 1.2. 配置数据库连接串并启动项目 1.3. O ...
- 基于SpringBoot从零构建博客网站 - 确定需求和表结构
要确定一个系统的需求,首先需要明确该系统的用户有哪些,然后针对每一类用户,确定其需求.对于博客网站来说,用户有3大类,分别是: 作者,也即是注册用户 游客,也即非注册用户 管理员,网站维护人员 那么从 ...
- SpringCloud分布式微服务搭建(一)
本例子主要使用了eureka集群作为注册中心来保证高可用,客户端来做ribbon服务提供者的负载均衡. 负载均衡有两种,第一种是nginx,F5这种集中式的LB,对所有的访问按照某种策略分发. 第二种 ...
- 为什么设置overflow为hidden可以清除浮动带来的影响
1.问题起源 在平时的业务开发写CSS中,为了满足页面布局,元素的浮动特性我们用的不能再多了.使用浮动的确能够解决一些布局问题,但是也带了一些副作用影响,比如,父元素高度塌陷,我们有好几种可以清除浮动 ...
- win10安装gitLab
从控制面板选择hyper-V进行安装 1.打开控制面板选择程序=>选择启用或关闭windows功能=>选择Hyper-v 安装ubuntu 1.下载ubuntu系统(本次安装为18.04. ...
- COW奶牛!Copy On Write机制了解一下
前言 只有光头才能变强 在读<Redis设计与实现>关于哈希表扩容的时候,发现这么一段话: 执行BGSAVE命令或者BGREWRITEAOF命令的过程中,Redis需要创建当前服务器进程的 ...
- OSPF 高级实验
一.环境准备 1. 软件:GNS3 2. 路由:c7200 二.实验操作 实验要求: 1.理解 OSPF 虚链路原理及何时需要使用虚链路. 2.掌握 OSPF 虚链路配置方法. 3.掌握 OSPF 的 ...
- SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试
1. 背景 SQL Server 搭建AlwaysOn后,我们就希望程序连接时使用虚拟的侦听IP(Listener IP),而不再是主Server 的IP.如果我们有采用中间件,则可以在配置中,直接用 ...
- 「技巧」如何将Sketch改为深色模式
之前Sketch只能根据mac系统的外观设置变更皮肤.在更新了版本54之后,可以脱离操作系统,在自己的偏好设置中更改外观了. 准备 Sketch 54 更多工具:whose.design 第一步:打开 ...