java总结第二次//数组及面向对象
三、java数组
主要内容:数组概述、一维数组声明、数组元素的引用、数组元素的默认初始化、创建数组、数组初始化、多维数组、多维数组初始化、数组排序
1.数组概述
数组是多个相同类型数据的组合,实现对这些数据的统一管理。
数组中的元素可以是任何数据类型,包括基本类型和引用类型。
数组属于引用类型,可以理解为对象(Object),数组中的每个元素相当于该对象的成员变量。
数组一旦初始化,长度不可变。
2.一维数组声明
一维数组的声明方式: type var[] 或 type[] var;
例如:
int a[];
int[] a1;
double b[];
Mydate []c; //对象数组
单独声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法
3.数组元素的引用
Java中可以使用关键字new创建数组对象
定义并用运算符new为之分配空间后,才可以引用数组中的某个元素;
每个数组都有一个属性 length 指明它的长度,例如:a.length 指明数组 a 的长度(元素个数)
数组元素的引用方式:数组名[数组元素下标]
数组元素下标可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i]
数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 至 n-1
4.数组元素的默认初始化
数组是引用类型,它的元素相当于类的成员变量,因此为数组分配空间后,其中的每个元素也被按照成员变量同样的方式被隐式初始化。例如:
public class Test {
public static void main(String argv[]){
int a[]= new int[5];
System.out.println(a[3]); //a[3]的默认值为0
}
}
5.创建数组
Java中使用关键字new 创建数组对象
int[] scores=new int[]{99,88,77,55,22};
*分配空间
语法:数组名=new 数据类型[数组长度]
例:int scores[];
scores=new int[5];
合并:int scores[]=new int[5];
6.数组初始化
动态初始化:数组定义与为数组元素分配空间并赋值的操作分开进行。
静态初始化:在定义数组的同时就为数组元素分配空间并赋值。
补充:数组名.length用于获取数组长度
*输出scores数组的元素
for(i=1;i<=scores.length;i++){
System.out.println(scores[]);
}
7.二维数组
声明并分配空间:数据类型[][]数组名=new数据类型[行数][列数]
int[][] num=new int[2][3];
或:int[][] num;
num=new int[2][3];
8.使用Arrays类操作java中数组
(使用Arrays类必须使用import java.util.Arrays;
public class Account{}导入包)
(1)排序:Arrays.sort(数组名);
(2)将数组转换为字符串:Arrays.toString(数组名);
(3)foreach操作数组:语法:for(元素类型 元素变量:遍历对象)
{执行代码}
9.冒泡排序
基本语法实例:
public static void PubbleSort(int[] array){
int temp;
for(int x = 0; x < array.length - 1; x++ ){for(int y = 0; y < array.length - 1 - x; y++){
if(array[y] > array[y+1]){ temp = array[y];
array[y] = array[y+1];
array[y+1] = temp;
}
}
}
for(int z = 0; z < array.length ; z++){
System.out.print(array[z]+" ");
}
}
10.for-Each语句(用来遍历数组中所有元素)
一般语法:for(数据类型 变量:遍历对象){
执行语句}
示例:
一般访问一个数组使用的格式:
int sum=0;
int[] nums={1,2,3,4,5,6,7,8,9};
for(int i=0;i<nums.length;i++){
sum+=nums[i];
}
使用for-Each语句遍历:
int sum=0;
int[] nums={1,2,3,4,5,6,7,8,9};
for(int i:nums){
sum+=i;}
访问多维数组语法:
int nums[][]=new int[5][5];
for(int x[]:nums)
for(int y:x)
//对元素进行操作
四、类和对象
主要内容:
类和对象、信息的封装和隐藏、构造方法、方法的重载、this 关键字、package/import语句
面向对象三特征:封装、继承、多态性
1.类(class)和对象(object):是面向对象方法的核心概念。类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)。
2.定义类:
语法格式:
[< 修饰符>] class < 类名> {
[<属性>]
[<构造器>]
[<方法>]
}
说明:修饰符public:类可以被任意访问
类的正文要用{ }括起来
举例:
public class Person{
private int age ; //声明私有变量 age
public void setAge(int i) { //定义公有方法setAge
age = i;
}
}
3.对象可通过属性“attribute”和方法“method”来分别对应事物的静态属性和动态属性。
4.属性——对象具有的各种特征
定义属性:
语法格式:
[<修饰符>] 类型 < 属性名> [=初值] ;
说明:修饰符 private: 该属性只能由本类的方法访问。
修饰符 public: 该属性可以被本类以外的方法访问。
类型:任何基本类型,如int、boolean或任何类。
举例:
public class Person{
private int age; //声明private变量 age
public String name =“Jack”; //声明public变量 name
}
属性有时也称为:数据成员(数据),成员变量(变量)
5.定义方法:
语法格式:
<修饰符> <返回类型> <方法名>([< 参数表>]) {
[< 语句>]
}
说明: 修饰符:public,private,protected 等。
返回类型:return语句传递返回值。没有返回值:void。
举例:
public class Person{
private int age;
public int getAge() { return age; }
public void setAge(int i) {
age = i;
}
}
6.对象的创建和使用
使用new+构造方法创建一个新的对象;
使用“对象名.对象成员”的方式访问对象成员(包括属性和方法);
创建新的对象之后,我们就可以使用“ 对象名.对象成员 ”的格式,来访问对象的成员。
示例:
class TestPerson
{
public static void main(String[] args)
{
Person p1 = new Person();
Person p2 =new Person();
p1.age = 20;
p1.shout();
p2.shout();
}
}
java总结第二次//数组及面向对象的更多相关文章
- Java阶段性测试--知识点:数组,面向对象,集合、线程,IO流
#Java基础测试 涉及知识点:数组,面向对象,重载,重写,继承,集合,排序,线程,文件流 一.多项选择题(可能是单选,也可能是多选) 1.下列标识符命名不合法的是( D ). A.$_Name ...
- 杨其菊201771010134《面向对象程序设计Java》第二周学习总结
第三章 Java基本程序设计结构 第一部分:(理论知识部分) 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. 1.基本概念: 1)标识符:由字母 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结
丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
- 2017面向对象程序设计(Java)第二周学习总结
2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为 ...
- JAVA之旅(三)——数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想
JAVA之旅(三)--数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想 我们继续JAVA之旅 一.数组 1.概念 数组就是同一种类型数据的集合,就是一个容器 数组的好 ...
- 第二十四节:Java语言基础-讲解数组的综合应用
数组的综合应用 // 打印数组 public static void printArray(int[] arr) { for(int x=0;x<arr.length;x++) { if(x!= ...
- java的第二个实验——JAVA面向对象程序设计
java的第二个实验——JAVA面向对象程序设计 北京电子科技学院 实 验 报 告 课程:Java程序设计 班级:1352 姓名:林涵锦 学号:20135213 成绩: ...
- 201771010123汪慧和《面向对象程序设计Java》第二周学习总结
一.理论知识部分 1.标识符由字母.下划线.美元符号和数字组成, 且第一个符号不能为数字.标识符可用作: 类名.变量名.方法名.数组名.文件名等.第二部分:理论知识学习部分 2.关键字就是Java语言 ...
- JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块
JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买 ...
随机推荐
- iOS 并发编程之 Operation Queues
现如今移动设备也早已经进入了多核心 CPU 时代,并且随着时间的推移,CPU 的核心数只会增加不会减少.而作为软件开发者,我们需要做的就是尽可能地提高应用的并发性,来充分利用这些多核心 CPU 的性能 ...
- js实例代码
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 微信公开课PRO版张小龙演讲全文
今天,微信当家人张小龙通过微信官方账户发布了一则视频,视频中张小龙阐述了微信对于开放平台的一些理念和方向.张小龙用八点概括.以下是张小龙发言: 各位参加微信公开课的朋友们,大家好. 首先很遗憾这一次不 ...
- 号外号外:9月13号《Speed-BI云平台案例实操--十分钟做报表》开讲了
引言:如何快速分析纷繁复杂的数据?如何快速做出老板满意的报表?如何快速将Speed-BI云平台运用到实际场景中? 本课程将通过各行各业案例背景,将Speed-BI云平台运用到实际场景中 ...
- Python模块(json)
json json模块,用来处理json风格的数据 一.json的数据格式 json是javascripts的标准格式,json的格式是由若干个 键/值(key,values) 对的集合,该集合可以理 ...
- Demo4 Slides.js的使用
Slides.js挺好用的啊,把示例中的Demo调试通了.首先把css.img.js文件夹下的内容全部拷贝到Vs网站项目下的Scripts文件夹下. 代码主要修改了一些图片路径和网址链接. <! ...
- spring 定时任务标注
使用spring框架,需要定时任务只需要在方法上加@Component 就可以了 package hello; import java.text.SimpleDateFormat; import ja ...
- 配置和使用buffer cache
存放从磁盘读取的数据.排序和并行读不会使用buffer cache 可以从v$db_cache_advice或者buffer cache的命中率来检查buffer cache设置是否合理 查看v$db ...
- String的replaceAll方法中的正则表达式用法
项目里面 需要对已手机号码进行 如下的显示 比如15088688388 要显示为150****8388的效果 实现这个简单的效果 方法有很多 我想试试用正则表达式去实现 查了点资料最终试出来以下方法可 ...
- MongoDB(一):安装
安装 从度娘上搜索MongoDB,找到官网地址:https://www.mongodb.com 找到下载中心地址:https://www.mongodb.com/download-center 我下载 ...