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: ...
随机推荐
- 用python把一个txt文件中所有逗号,替换成空格?
string = "word 2 3 4 5 6 7" string = ",".join(string.split()) import numpy as np ...
- 将wiki人脸数据集的性别信息提取出来制作标签
import scipy.io as scio dataFile = 'D:\\Users\\a\\Documents\\Tencent Files\\178026882\\FileRecv\\wik ...
- .NET Core 迁移躺坑记续集--Win下莫名其妙的超时
继上一集里说到遇到的各种问题并且弄了n个解决方案之后,特别是对于问题4的解决方案对于切换了HttpClientFactory 我用了你家netcore 2.1下专门解决之前HttpClient口病已久 ...
- 学习 JavaScript(二)在 HTML 中使用 JS
基本用法 在 HTML 中使用 <script> 元素引入 Javascript , <script> 有以下 4 个常用属性: async: 异步加载,只对外部脚步有效. d ...
- 企业移动应用和Smobiler
www.smobiler.com 什么是企业移动应用? 能够通过一种方式来为客户.合作伙伴和员工交付信息和服务,从而帮助其增加收入,提高业务敏捷性和生产力的移动端产品,我们称之为企业移 ...
- 细说并发编程-TPL
本节导航 基本概念 并发编程 TPL 线程基础 windows为什么要支持线程 线程开销 CPU的发展 使用线程的理由 如何写一个简单Parallel.For循环 数据并行 Parallel.For剖 ...
- SQL Server死锁中的会话隔离级别为序列化(Serializable)实验测试
最近在分析SQL Server的死锁时,发现一个比较有意思的现象,发现死锁当中一个会话的隔离级别为序列化(Serializable),这个是让人比较奇怪的地方,我们知道SQL Server数据库的默认 ...
- 第一周Python学习笔记
Python 基本语法: ① Python程序的格式:1.用代码高亮来标识函数丶语句等等 本身的代码高亮并没有实际的意义,只是用来辅助编程人员和阅读人员 更好的识别 2.程序以缩进来标识语句,缩进用 ...
- 如何用RSS订阅?
本文由云+社区发表 摘要:我们常常会有订阅别人文章的需求,有更新的时候希望能有提醒的功能,RSS就是这样一个订阅的方式.很多网站上看到RSS的入口,点进去以后总是显示一堆的XML代码,我们来看看怎么使 ...
- Ambari 常用的 REST API 介绍
源码文档路径:ambari\ambari-server\docs\api\v1 swagger风格api文档:https://www.cnblogs.com/felixzh/p/10694724.ht ...