java笔记4

第四天笔记

1.数组

概念:用来存放同一种数据类型的容器。

1.1  java中数组的定义:

数据类型[] 数组名 = new 数据类型[长度]

1.2数组的长度可以指定也可以不指定

int[] arr = new int[0];

1.3创建一个int类型的数组

arr : 是一个变量  只是数组的一个引用地址

局部变量存在栈中

成员变量 -- 属性  --- > 对堆区中

静态变量  --- >  共享区域

1.4 数组中的使用工具:Arrays

1.4.1  查找数组中是否还有某一个数,对应的索引位置

int result = Arrays.binarySearch(arr, num);

1.4.2  做排序

Arrays.sort(arr1);

for (int i = 0;i < arr1.length ;i++ )

{

System.out.println(arr1[i]);

}

1.5  java中数组一样存在多维 : 二维数组 ,三维数组,....

1.5.1   二维数组的定义 格式:

数据类型[][] 数组名 = new 数据类型[][];

(1)动态初始化:

数据类型[][] 数组名 = new 数据类型[][];

注意 :前面中括号中数值指的是二维数组元素个数 , 后面一个是指二维数组

中一维数组的元素个数。

(2)静态初始化:

数据类型[][] 数组名称 = {{元素1,..},{元素1,..},{元素1,..}};

注意:二维数组中的元素一定是一维数组。

例:

int[][] arr = new int[3][4];

arr[0][0] = 1;

int[][] arr1 = {{1,2,3},{2,3},{1,4}};

int num = arr1[2][1];  // 4

想要接收二维数组中的元素 : 需要用一个一维数组来接收。

int[] arr2 = new int[];

arr2 = new int[3];  // 定义了一个二维数组 ,数组中的元素维     初始化数组

int arr3[] = {};  不推荐这样写。

总结:数组的特点

1.数组中只能存同一种数据类型的数据。

2.数组他会给存入的元素默认分配一个索引值 ,索引从0开始。

3.数组一旦初始化,长度就固定了。

4.数组中元素的内存地址是连续的。

2.面向对象

 

2.1   java也属于面向对象编程 :

2.1.1  面向对象的三大特征 : 封装,继承,多态。

2.2   类,对象。

对象 :真实存在的唯一的事物。

面向对象编程(oop)思想力图使对计算机语言中的事物的描述和自然中的事物

尽可能保持一致。

面向对象的核心 : 找到合适的对象做合适事情。

2.3  java中如何来找合适的对象:

1.sun已经指定好的类,通过定制好的类创建对象, 需要认识这些类。

2.自定义类 ,通过自定义类来创建对象。

2.4 类中包含 :

属性 ,方法。

2.4.1 类的定义格式 :

class 类名 {

属性(成员变量) : 描述事物的公共的特点。

方法 : 描述事物的行为 (做什么事情)

}

//通过自定义的类来创建一个对象

格式:

类名  对象名(变量名) = new 类名();

2.4.2  成员变量和局部变量额区别:

定义的位置 :

1.定义在类中,方法外。

2.局部变量是定义在方法中。

作用上:

1.成员变量是用来描述同一类事物(对象)的公共属性。

2.局部变量就是提供一个变量给方法使用

生命周期 :

1.成员变量随着对象的创建而创建,随着对象的消失而消失。

2.局部变量随着方法调用而创建,出了方法的作用域就消失。

初始值来区分:

1.成员变量,如果你没有赋值,它是有默认值的。

int   默认是0

float 默认是0.0f

double  默认是 0.0

boolean 默认 false

char    默认 ‘ ‘

String (引用类型)null;

2.局部变量:

局部变量是没有初始值的,必须初始化才能使用。

2.4.3   成员变量在当前类中是可以直接通过变量名来使用,如果变量需要在其他类中使用,就需要创建对象(目前是这个样子的

成员变量 : 作用范围是整个类中 ,如果需要在当前类中使用成员变量,直接拿到变量名就可以使用

时间: 2024-12-19 13:45:59

java笔记4的相关文章

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代表"当前对