Java基础知识-数组与字符串

数组

声明

  1. 类型[] 数组名//建议使用
  2. 类型 数组名[]

    数组声明后不会分配内存,必须new

  3. 数组名 = new 类型[大小]

    e.g.

int [] arr = new int[8];

使用

数组下标从0开始

赋值

数组名[下标]=数据

e.g.

arr[5]=8;

访问

数组名[下标]

e.g.

System.out.println(arr[5]);

初始化

动态初始化

先声明,再赋值

静态初始化

声明的同时赋值:类型[] 数组名 = {数据1, 数据2, 数据3,…}

e.g.

int[] arr = {1, 5, 9, 8, 7};

二维数组

二维数组即二维表,二维数组的每一行都是一个一位数组

声明

同一维数组声明

类型[][] 数组名 = new 类型[行数][列数]

e.g.

int [][] arr = new int[5][5]

使用
赋值

数组名[i][j] = 数据

e.g.

arr[3][5]=9;

初始化
动态初始化

先声明,再赋值

静态初始化

类型[][] = {{第一行数据},{第二行数据},{第三行数据},…}

字符串

声明

  1. String 变量名 = "数据"; //建议使用
  2. String 变量名 = new String("数据");

比较

基本类型可使用==比较大小,String类型必须使用equals方法:

字符串1.equals(字符串2)

e.g.

str1.equals(str2);

常用方法


方法


功能


返回类型


length()


求字符串长度


int


toCharArray()


将字符串转为char数组


char []


charAt(int i)


求第i个下标的字符


char


indexOf(String s)


求s在本字符串的起始位置


int


trim()


取出前后空格


String

其他

String每次改变内容,都会开辟新内存空间,更改地址。

String是作为值传递的。

StringBuffer

动态分配内存地址的String类,提高效率

StringBuilder

单线程下,StringBuilder比StringBuffer快

原文地址:https://www.cnblogs.com/AlMirai/p/12520405.html

时间: 2024-10-08 21:06:43

Java基础知识-数组与字符串的相关文章

JAVA基础知识--数据类型和字符串

一.数据类型 1.java中,所有的数值类型所占的字节数量和平台无关,java中没有无符号类型 2.对于溢出的浮点型,用NaN表示.Double.isNaN(x) 3.char类型占2个字节 4.布尔类型不能与整数互相转换,避免了c++中if(x=3)的问题,若实在要转换可以用?: 5.&& || 会短路 6.两个操作数 如果有一个是double,则另一个将转成double 如果有一个是float,则另一个将转成float 如果有一个是long,则另一个将转成long:否则都是int 二.

整理Java基础知识--数组1

Java 数组数组是用来存储固定大小的同类型的元素声明数组必须先声明 才能使用datatype[] arrayRefVar;//首选 []放在最后是为了C/C++的快速理解Javachar[] ch ;或者 char ch[];char ch = new char[arraySize];1.创建一个char数组 含有 arraySize元素2.把新建 char数组的引用 赋值给变量ch数组的使用 public class TestArr{ public static void main(Stri

java基础知识—数组

1.数组:是一个变量,存储相同数据类型的一组数据. 2.数据的优点:减少代码量.易查找. 3.数组的使用步骤: 1)声明数组:int scores []: 2)开辟空间:scores = new int [5]; 3)赋值:scores [0] = 100: 4)使用:scores [0] = scores [0] + 20; 4.数组的声明的三种方式: 1)int num[]=new int[5]{1,2,3,4,5}; 2)int num[]=new int[数组的长度]: 3)int nu

java基础知识回顾之---java String final类普通方法的应用之“按照字节截取字符串”

/*需求:在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符.但对应的字节数不同,一个汉字占两个字节.定义一个方法,按照最大的字节数来取子串.如:对于“ab你好”,如果取三个字节,那么子串就是ab与“你”字的半个,那么半个就要舍弃.如果去四个字节就是“ab你”,取五个字节还是“ab你”.*/ 代码:其实是一个解码和编码的问题,要明白UTF-8码表和GBK码表的区别,UTF-8中用三个字节代表一个汉字,GBK使用2个字节代表一个汉字. 且在码表中都是用数字存放这些汉字.

java基础知识回顾之---java String final类普通方法的应用之字符串数组排序

/* * 1,给定一个字符串数组.按照字典顺序进行从小到大的排序. * {"nba","abc","cba","zz","qq","haha"} *  * 思路: * 1,对数组排序.可以用选择,冒泡都行. * 2,for嵌套和比较以及换位. * 3,问题:以前排的是整数,比较用的比较运算符,可是现在是字符串对象. *   字符串对象怎么比较呢?爽了,对象中提供了用于字符串对象比较的功能

java基础知识回顾之javaIO类--内存操作流ByteArrayInputStream和ByteArrayOutputSteam(操作字节数组)

直接看代码: package cn.itcast.io.p6.bytestream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; public class ByteArrayStreamDemo { /** * @param args * @throws IOException * 特点 * 1.内存操作流 * 2.不操作底层资源,不调

java基础知识回顾之---java String final类普通方法的应用之“模拟字符串Trim方法”

/* * 4,模拟一个trim功能一致的方法.去除字符串两端的空白  * 思路: * 1,定义两个变量. * 一个变量作为从头开始判断字符串空格的角标.不断++. * 一个变量作为从尾开始判断字符串空格的角标.不断--. * 2,判断到不是空格为止,取头尾之间的字符串即可. *  *  使用char charAt(int index);方法根据index索引,取出字符串 *  使用String substring(int beginIndex, int endIndex)//包含begin 不包

java基础知识回顾之---java String final类普通方法的应用之“两个字符串中最大相同的子串”

/* * 3,两个字符串中最大相同的子串. * "qwerabcdtyuiop" * "xcabcdvbn" *  * 思路: * 1,既然取得是最大子串,先看短的那个字符串是否在长的那个字符串中. *   如果存在,短的那个字符串就是最大子串. * 2,如果不是呢,那么就将短的那个子串进行长度递减的方式取子串,去长串中判断是否存在. *   如果存在就已找到,就不用在找了. * 3.先找最大的子串,再递减子串找,找到,就停止 */ 原理图如图: 代码: publi

java基础知识回顾之---java String final类普通方法

辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      *      * 1,获取:     * 1.1 获取字符串中字符的个数(长度).     *         int length();     * 1.2 取字符串中的某一个字符,其中的参数index指的是字符串中序数.字符串的序数从0开始到length()-1 .     *