我的Java笔记
第一章
一 计算机程序:一系列有序的指令集合。
二 java语言分为三个领域
javaSE java技术核心(桌面应用程序)qq 百度云
javaEE 企业版(面向internet的应用程序)京东 淘宝
java ME (移动设备 小型嵌入开发)手机上的软件
三 java 程序 三步走
1 编写程序{程序以.java结尾}
2 编译程序(使用javac指令编译程序,编译后程序以.class结尾)
3 运行{使用java指令运行编译后的文件}
使用myeclipse开发java程序步骤
四 1 创建项目
2 编写源程序
3 编译
4 运行
五
public class 类名 {
}
六 内层框架
public statice void main {String[]args){
}
注意方法名必须是main 主方法四要素 public static void String[] args
输出指令 System.out.println ("男");System.out.println ("16");注意首字母要大写
println和print区别 println 输出后换行 print 只输出
/n和/t 区别 /n 换行 /t 制表位(四个字符为一个制表位)
七 注释
// 单行注释 以//开始到行末结束
/**
*
*
*/ 多行注释
/
*
*
*
/ 多行注释 多用于注释代码块
第二章 变量 存存储数据的基本单元
变量的声明和赋值 数据类型 变量名=数值 int price=10 声明 赋值 分 两步 int price price=-10
数据类型 基本数据类型 byte 取值范围(-2的七次方到2的七次方减-1)
short 取值范围(-2的十五次方到2的次十五方减-1)
int 取值范围(-2的三十一次方到2的次三十一方减-1)
long 取值范围(-2的6十三次方到2的次六十三方减-1)
float 浮点型 99f
double 双精度 double price=32.5
boolean
char
引用数据类型 string class 接口
当是多个单词组成的变量名 以 驼峰形命名法
当是多个单词组成的变量名 以 驼峰形命名法
变量命名规范 首字母 以字母 下划线 $开头
赋值运算符 是把右边的值赋予左边
算术运算符 + - * / %(取余 )
num++;//num=num+1;num+=1
num-;//num=num-1;num-=1
System.out.println(--num);//先计算在输出
System.out.println(num--);//先输出 在计算
double avg=(99+88)/3 发生自动转换 转换条件 两种类型兼容 如 int double 都是数值型
强制转换 (数据类型)变量名 )(数据类型)值
double num=5.5 int result=(int)num; int result=(int)5.5
第三章
保存真假 用 boolean 变量 有两个值: true 真 与 false 假
Scanner inut=new Scanner (Systenm.in); int age=input.next() //接收int类型
String name=input.next(); //接受String类型
关系运算符 > < >= <= == !=
赋值 = == 表示比较
条件判断: if(表达式 ) {语句} 当表达式为真输出
运算符 分为 单目: ! ++ --
双目: = + - * / % | || & &&
三目: ? : 例子 int sign=90? 1:0 ;
逻辑运算符 优先级顺序: () ! 算术运算符 比较运算符 && || 赋值运算符= 注 多使用小括号控制优先级
if(表达式) 为真 {执行语句A}
否则 else{执行B语句}
多分支: if-else if-else
if(条件1){语句1}
if(条件2){语句2}
if(条件3){语句3}
else{语句4}
switch(表达式)
{case 值1;
语句1;
break;
case 值2;
语句2;
break;
default:
语句3;
break;
}
多重if结构和switch 结构 使用场合 多重区间值 用if 等值判断 用switch
break作用跳出switch结构;
while循环 语法:while(循环条件) {循环操作}
equals 字符串比较 == 数字比较
do while
do{
循环操作;
} while(循环条件);
特点 先执行 后判断
调试方法 1.设置断点 2.单步运行 3.观察变量
调试步骤:
1 猜测错位置,设置断点
2启动调试,单步运行
3观察变量
4发现问题
5修正代码,重新运行
6 解决问题
for 语法 (参数初始化;判断条件;参数叠加){循环操作} 特点: 先判断后执行 顺序: 1 2 4 3
break 改变程序控制流 多用于循环中 跳出整个循环
continue 只能用在循环中 跳过循环体剩下语句去执行下一次循环
while do-while for 三者区别
while (判断条件) {循环操作} 先判断后先执行
do-while do{循环操作} while(条件) 先执行一次后判断
for(参数初始化;判断条件;参数叠加) {循环操作} 特点: 先判断后执行
循环次数已定用 for 不知道循环次数用while
第四章
数组 是一个变量 存储相同变量类型的一组数据
优点 减少代码量 易于查找
使用步骤
1 声明数组 int[]a 2 分配空间 a=new int[5] 3 赋值 a[0]=100 4 处理数据a[0]=a[0]+20;|
值传递 不同变量分配不同的储存空间 改变一个变量不会影响另一个变量
引用传递 把引用原对象赋予另一个引用对象 两个引用指向同一存储空间
二维数组 语法 数据类型 [][] 数组名 数据类型 数组名 [][]
分配内存 数据类型 [][]数组名=new 数据类型 [一维数组长度][二维数组最大长度] 例 int [][]num=new int [5][30]
二维数组实际是一个一维数据,他的元素也是;
赋值方式 socres={{1,2,3},{2,3,4},{7,8,9}}
第六章
对象的特征 -----类的属性 每个对象都有特定的属性值
封装 对象同时具有属性和方法 两项特性 通常被封装在一起 共同体现事物 不能分割
类和对象 类是抽象的概念 是一个模子 确定了对象的实行和方法
对象 是现实世界中的实体看得见摸的着 具有静态和动态特性
定义类的步骤
1 定义类名
2 编写类的属性
3 编写类的方法
定义类的属性 访问修饰符 属性类型 属性名称=默认值
定义类的方法 访问修饰符 返回值类型 方法名称() {方法体}
成员变量 上级是类 作用域整个类中
局部变量 上级是方法 作用在本方法
类名 对象名 = new 类名() 创建对象
使用对象 对象名.属性=值 ; 例 being.schoolName="云图智联";
对象名.方法;
面向对象优点
1.便与程序模拟实现世界中的实体
2.隐藏细节 对象的属性和方法已被封装,通过方法来调用它,无需在意其内在的变化
3.可重用 通过类的模版,可以创建多个类的对象
类是引用数据类型 传值 m2=m1 传的是地址
类的方法 public 返回值类型 方法名() {方法主体}
方法名规范
1 必须以字母 - $ 开头
2 可以有 数字 但不能以数字开头
3 方法有多个单词主城 开头首之母小写 其后首字母大写
4 方法名都采用动词
方法返回值: 有返回值必须告诉返回值类型 void 无返回值类型
包名命名规范 公司网站倒过来写 加项目名称 再加类所属的文件
带参的方法
访问修饰符 返回值类型 方法名称 (参数列表) {方法体}
public string getFuirt(String fuirt)
String zhi= Fuirt "汁"
return zhi;
调用带参方法
同类中 直接 调用 方法名 (实参列表)
不同类 对象.方法名(参数列表)
带方法的参数:
形参数据类型与实参数据类型一致
形参调用数量与实参调用数量也需一致
字符串
声明字符串方法
String s="您好"; String s=new String("您好")
确定 字符串长度 用 length();
equals 比较的是值 用于字符串比较 == 比较的是地址 用于数字比较
equals lgnore Case 忽略大小写
toLowerCase 转换成小写
toUpperCase 转换成大写
\转运符
String s="您好" str=str+"北京"
使用 + 与 concat 方法 会浪费内存 性能较差 线程安全
idexOf(int ch) 获取字符或字符下标 str .idexOf('你') indexOf(String s) 例 str .indexOf(.java)
lastidexOf(int ch) 例如 str .lastidexOf('你') lastindexOf(String s) 例 str .lastindexOf(.java)
subString(int beginIdenx,int endIndex) 下标从0开始 包括beginIdenx, 不包括 endIndex
trim() 去掉前后空格
split() 方法分割 字符串 返回数组
String Buffer类 频繁拼接字符串时使用
String Buffer m=new String Buffe("你")
m.append("好吗?")
m.insert(1,"们")
String str=m.toString();
System.out.println(str);//你们好吗?
特点: 不会产生副本 节省内存 性能高 线程安全 在自身基础上追加字符串
操作数据较少 使用 String
操作数据较多使用 StringBuffer ;StringBuilder
操作数据较多 并且是多线程使用 StringBuffer
操作数据较多 并且是 单线程使用 StringBuilder
性能 String < StringBuffer < StringBuilder
抽象类的步骤
1 定义类
2 定义属性
3 定义方法
抽象原则
1 根据面向对象思想抽取
类图优点: 直观 易于理解
构造方法 系统默认的无参构造 public Dog() { }
当程序写了自定义的构造方法时,系统默认的无参构造会消失
自定义无参和有残构造
public aDog() { this.name="小白"}
public aDog(String name){ this.name="小白"}
特点 :访问修饰符 public 无返回值 构造方法名与类名一致
public Dog(String name) { this.name=name;}
this 当前对象的引用
static 静态的意思 修饰属性,方法,代码块
被修饰的属性,方法 的调用方式 : 类名.属性 类名.方法 代码块 类加载时 加载的是代码块
final 最终的 修饰属性 它是个常量,并且不可修改 常量名全为大写
方法里的变量不能被static 修饰
封装三步骤 1 属性私有化 通过 private
2 创建 getter/setter方法
3 在getter/setter方法中加入控制语句
this使用: this.属性 this.方法 this.构造 this() 调用无参构造 this(参数[]) 调用有参构造
开发中一个完整的实体类 包括 私有化属性 get和set方法 无参构造与有参构造
子类不能继承父类的那些成员
1.private 成员
2.不在同包中使用默认访问权限
3. 构造方法
访问修饰符使用范围
private 本类 friendly 本类 同包 protected 本类 同包 子类 public 本类 同包 子类 其他
多重继承关系顺序: 父类属性 构造方法 —— 子类属性 构造方法
super 只能访问子类的方法和构造方法
访问构造方法时只能放在第一句
不能访问父类private 成员
我的Java笔记的更多相关文章
- Effective Java笔记一 创建和销毁对象
Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...
- java笔记00-目录
--2013年7月26日17:49:59 学习java已久,趁最近有空,写一个总结: java笔记01-反射:
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
- 转 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: ...
随机推荐
- JUnit----单元测试
为什么进行单元测试? 1. 重用测试, 应付将来实现的变化. 2. 明确指定我的东西是没问题的. Failure, error的区别? Failure只测试失败, Error指程序本身出错 1. ne ...
- php中__clone() shallow copy 只是浅复制
什么是浅复制呢? 简单一点,就是说复制一个对象的时候,如果对象$Obj的一个属性的类型是引用类型的,比如 $person这个属性,指向的是一个 叫做 $objPerson的一个引用, 那么复制$Obj ...
- ZOJ 3941 Kpop Music Party
先把能合并的区间都合并起来. 考虑最裸的贪心策略,从左到右一段一段的取. 但是,这样会有错,错在没有考虑每段区间选取最后一个点. 因为N只有10,所以枚举一下哪些区间最后一个点会被选择,然后按照最裸的 ...
- 第三方app抽奖发送微信红包
1.控制器方法: private string SendRedPackge(string OpenId, int Amount, string LuckyCode) { Models.PayWeiXi ...
- 从零开始HTML
1.属性 HTML 标签可以拥有属性.属性提供了有关 HTML 元素的更多的信息.属性总是以名称/值对的形式出现,比如:name="value". 属性总是在 HTML 元素的 ...
- [iOS Animation]-CALayer 隐式动画
隐式动画 按照我的意思去做,而不是我说的. -- 埃德娜,辛普森 我们在第一部分讨论了Core Animation除了动画之外可以做到的任何事情.但是动画是Core Animation库一个非常显著的 ...
- Seajs是什么及其优缺点&如何使用?
这篇文章主要介绍了Seajs的相关知识和和学习心得,适合刚接触SeaJS的同学,需要的朋友可以参考下,有更好的新手教程或文档,欢迎推荐.分享! 1.Seajs简介 Seajs,一个Web模块加载框 ...
- MySQL show master / slave status 命令参数
一.show master status 二.show slave status Slave_IO_State SHOW PROCESSLIST输出的State字段的拷贝.SHOW PROCESSLI ...
- Memcached源码分析之slabs.c
#include "memcached.h" #include <sys/stat.h> #include <sys/socket.h> #include ...
- DS5 调试 android c++
1.修改Application.mk APP_STL := gnustl_static #这里用gnustl #NDK_TOOLCHAIN_VERSION=clang #这里注释掉 APP_CPPFL ...