我的Java笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的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笔记的主要内容,如果未能解决你的问题,请参考以下文章