Java课堂笔记(上)

简介: 10.13Java课堂笔记数组二维数组匿名数组增强for循环字符串字符串中常用的API

10.13Java课堂笔记


数组

二维数组


声明:

类型 [ 行 ] [ 列 ] 数组的名字

    ///直接为每一维分配内存空间
    int [][]a = new int [2][3];
    ///分别
    int [][]b = new int [2][];
    b[0] = new int[3];
    b[1] = new int[2];


二维数组可以静态初始化,内存不是连续分配,所以每一维长度不一定相等

引用时,要给出两维的下标,比如:


b[1][1];


另外数组下标从0开始,遍历 的时候要注意不能大于等于length;


Java中含有java.util.Arrays 类,能方便进行数组操作;


fill 给数组元素负值


sort 升序排序


比较数组时可以使用equals


binarySearch 二分查找


搜索

查询元素出现的位置

需要注意的是,使用binarySearch进行查找之前,必须使用sort进行排序

如果数组中有多个相同的元素,查找结果是不确定的


clone 可以克隆数组


匿名数组


可以作为现用现写


增强for循环


可以遍历数组,也可以遍历集合

for(type name: 集合名) {
}


迭代变量必须在()中进行


类似C++中的 iterator 迭代器,不会出现数组越界的问题


※ 不能再增强for循环中给数组赋值


要想初始化要用普通的for循环来解决


二维数组怎么通过增强for循环实现输出 ?


int [][] arr = {{1,2},{3,4},{5,6}};
for(int [] row : arr) {
    for(int j : row) {
        System.out.println(j);
    }
}

使用for 循环对数组元素进行复制,要考虑到目标数组大小


System.arrary.copy 可以对数组进行拷贝


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OTKdBw6v-1609761105596)(C:\Users\wuyan\AppData\Roaming\Typora\typora-user-images\image-20201016104735416.png)]


错误的赋值方式:

int [][]num = new int[3][];
num[0][0]= 1;
num[0][1]= 2;
num[1][0]= 0;


字符串


双引号包裹着的一串字符:

“hello,world” "123.435"等

字符串存储在char 类型的数组中,一个字符占两个字节

String s1 = new String();
char[] a = {'b','o','y'};

常量字符串创建后会存储在字符串常量池中——享元模式


不提倡的创建字符串常量的方式


String s = new String("xyz");


字符串中常用的API


https://www.cnblogs.com/qiuqiu001/p/7806725.html


https://www.cnblogs.com/caigq/archive/2017/06/11/6985974.html


public int compareTo(String S)


当前字符串与S相同, 返回0,大于 正值,小于 负值


比较时采用Unicode来进行比较,字典序


如果不想区分大小写的时候可以使用 equalsIgnoreCase


字符串对比


问题描述


 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:

 1:两个字符串长度不等。比如 Beijing 和 Hebei

 2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing

 3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing

 4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beijing 和 Nanjing

 编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。


输入格式


 包括两行,每行都是一个字符串


输出格式


 仅有一个数字,表明这两个字符串的关系编号


样例输入


BEIjing
beiJing


样例输出


3


Code:


package shifengshou;
import java.util.Scanner;
public class Main {
  public static void main(String[] args) {
    //字符串对比
    Scanner in = new Scanner(System.in);
    String s1 = in.next();
    String s2 = in.next();
    if(s1.length() != s2.length())
    {
      System.out.println("1");
    }
    else
    {
      if(s1.equals(s2))//区分大小写的判断
      System.out.println("2");
      else if(s1.equalsIgnoreCase(s2))//忽略大小写的判断
      System.out.println("3");
    }
  }
}


getChar() 获得字母


subString() 字符串截取(注意函数值的问题)


concat字符串拼接


isEmpty()判断是否非空""注意和 isBlank() 的区别关系


indexOf(String s);


indexOf(String s,int startpoint);


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s46E1Shp-1609761105599)(C:\Users\wuyan\AppData\Roaming\Typora\typora-user-images\image-20201016113748110.png)]


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6sPwWQiU-1609761105600)(C:\Users\wuyan\AppData\Roaming\Typora\typora-user-images\image-20201016114004045.png)]



目录
相关文章
|
10月前
|
存储 Java 开发者
【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。
本文详细介绍了 Java 中 `toString()` 方法的重写技巧及其重要
525 10
【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。
|
10月前
|
前端开发 JavaScript Java
Java构建工具-maven的复习笔记【适用于复习】
这篇文档由「潜意识Java」创作,主要介绍Maven的相关知识。内容涵盖Maven的基本概念、作用、项目导入步骤、依赖管理(包括依赖配置、代码示例、总结)、依赖传递、依赖范围以及依赖的生命周期等七个方面。作者擅长前端开发,秉持“得之坦然,失之淡然”的座右铭。期待您的点赞、关注和收藏,这将是作者持续创作的动力! [个人主页](https://blog.csdn.net/weixin_73355603?spm=1000.2115.3001.5343)
253 3
|
11月前
|
Java 数据库连接 编译器
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
236 0
|
11月前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
11月前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
12月前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
180 2
|
12月前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
79 0
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)