1 字符串的概述和特点

字符串一旦创建,是不可变的。

有双引号的就是字符串
***

2 字符串的三种构造方法

2-1 第一种:

格式:String str = new String();|
:-|

2-2 第二种:

格式:char[] chararray = {'a','b'};|
:-|
String str2 = new String(chararray);|

2-3 第三种

格式:byte[] bytearray ={97,98};|
:-|
String str3 = new String(bytearray);|
***

3 字符串的常量池

对于”==“来说,基本类型就是对数值的比较,引用类型则是针对地址的比较。
***

4 —10字符串的常用方法

字符串方法 解释
str1.equals(str2) 比较两个字符串是否一样,区分大小写,返回布尔值
str1.equalsIgnoreCase(str2) 比较两个字符串是否一样,不区分大小写,返回布尔值
str.length 字符串长度
str1.concat(str2) 两个字符串拼接
str1.charAt(0) 索引位置0的字符
str1.indexOf('H') 查看H字符在字符串首次出现的位置
str1.substring(5) 切片,从索引5到末尾
str1.substring(5,10) 从索引5-9[5,9)
str1.toCharArray(); 字符串转换为字符数组
str1.getBytes(); 将字符串转为字节数组
str1.replace("hell","soft"); 字符串的替换,新生成一个字符串
char[] res = str2.split(","); 将字符串按照逗号分隔

11 Static静态成员变量内存图


12 Static修饰成员变量

静态成员变量内容不属于对象,属于类,通过类调用。

12-1定义一个学生类

package demo1;

public class Student {
   private String name;
   private int age;
   static String room;

   public Student(String name, int age) {
       this.name = name;
       this.age = age;
   }

   public Student() {
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }

   public int getAge() {
       return age;
   }

   public void setAge(int age) {
       this.age = age;
   }

}

12-1 创建学生类对象,通过类名直接调用Static成员变量

package demo1;

public class demo2 {
    public static void main(String[] args) {
        Student.room = "1001";
        Student stu1 = new Student("wangsiyu",18);
        Student stu2 = new Student("wangpei",16);

        System.out.println("姓名:"+stu1.getName());
        System.out.println("年龄:"+stu1.getAge());
        System.out.println("教室:"+Student.room);

        System.out.println("姓名:"+stu2.getName());
        System.out.println("年龄:"+stu2.getAge());
        System.out.println("教室:"+Student.room);

    }
}

13 static修饰成员方法

1.有static的成员方法可以直接通过类来调用成员方法,不需要通过对象调用。
2.对于本类中的静态方法,可以省略类名称
3.静态方法可以访问静态成员变量,不能访问非静态成员变量

13-1 创建学生类

package demo1;

public class Student {
    String name = "wangsiyu";
    static int room = 1024;

    public static void sleep(){
//        静态成员方法不能调用非静态成员变量
        System.out.println(room);
    }
}

13-2 实例化类

package demo1;

public class myclass {
    public static void main(String[] args) {
//        静态成员变量,通过类直接调用
        System.out.println(Student.room);
//        静态成员方法,通过类直接调用
        Student.sleep();
    }
}

14 静态代码块

1.当用到本类,静态代码执行唯一的一次
2.静态代码块先于构造方法执行,执行唯一的一次。

package demo1;

public class staticcode {
    static{
        System.out.println("hello");
    }
    public static void Student(){
        System.out.println("我是学生方法");
    }
}

15 数组工具类Arrays

Arrays是一个和数组相关的工具类,里面提供了大量关于数组的静态方法。
将数组转为特定格式字符串|Arrays.toString(数组);
:-|:-

package demo1;
import java.util.Arrays;
public class test {
    public static void main(String[] args) {
        int[] array1 = {1,2,3,4,56,67};
        String res = Arrays.toString(array1);
        System.out.println(res);
//[1, 2, 3, 4, 56, 67]
    }
}
将数组进行排序 Arrays.sort(数组);
package demo1;
import java.util.ArrayList;
import java.util.Arrays;
public class test {
    public static void main(String[] args) {
        int[] array1 = {1,2,88,4,56,67};
        Arrays.sort(array1);
        System.out.println(array1);
        for (int i = 0; i < array1.length; i++) {
            System.out.println(array1[i]);
        }
    }
}

16 字符串倒序排列

package demo1;
import java.util.ArrayList;
import java.util.Arrays;
public class test {
    public static void main(String[] args) {
//        声名一个字符串
        String str1 = "hsfljfoisdjtksd";
//        将字符串转为字符数组
        char[] res = str1.toCharArray();
//        对数组进行排序
        Arrays.sort(res);
//        将数组转为字符串
        String str3 = Arrays.toString(res);
        System.out.println(str3);
    }
}

17 Math类

绝对值 Math.ads(); double
Math.PI double
向上取整 Math.ceil() double
向下取整 Math.floor() double
四舍五入 Math.round() int

java第4天:String static Arrays类,Math类的更多相关文章

  1. Java基础学习笔记之:System类;Math类;Arrays类BigInteger,BigDecimal

    System类 在API中System类介绍的比较简单,我们给出定义,System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作.System类不能手动创建对象,因为构造方法被priva ...

  2. Java开发知识之Java的数字处理类Math类

    Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...

  3. 处理数字的类 —— Math类 、 Random类 、 BigDecimal类 与 BigInteger类

    在我们学习C语言时,我们处理数据时要调用很多函数,那么,Java也有很多的方法可以来处理数值的类. 那么,在本篇博文中,本人就来讲解三个用于处理数值的类 -- Math类 . Random类 与 Bi ...

  4. Scanner类、匿名对象、Random类、ArrayList集合、String类、static静态类、math类和Arrays工具类

    一.Scanner类 1.除了八种基本数据类型,其他都是引用类型: 引用类型使用三步骤: 2.Scanner类 引用jdk提供的类,Scanner在java.util包下,不在java.lang包(S ...

  5. Java—包装类/System类/Math类/Arrays类/大数据运算/Collection接口/Iterator迭代器

    基本类型包装类 8种基本类型对应的包装类如: 将字符串转成基本类型: 将基本数值转成字符串有3种方式: 基本类型直接与””相连接即可:34+" " 调用String的valueOf ...

  6. API(Scanner、Random、ArrayList、String、Arrays、Math)

    Scanner import java.util.Scanner; /* public int nextInt(): to get a integer from keyboard public Str ...

  7. Java探索之旅(4)——方法和Random&Math类

    1.基本知识点    ❶方法在C++里面称为函数.调用方法时,应该类型兼容--即不需显式类型转换即可将形参传递给实参.    ❷形参的改变不影响实参的值.    ❸Java注重模块化设计和自顶向下的设 ...

  8. 日期类&&包装类&&System类&&Math类&&Arrays数组类&&大数据类

    day 07 日期类 Date 构造函数 Date():返还当前日期. Date(long date):返还指定日期 date:时间戳--->距离1970年1月1日 零时的毫秒数 常用方法 日期 ...

  9. java基础之二:取整函数(Math类)

    在日常开发中经常会遇到数字的情况,有关数据的场景中会遇到取整的情况,java中提供了取整函数.看下java.lang.Math类中取整函数的用法. 一.概述 java.lang.Math类中有三个和取 ...

随机推荐

  1. ☆1003 Dijstra

    循环N次 算法分为两部分: 1)找到距离最小的城市,找不到距离更小的城市时退出方法 2)更新距离 实际操作时,先初始化: 更新dis为INF,更新dis[start] = 0: 变种: 找最短路径的条 ...

  2. Java 添加Word文本框

    在Word中,文本框是指一种可移动.可调节大小的文字或图形容器.我们可以向文本框中添加文字.图片.表格等对象,下面,将通过Java编程来实现添加以上对象到Word文本框. 使用工具:Free Spir ...

  3. 【Offer】[29] 【顺时针打印矩阵】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 例如,如果输入如下矩阵:  则依次打印出数字1,2,3,4,8,12, ...

  4. CodeBenchmark之压力测试详解

    CodeBenchmark是一款高性能可视化的并发测试组件,通过组件可以对任意逻辑代码或服务进行并发测试:组件最终通过可视化的方式来显示测试结果,在测试结果中可以看到具体的并发情况和处理延时的分布.组 ...

  5. FastJson格式化Request对象导致的一次异常思考

    一.问题描述: 近期,在环境中出现一个阻塞性的异常“nested exception is java.lang.IllegalStateException: It is illegal to call ...

  6. 每天学会一点点(spring-mvc.xml与web.xml配置文件)

    1.spring-mvc.xml中拦截器的使用 首先在springMVC.xml配置如下代码: <!-- 拦截器 --> <mvc:interceptors> <bean ...

  7. 基于python的selenium两种文件上传操作

    方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法. 方法二.非input标签上传 这种上传方 ...

  8. linux 操作系统级别监控 TOP命令

    Top命令是Linux下一个实时的.交互式的,对操作系统整体监控的命令,可以对CPU.内存.进程监控. 是Linux下最常用的监控命令. 第一行是任务队列信息 1 user 当前登录用户数load a ...

  9. HttpClient远程接口调用-实名认证

    1.HttpClient远程接口调用 1)用户注册 注册按钮button提交表单时,要return false form表单 <!-- action="http://localhost ...

  10. [Leetcode] 第318题 最大单词长度乘积

    一.题目描述 给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母.你可以认为每个单词只包含小写字母.如果不 ...