java第4天:String static Arrays类,Math类
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类的更多相关文章
- Java基础学习笔记之:System类;Math类;Arrays类BigInteger,BigDecimal
System类 在API中System类介绍的比较简单,我们给出定义,System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作.System类不能手动创建对象,因为构造方法被priva ...
- Java开发知识之Java的数字处理类Math类
Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...
- 处理数字的类 —— Math类 、 Random类 、 BigDecimal类 与 BigInteger类
在我们学习C语言时,我们处理数据时要调用很多函数,那么,Java也有很多的方法可以来处理数值的类. 那么,在本篇博文中,本人就来讲解三个用于处理数值的类 -- Math类 . Random类 与 Bi ...
- Scanner类、匿名对象、Random类、ArrayList集合、String类、static静态类、math类和Arrays工具类
一.Scanner类 1.除了八种基本数据类型,其他都是引用类型: 引用类型使用三步骤: 2.Scanner类 引用jdk提供的类,Scanner在java.util包下,不在java.lang包(S ...
- Java—包装类/System类/Math类/Arrays类/大数据运算/Collection接口/Iterator迭代器
基本类型包装类 8种基本类型对应的包装类如: 将字符串转成基本类型: 将基本数值转成字符串有3种方式: 基本类型直接与””相连接即可:34+" " 调用String的valueOf ...
- API(Scanner、Random、ArrayList、String、Arrays、Math)
Scanner import java.util.Scanner; /* public int nextInt(): to get a integer from keyboard public Str ...
- Java探索之旅(4)——方法和Random&Math类
1.基本知识点 ❶方法在C++里面称为函数.调用方法时,应该类型兼容--即不需显式类型转换即可将形参传递给实参. ❷形参的改变不影响实参的值. ❸Java注重模块化设计和自顶向下的设 ...
- 日期类&&包装类&&System类&&Math类&&Arrays数组类&&大数据类
day 07 日期类 Date 构造函数 Date():返还当前日期. Date(long date):返还指定日期 date:时间戳--->距离1970年1月1日 零时的毫秒数 常用方法 日期 ...
- java基础之二:取整函数(Math类)
在日常开发中经常会遇到数字的情况,有关数据的场景中会遇到取整的情况,java中提供了取整函数.看下java.lang.Math类中取整函数的用法. 一.概述 java.lang.Math类中有三个和取 ...
随机推荐
- 牛客小白月赛4 J 强迫症 思维
链接:https://www.nowcoder.com/acm/contest/134/J来源:牛客网 题目描述 铁子最近犯上了强迫症,他总是想要把一个序列里的元素变得两两不同,而他每次可以执行一个这 ...
- CF - 652 D Nested Segments
题目传送门 题解: 可以将所有线段按照左端点优先小,其次右端点优先大进行排序. 然后对于第 i 条线段来说, 那么第 i+1 ---- n 的线段左端点都一定在第i条线段的右边, 接下来就需要知道 i ...
- codeforces 810 D. Glad to see you!(二分+互动的输入方式)
题目链接:http://codeforces.com/contest/810/problem/D 题意:两个人玩一场游戏要猜出Noora选的f种菜的任意两种.一个人猜点另一个人回答 TAK如果 ,(x ...
- 题解 bzoj 2151 种树
题意 传送门 手写堆大法好啊,题解貌似没有结构体堆的做法,思路有些像配对堆,关于配对堆请自行百度,因为本蒟蒻不会.. 以下是蒟蒻的做法:建立一个大根堆a维护最大价值里面存入它的编号以及价值.听说配对堆 ...
- 微信小程序 select 下拉框组件
一.源码地址 https://github.com/imxiaoer/WeChatMiniSelect 二.效果图 录屏图片质量较差,所以大家会看到残影(捂脸) 三.组件源码 1. select.wx ...
- 201871010134-周英杰《面向对象程序设计(java)》第二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- python自学Day02(自学书籍python编程从入门到实践)
第三章 列表简介 3.1 列表是什么 按特定顺序排列的元素组成. 元素类型可以是任意数据类型. 元素之间没有任何的关系. 在python中用中括号 [] 括起来并用 ,号隔开 3.1.1 访问列表元素 ...
- window下tomcat的下载安装和环境配置
一.下载安装tomcat 去官网:http://tomcat.apache.org/ 下载自己所需要的版本,解压在没有中文的文件夹路径下. 直接打开压缩包下面,进入bin目录,双击startup.b ...
- Nginx 的三大功能
1.HTTP服务器 Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML.图片)通过HTTP协议展现给客户端. 2.反向代理服务器 Nginx也是反向代理服务器. 说反向代理之前先说一 ...
- 05 (OC) 二叉树 深度优先遍历和广度优先遍历
总结深度优先与广度优先的区别 1.区别 1) 二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列. 2) 深度优先遍历:对每一个可能的分支路径深入到不能再深入 ...