我是靠谱客的博主 安静墨镜,最近开发中收集的这篇文章主要介绍JavaSE-day02-ArrayList1. 方法2. 进制的书写格式3. 二维数组4. 类和对象5. 封装6. 构造方法7. String类8. StringBuilder类9. ArrayList,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1. 方法
方法的概念
1. 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
方法的定义和调用
定义格式
修饰符 返回值类型 方法名 (参数类型1 参数名1, 参数类型2 参数名2, ...) {
//方法体;
return 返回值;
}
如主方法:
public static void main(String[] args) {
System.out.println("Hello World!");
return ;
}
注意: 方法不能嵌套定义
方法的三种调用
1. 直接调用:
方法名();
2. 打印调用:
System.out.println(方法名());
3. 赋值调用:
数据类型 变量名 = 方法名();
形参和实参
1. 形参: 方法定义中的参数(没有实际意义的参数)
2. 实参: 方法调用中的参数(传值的参数就叫做实参)
注意:
1. 基本数据类型,通过形参传递参数,没有返回值不改变实际参数的值
2. 引用数据类型,通过形参传递的是在内存中的地址值,即指向同一片内存空间,形参改变,实参也改变
方法重载
1. 方法重载概念:
多个方法在同一个类中
多个方法具有相同的方法名
多个方法的参数不同,类型不同或者数量不同
2. 重载仅对应方法的定义,与方法的调用无关
3. 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关
2. 进制的书写格式
1. 十进制:Java中,数值默认都是10进制,不需要加任何修饰。
2. 二进制:数值前面以0b开头,b大小写都可以。
3. 八进制:数值前面以0开头。
4. 十六进制:数值前面以0x开头,x大小写都可以。
注意: 书写的时候, 虽然加入了进制的标识, 但打印在控制台展示的都是十进制数据.
任意进制到十进制的转换
1. 公式: 系数 * 基数的权次幂 相加
系数: 每一位上的数
基数: 转换几进制就是几
权: 从右侧开始,从0开始计数
任意进制到二进制的转换
1. 公式: 源数据 / 基数 = 取余数(商为零时,倒着取余数)
源数据: 需要转换为二进制的数据
基数: 转换几进制就是几
快速进制转换
8421码: 8421码又称BCD码,是BCD代码中最常用的一种BCD:(Binary-Coded Decimal)二进制码十进制数在这种编码方式中,每一位二进制值的1都是代表一个固定数值,把每一位的1代表的十进制数加起来得到的结果就是它所代表的十进制数
原码反码补码
计算机中的数据,都是以二进制补码的形式在运算,而补码则是通过反码和原码推算出来的
原码(给我们看的)可以直观的看出数据大小
就是二进制定点表示法,即最高位为符号位,【0】表示正,【1】表示负,其余位表示数值的大小
反码
1. 正数的原码反码补码都是相同的
2. 负数的反码是对其原码逐位取反,符号位除外
补码
1. 数据以该状态在计算机中进行运算
2. 负数的补码是在其反码末位加1
位运算
基本运算符
1. 位运算符指的是二进制位的运算,先将十进制数转成二进制后再进行运算
2. 在二进制位运算中,1表示true,0表示false
1. & 位与 : 遇false则false,遇0则0
2. | 位或 : 遇true则true,遇1则1
3. ^ 位异或 : 相同为false,不同为true
4. ~ 取反 : 全部取反,0变1,1变0(也包括符号位)
位移运算符
位运算符指的是二进制位的运算,先将十进制数转成二进制后再进行运算.在二进制位运算中,1表示true,0表示false
1. << 有符号左移运算,二进制位向左移动,左边符号位丢弃,右边补齐0
运算规律: 向左移动几位,就是乘以2的几次幂
2. >> 有符号右移运算,二进制位向右移动,使用符号位进行补位
运算规律: 向右移动几位,就是除以2的几次幂
3. >>> 无符号右移运算符,无论符号位是0还是1,都补0
3. 二维数组
动态初始化格式
1. 数据类型[][] 变量名 = new 数据类型[m][n];
m表示这个二维数组,可以存放多少个一维数组
n表示每一个一维数组,可以存放多少个元素
静态初始化格式
1. 数据类型[][] 变量名 = new 数据类型[][]{ {元素1, 元素2...} , {元素1, 元素2...}
2. 数据类型[][] 变量名 = { {元素1, 元素2...} , {元素1, 元素2...} ...};
4. 类和对象
面向对象和面向过程思想对比:
1. 面向过程: 是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的
2. 面向对象: 是一种以对象为中心的编程思想,通过指挥对象实现具体的功能
类和对象的关系
类:
1. 类是对现实生活中具有一类的共同属性和行为的事物的抽象描述
2. 类是对象的数据类型,类是具有相同属性和行为的一组对象的集合
3. 类是对现实事物的一种集合的描述
类的组成:
1. 属性: 事物的特征
2. 行为: 该事物所具有的独特操作
类和对象的关系:
1. 类是对现实生活中具有一类的共同属性和行为的事物的抽象描述
2. 对象是真实存在的实体
总结: 类是对事物的抽象描述,对象为真实存在的事物的实体
类的定义
类的组成是由属性和行为两个部分组成:
1. 属性: 在类中通过成员变量来体现
2. 行为: 在类中通过成员方法来体现
public class Dog {
// 属性: 姓名,年龄,毛发颜色
// 成员变量
String name;
int age;
String color;
// 行为: 吃
// 成员方法
public void eat() {
System.out.println("吃东西");
}
}
成员变量和局部变量
区别:
1. 类中位置不同:
成员变量在类中方法外定义
局部变量在方法内部或者方法声明上定义
2. 内存中位置不同:
创建成员变量时在堆内存中存放(当程序运行完,释放堆内存)
创建局部变量时在栈内存中存放(当该方法执行完,从栈内存中弹出)
3. 生命周期不同:
成员变量随着对象的存在而存在
局部变量随着方法的调用而存在(方法执行完毕后消失)
4. 初始化值不同:
成员变量有默认初始化值
局部变量没有默认初始化值,必须先定义赋值,才能使用
对象的创建和使用
1. 创建对象的格式:
类名 对象名 = new 类名();
2. 调用成员变量的格式:
对象名.成员变量
3. 调用成员方法的格式:
对象名.成员方法();
5. 封装
概述
封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节
封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。封装是一种信息隐藏技术,在java中通过关键字private,protected和public实现封装。什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。
封装的优点
封装(Encapsulation)是指将一种抽象性函数接口的实现细节部分包装、隐藏起来的方法.
1. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部定义的代码随机访问
2. 要访问该类的代码和数据,必须通过严格的接口控制
3. 封装最主要的功能体现在于我们能修改自己的实现代码,而不用修改那些调用我们的代码片段
4. 适当的封装可以让程序员更容易理解与维护,也加强了代码的安全性
1. 良好的封装能够减少耦合度
2. 类内部的结构可以自由修改
3. 可以对成员变量进行更精确的控制
4. 隐藏信息,实现细节
访问控制方式和限制范围
private(私用模式) | protected(保护模式) | package(包: 默认模式) | public(共用模式) | |
---|---|---|---|---|
同一类中 | √ | √ | √ | √ |
同一包子类,其他类 | √ | √ | √ | |
不同包子类 | √ | √ | ||
不同包其他类 | √ |
注意:
1. 对于class的权限修饰只可以用public和default
2. 类的成员(包括内部类)的修饰符可以是四种
3. 类的成员不写访问修饰时默认为default,默认对于同一包中的其他类相当于共用(public修饰),对于不是同一个包中的其他类相当于私用(private)
封装思想
1. 封装是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作
2. 封装原则: 将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类的方法来实现对隐藏信息的操作和访问
3. 封装优点(简化) :
通过方法来控制成员变量,提高了程序的安全性
把代码用方法进行封装,提高代码复用性
6. 构造方法
概述
1. 构造方法是一种特殊的方法(只用于创建对象的方法)
2. 作用: 创建对象
3. 功能完成对象数据的初始化
格式
类名 对象名(相当于变量名) = new 类名();
注意:
1. 方法名与类名相同,大小写必须一致
2. 没有返回值类型
3. 没有具体的返回值
4. 创建对象的时候调用构造方法,每创建一次对象就会执行一次构造方法
5. 不能手动调用构造方法
注意
1. 如果没有定义构造方法,系统将默认提供一个无参数的构造方法
2. 如果定义了构造方法,系统将不再提供默认的构造方法
3. 如果自定义了带参数的构造方法,需要使用无参数的构造方法时需要再写一个无参数的构造方法(重载)
4. 无论需要无参数构造方法,类里面需要有一个无参数的构造方法,无论是否使用(推荐)
7. String类
概述
1. String类在java.lang包下,所以使用时不需要导包
2. String类代表字符串,Java程序中的所有字符串文字(ps: "abc")都被实现为此类的实例也就是说,Java程序中所有的双引号字符串,都是String类的对象
3. 字符串不可变,字符串的值在创建后不能被更改
String类常用的构造方法
方法名 | 说明 |
---|---|
public String() | 创建一个空白的字符串对象,不含有任何内容 |
public String(char[] value) | 根据字符数组的内容,来创建字符串对象 |
public String(String original) | 根据传入的字符串内容,来创建字符串对象 |
String s = “abc”; | 直接赋值的方式创建字符串对象,内容为abc |
创建字符串对象的区别对比
1. 通过构造方法的创建:
通过new创建的字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同
2. 直接赋值方式创建:
以""方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中执行几次,JVM都只会创建一个String对象,并在字符串常量池中维护
String类常用方法
public boolean equals(Object anObject): 比较字符串的内容,严格区分大小写
public boolean equalslgnoreCase(String anotherString): 比较字符串的内容,忽略大小写
public int length(): 返回字符串的长度
public char charAt(int index): 返回指定索引处的char值
public char[] toCharArray(): 将字符串拆分为字符数组后返回
public String substring(int beginIndex, int endIndex): 根据开始和结束的索引值,进行截取,返回新的字符串(包含头,不包含尾)
public String substring(int beginIndex): 从传入索引处截取,截取到末尾,返回新的字符串
public String replace(CharSequence target, CharSequence replacement): 使用新值,将字符中的值替换,返回新的字符串(target是被替换的,replacement是替换的值)
public String[] split(String regex): 根据传入的规则切割字符串,返回字符串数组
8. StringBuilder类
概述
StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是StringBuilder对象中的内容是可变的
StringBuilder类和String类的区别
String类,内容不可变
StringBuilder类,内容可变
StringBuilder常用的构造方法
方法名 | 说明 |
---|---|
public StringBuilder() | 创建一个空白可变字符串,不包含任何内容 |
public StringBuilder(String str) | 根据字符串的内容,来创建可变字符串对象 |
StringBuilder常用的成员方法
方法名 | 说明 |
---|---|
public StringBuilder append(任意类型) | 添加数据,返回追加数据后的字符串,(返回对象本身) |
public StringBuilder reverse() | 返回相反的字符序列(反转) |
9. ArrayList
集合与数组的区别
共同点: 存储数据的容器
不同点: 数组的容量固定,集合容量是可变的
ArrayList构造方法
方法名 | 说明 |
---|---|
ArrayList() | 构造一个初始容量为十的空列表 |
ArrayList(int initialCapacity) | 构造具有指定初始容量的空列表 |
ArrayList(Collection<? extends E> c) | 构造一个包含指定集合的元素的列表,按照它们由集合的迭代器返回的顺序 |
ArrayList常用方法
方法名 | 说明 |
---|---|
public boolean remove(Object o) | 删除指定的元素,返回删除是否成功 |
public E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
public E get(int index) | 返回指定索引处的元素 |
public int size() | 返回集合中的元素的个数 |
最后
以上就是安静墨镜为你收集整理的JavaSE-day02-ArrayList1. 方法2. 进制的书写格式3. 二维数组4. 类和对象5. 封装6. 构造方法7. String类8. StringBuilder类9. ArrayList的全部内容,希望文章能够帮你解决JavaSE-day02-ArrayList1. 方法2. 进制的书写格式3. 二维数组4. 类和对象5. 封装6. 构造方法7. String类8. StringBuilder类9. ArrayList所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复