我的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 成员

时间: 2024-12-19 19:54:03

我的Java笔记的相关文章

15.1-全栈Java笔记:Java事件模型是什么?事件控制的过程有哪几步??

应用前边两节上一章节的内容,大家可以完成一个简单的界面,但是没有任何的功能,界面完全是静态的,如果要实现具体功能的话,必须要学习事件模型. 事件模型简介及常见事件模型 对于采用了图形用户界面的程序来说,事件控制是非常重要的. 一个源(事件源)产生一个事件并把它(事件对象)送到一个或多个监听器那里,监听器只是简单地等待,直到它收到一个事件,一旦事件被接收,监听器将处理这些事件. 一个事件源必须注册监听器以便监听器可以接收关于一个特定事件的通知. 每种类型的事件都有其自己的注册方法,一般形式为: v

13.1-全栈Java笔记:打飞机游戏实战项目|AWT技术|MyGameFrame

简介和项目目标 通过游戏项目学习整个Java基础知识体系,我们做了精心的设计,让每一章知识都能获得应用. 比如:多线程用来实现动画效果.容器实现对于多发炮弹的存取和处理.常用类等等的应用. 寓教于乐,让大家迅速入门,更希望通过喜闻乐见的小游戏,让大家爱上编程,爱上"程序员". 老鸟建议 很多朋友会疑惑:"游戏项目,又不能拿到企业面试中,为什么要讲?" 这是一种太过于功利的想法.就像,我们说:"今天吃个馒头,又不是长高,为什么要吃呢?" 游戏项目的

Java笔记---部署 JavaWeb 项目到云服务器

一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在主菜就要上场了,那就是将我们的 JavaWeb 项目部署到云服务器上.兴奋吧?淡定淡定~ 二.项目部署 我们对于 Java Web 项目在本地机器(无论是 Windows 还是 Linux)上的部署已经了然于心了,那么对于在云服务器上部署 Java Web 项目又是如何操作的呢? 其实很简单,还是离不开 Web 项目部署的那三点: ① 基础的 JDK 环境 ② 一个 Web 服务器.如 Tomcat.JBoss ③ 一款数据库.如:m

JAVA 笔记 七

JAVA笔记七 this:就代表本类的对象,this代表它所在函数所属对象的引用简单说:那个对象在调用this所在的函数,this就代表那个对象静态:static 用法:是一个修饰符,用于修饰成员(成员变量,成员函数)当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用.类名.静态成员static特点1.随着类的加载而加载2.优先于的对象存在3.被所有对象所共享4.可以直接被类名所调用实例变量和类变量的区别:1.存放位置. 类变量随着类的加载而存在与方法区中. 实例

JAVA笔记六

JAVA笔记总结六 把大象放入冰箱的几步: 面向对象的三个特征:封装,继承,多态 JAVA开发实际上就是找对象使用,没有对象就创建一个对象 找对象,建立对象,维护对象的关系 类和对象的关系:类是对现实生活中实物的描述: 对象就是这类事物,实实在在存在的个体 匿名对象:匿名对象可以作为参数进行传递也可以作为对象方法进行一次调用

java 笔记 String 和Stringbuffer

String 是一个类,而不是java中的基本数据类型. String s = "abc";  "abc"是一个对象,存放在常量池中.一旦被初始化就不能被更改了. s = "cde";  这里并没有改变字符串,而是使对象引用指向字符串cde: String s1 = new String("abc"); String s2 = "abc"; 这两者有什么不同,第一个有两个对象,一个是"abc&qu

14.5-全栈Java笔记:java.awt这些布局怎么写?|流式|边界|网格

布局管理器 读者会发现,如果使用坐标定位法(空布局),在一个比较复杂的界面上定位每个控件的坐标是一个非常麻烦的工作,而且在界面大小发生改变时,控件的绝对位置也不会随之发生改变.那么如果我们想让用户界面上的组件可以按照不同的方式进行排列怎么办?例如:可以依序水平排列,或者按网格方式进行排列等,其实每种排列方案都是指组件的一种"布局",要管理这些布局,就需要本节学习的布局管理器. 管理布局的类由java.awt包来提供,布局管理器是一组实现java.awt.LayoutManager接口的

14.4-全栈Java笔记: javax.swing常用控件有哪些?怎么用?

常用基本控件 javax.swing.JButton 在图形界面程序中,按钮可能是使用量最大的控件之一,javax.swing包中JButton类就是用来创建按钮的.如表1所示,为JButton常用的构造方法.  javax.swing.JLabel JLabel控件是最简单的Swing组件之一,用于在窗体上显示标签, JLabel既可以显示文本,也可以显示图像.如表3所示,为JLabel常用的构造方法. 注意: JLabel只能用于显示文本和图标信息,用户不能对其进行修改. javax.swi

13.3-全栈Java笔记:打飞机游戏实战项目|PaintThread|launchFrame

多线程和内部类实现动画效果 1)增加绘制窗口的线程类 前三个版本,我们步步为营,每个小版本都有功能的突破.但是,目前为止我们的窗口仍然是静态的,并没有像真正的游戏窗口那样"各种动.各种炫".本节我们结合多线程实现动画效果. 我们在MyGameFrame类中定义"重画窗口线程PaintThread类",为了方便使用MyGameFrame类的属性和方法,我们将PaintThread定义成内部类. [示例1]MyGameFrame类:增加PaintThread内部类 pu

4.6-全栈Java笔记:THIS关键字和STATIC关键字

this关键字 对象创建的过程和this的本质 构造方法是创建java对象的重要途径,通过new关键字调用构造器时,构造器也确实返回了该类的对象,但这个对象并不是完全由构造器负责创建的.创建一个对象分为如下四步: 1. 分配对象空间,并将对象成员变量初始化为0或空 2. 执行属性值的显示初始化 3. 执行构造方法 4. 返回对象的地址给相关的变量 this的本质就是"创建好的对象的地址"!  由于在构造方法调用前,对象已经创建.因此,在构造方法中也可以使用this代表"当前对