JavaSE笔记

本文详细介绍了Java编程中的变量命名规范,包括全小写项目名、常量全大写、驼峰式类名和变量名。此外,讲解了数组的声明、创建、初始化、赋值以及数组属性如length的使用。还涵盖了数组复制的多种方法,如copyOf、copyOfRange、arraycopy和clone。最后,讨论了String对象的长度获取、子串提取和与字符数组之间的转换。
摘要由CSDN通过智能技术生成

一、变量命名规范

涉及IDEA创建的:项目、模块、包、类
1.项目名、包名全部小写。

2.常量名全部大写。

public static final String GAME_COLOR=”RED”

3.类名首字母大写,一般使用驼峰式命名。

public class MyFirstClass{}

4. 变量名、方法名首字母小写,一般使用驼峰式命名。

int indexFinder = 0;

二、数组

1.数组的声明和创建

(1)一维数组

//声明,两种方式
int[] arr;
int arr[];
//声明时不能指定长度,因为声明时不分配内存


//创建
arr = new int[2];
arr = new int[]{1,2,3};//长度与元素不能同时出现

//声明与创建可以合二为一
int[] arr = new int[2];
int[] arr = new int[]{1,2,3};

(2)多维数组

//声明,两种方式
int[][] arr;
int arr[][];
//声明时不能指定长度,因为声明时不分配内存


//创建
arr = new int[2][];//第一个括号必须有值,可看做行数,每行为一个数组

//合二为一
int[][] arr = new int[2][];

2.数组的初始化

(1)一维数组

//数组的静态初始化
int a[] = new int[]{2, 0, 1};
    
//数组的动态初始化
int[] arr = new int[2];        
         
//数组的默认初始化,只指定长度,每个元素的值都是默认值
int[] arr = new int[2];

(2)多维数组

//数组的静态初始化
int a[][] = new int[][]{{2, 0}, {1, 2, 3}};//每行不必为等长
    

//数组的动态初始化
int[][] arr = new int[2][];//第一个括号必须有值,可看做行数,每行为一个数组        
//只指定长度,每个元素的值都是默认值

3.数组的赋值

使用大括号,中间用逗号“ , ”隔开。

int[] arr = new int[]{1,2,3};

4.数组的属性

(1)长度/元素个数

length

arr.length;

5.数组的复制

(1)

a.使用 copyOf() 方法和 copyOfRange() 方法:

Arrays 类的 copyOf() 方法与 copyOfRange() 方法都可实现对数组的复制。

copyOf() 方法是复制数组至指定长度

copyOfRange() 方法则将指定数组的指定长度复制到一个新数组中

其中copyof()方法底层是利用System.arraycopy()来实现的。
1. 使用 copyOf() 方法对数组进行复制

Arrays 类的 copyOf() 方法的语法格式如下:

Arrays.copyOf(dataType[] srcArray,int length);

其中,srcArray 表示要进行复制的数组,length 表示复制后的新数组的长度。

使用这种方法复制数组时,默认从原数组的第一个元素(索引值为 0)开始复制,目标数组的长度将为 length。如果 length 大于 srcArray.length,则目标数组中采用默认值填充;如果 length 小于 srcArray.length,则复制到第 length 个元素(索引值为 length-1)即止。

注意:目标数组如果已经存在,将会被重构。
2. 使用 CopyOfRange() 方法对数组进行复制

Arrays 类的 CopyOfRange() 方法是另一种复制数组的方法,其语法形式如下:

Arrays.copyOfRange(dataType[] srcArray,int startIndex,int endIndex)

其中:

1.srcArray 表示原数组。

2.startIndex 表示开始复制的起始索引,目标数组中将包含起始索引对应的元素,另外,startIndex 必须在 0 到 srcArray.length 之间。

3.endIndex 表示终止索引,目标数组中将不包含终止索引对应的元素,endIndex 必须大于等于 startIndex,可以大于 srcArray.length,如果大于 srcArray.length,则目标数组中使用默认值填充。

注意:目标数组如果已经存在,将会被重构。
b.使用 arraycopy() 方法

arraycopy() 方法位于 java.lang.System 类中,其语法形式如下:

System.arraycopy(dataType[] srcArray,int srcIndex,int destArray,int destIndex,int length)

其中,srcArray 表示原数组;srcIndex 表示原数组中的起始索引;destArray 表示目标数组;destIndex 表示目标数组中的起始索引;length 表示要复制的数组长度。

使用此方法复制数组时,length+srcIndex 必须小于等于 srcArray.length,同时 length+destIndex 必须小于等于 destArray.length。

注意:目标数组必须已经存在,且不会被重构,相当于替换目标数组中的部分元素。
c.使用 clone() 方法

        clone() 方法也可以实现复制数组。该方法是类 Object 中的方法,可以创建一个有单独内存空间的对象。因为数组也是一个 Object 类,因此也可以使用数组对象的 clone() 方法来复制数组。

        clone() 方法的返回值是 Object 类型,要使用强制类型转换为适当的类型。其语法形式比较简单:

                array_name.clone()

int[] targetArray=(int[])sourceArray.clone();

注意:目标数组如果已经存在,将会被重构。

总结:以上几种方法都是浅拷贝(浅复制)。浅拷贝只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化。深拷贝是将对象及值复制过来,两个对象修改其中任意的值另一个值不会改变。

三、String

1.长度

对于Array, length是一个数据成员(a data field)
     a = new int [100];
     a.length;
 对于String, length是方法(a method)
     String a = "abcde";
     a.length();

2.子串

s.substring(2, 10)

不包括2,包括10

String s = "Today is Monday";

s.substring(2,10):"day is M"

3.转换

(1)int 和 String 互相转换

int i = 1;

String转换为int / Integer

Intrger i = new interger(i);

Intrger i = Integer.valueOf(String);

Integer.parseInt(String);

int / Integer转换为String

方法一:String s = i + "";

方法二:String s = String.valueof(i);

方法三:(先转换为Integer类型,再调用toString方法):

            Intrger i = new interger(i);

            String s = i.toString();

方法四:String s = Integer.toString(i);

(2)String 和 char型数组互相转化

String转换为char数组

使用toCharArray()方法

String str = "hello";
char[] arr = str.toCharArray();

char数组转换为String

使用String的一个构造方法

char[] arr = ['h','e','l','l','o'];
String str = new String(arr);

str = String.valueOf(arr);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值