Scanner类、匿名对象、Random类、ArrayList集合、String类、static静态类、math类和Arrays工具类
一、Scanner类
1、除了八种基本数据类型,其他都是引用类型;
引用类型使用三步骤:

2、Scanner类

引用jdk提供的类,Scanner在java.util包下,不在java.lang包(String)下使用的都要import,查找jdk api,看构造方法创建对象,再看成员方法实现功能;
3、Scanner实现在控制台接收键盘输入的两个Int值相加

4、Scanner类比较找出三个数中最大值

二、匿名对象
1、只使用一次:因为每次new都创建新的对象,再使用时候找不到那个堆内存中的之前的匿名对象


2、使用匿名对象作为方法的入参和返回值
匿名对象只是在对象被创建的时候没有栈内存中没有引用对象名称存放堆内存中对象的地址值,后面作为方法的入参和返回值被接收命名之后,就可以无数次用了;
匿名对象直接调用成员方法、使用匿名对象作为方法的入参和返回值:

三、Random类——生成随机数字
1、引用类型使用:导包(除了java.lang包)、创建、使用——jdk api中的 包路径、构造方法、成员方法

2、Random类重载的nextInt()方法,有参数的nextInt()方法

左闭右开区间,
3、获取几到几的随机数

eg. 获取6到666的随机数
new Random().nextInt(601)+6;
4、猜数字游戏

while(true)循环体中一定要有break存在;

需要重复的操作放在循环体中,不需要的放在外面;
四、ArrayList
1、数组对象

2、ArrayList解决数组长度不可变的问题
泛型是集合中所有元素的同意数据类型,必须定义,必须是引用类型;

定义集合,jdk1.7之后右边的泛型可以省略;

常用成员方法,add()是一定成功,返回的boolean可以不接收;

3、包装类

jdk1.5之后会自动装箱和自动拆箱:

五、String类
1、String 的长度和类型不可变,每次变的时候是因为创建了新的String对象,只不过是用双引号赋值,不是new的方式创建,也是引用类型;

2、创建String对象——String类的构造方法

引用类型String不赋初值默认是null;直接双引号赋值时候,jvm会自动帮调用String类的构造方法,相当于new;

str3输出的是“ABC”,把ASCII码值对应的字符串起来输出;
3、字符串常量池
jdk1.7之后堆内存中有一块内存区域叫字符串常量池,直接双引号赋值的String类对象就在字符串常量池中,字符串常量池中字符串对象存储的也是地址值,指向堆内存中这个String对象底层的byte[]数组对象的地址值;
String底层是byte[],每个元素是字符的ASCII码值;

4、String类引用类型对象比较

equalsIgnoreCase(String str)忽略的是英文字母的大小,不忽略中文数字一1壹;应用:验证码不区分大小写
5、String类的常用方法

String类引用对象值有变化,那就是创建了新的String对象;

indexOf如果有就返回所在的索引值,重复的返回第一个索引值;
字符串截取方法:

字符串转换方法:

转换成字节数组,字节流时候用的上;
替换指定字符串,应用:过滤敏感字符串;

字符串分割方法:


正确切割:
6、字符串拼接练习题:

运行结果:
7、字符串内容判断练习题:

字符char类型在数学运算时候会自动转换成int类型,所以可以不用转ASCII值int类型,直接进行字符的大小比较判断;
六、static静态
1、定义在类中,改变值则所有该类的引用对象都变

2、static修饰成员变量即类属性用法
一个对象这个静态变量值变,所有该类引用对象都变;
定义类:

创建类的引用对象:

定义了第一个对象的room属性值,,则后面的不定义也有同样的值,运行结果:

3、static修饰方法

类加载时,先加载静态内容,所以静态方法中不能访问非静态成员变量和成员方法;
不能用this因为静态方法是直接用类调用,this代表的是当前引用对象;
用引用对象也可以调用静态变量和静态方法,编译器会自动翻译成类名调用;
4、static内存图
方法区中的静态区,类字节码信息也就是点class文件信息存在方法区中;

5、静态代码块

创建类:

创建两个引用对象:


七、Arrays工具类
局部变量、基本数据类型值和引用对象名(存放的堆内存中该对象的地址值)存在栈内存中,方法压栈执行,结束立即弹出消失,只执行最上面的;
创建的引用类型对象在堆内存中,堆内存中有一块字符串常量池——双引号赋值创建的String类对象;
方法区存的是类的编译字节码文件信息即class文件信息,包括成员变量和成员方法,以及静态变量和静态方法,有一块区域叫静态区;
1、Arrays是为数组提供了若干方法的一个工具类,常用方法:

2、将一个随机字符串中所有字符倒叙排序


八、Maths工具类
工具类一般都是封装了大量的静态方法,直接类名点调用
1、Maths工具类常用的静态方法

2、计算两个数值之间整数多少个



Scanner类、匿名对象、Random类、ArrayList集合、String类、static静态类、math类和Arrays工具类的更多相关文章
- java自学第4期——:Scanner类、匿名对象介绍、Random类、ArrayList集合、标准类格式、String类、static静态、Arrays工具类、Math类(1)
一.Scanner类 1.api简介: 应用程序编程接口 2.Scanner类: 作用:获取键盘输入的数据 位置: java.util.Scanner. 使用:使用成员方法nextInt() 和 ne ...
- 将实体类/匿名对象转换为SqlParameter列表
每次操作数据库参数化实在是太麻烦了,于是自己瞎琢磨,琢磨出下面扩展方式,能力有限,还有不足之处,请多多指教. /// <summary> /// <remarks> /// & ...
- 匿名实现类&匿名对象
学习过程中经常搞不清匿名类&匿名对象怎么用,今天就把常用的方式总结一遍. 1.创建了非匿名实现类的非匿名对象 //定义USB接口 interface USB{ void inputInofo( ...
- Java精选笔记_集合概述(Collection接口、Collections工具类、Arrays工具类)
集合概述 集合有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体.集合被用于存储.获取.操纵和传输聚合的数据. 使用集合的技巧 看到Array就是数组结构,有角标,查询速 ...
- 浅谈集合框架六——集合扩展:Arrays工具类、集合与数组相互转换方式;
最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...
- Java:集合,Arrays工具类用法
1. 描述 Arrays工具类提供了针对数组(Array)的一些操作,比如排序.搜索.将数组(Array)转换列表(List)等等,都为静态(static)方法: binarySearch - 使用二 ...
- Java基础知识强化之集合框架笔记33:Arrays工具类中asList()方法的使用
1. Arrays工具类中asList()方法的使用 public static <T> List<T> asList(T... a): 把数组转成集合 注意事项: 虽然可以把 ...
- Java集合框架:Arrays工具类
java.util.Arrays类能方便地操作数组,它提供的方法都是静态的.整个Arrays工具类的实现有3000+行.可是归纳总结一下可知它有下面功能(9个): 1. asList 定义: @Saf ...
- java数据结构1--数组、排序和Arrays工具类
数组:Array 数组的定义 数组的内存结构 数组定义常见问题 数组常见操作 Java参数传递问题--值传递 二维数组 1.数组概念 同一种类型数据的集合,可以是基本数据类型,也可以是引用数据类型. ...
随机推荐
- Centos忘记密码怎么修改
使用Centos系统忘记密码 在我们日常使用Centos系统时,有些人不免会出现一个共同的问题:忘记登录密码! 我们总不能再重装一遍吧! 接下来我们就分两种情况来看看: Centos系统在云服务器 C ...
- pytest框架fixture的使用
fixture可以当做参数传入 定义fixture跟定义普通函数差不多,唯一区别就是在函数上加个装饰器@pytest.fixture(),fixture命名不要以test开头,跟用例区分开.fixtu ...
- 基于Unity的A星寻路算法(绝对简单完整版本)
前言 在上一篇文章,介绍了网格地图的实现方式,基于该文章,我们来实现一个A星寻路的算法,最终实现的效果为: 项目源码已上传Github:AStarNavigate 在阅读本篇文章,如果你对于里面提到的 ...
- 字节跳动Android面试凉凉,挥泪整理面筋,你不看看吗?
想在金九银十找工作的现在可以开始准备了,这边给大家分享一下面试会遇到的问题. 找工作还是需要大家不要担心,由于我们干这一行的接触人本来就不多,难免看到面试官会紧张,主要是因为怕面试官问的答不上来,答不 ...
- 90%的开发者都不知道的UI本质原理和优化方式
前言 很多开发者在工作中一直和UI打交道,所以认为UI非常的简单! 事实上对于90%的开发者来说,不知道UI的本质原理. 虽然在开发中,我们在接到产品的UI需求之后,可以走捷径照抄大型APP代码,但是 ...
- 算法竞赛中的常用JAVA API :HashSet 和 TreeSet(转载)
算法竞赛中的常用JAVA API :HashSet 和 TreeSet set set容器的特点是不包含重复元素,也就是说自动去重. HashSet HashSet基于哈希表实现,无序. add(E ...
- 熬夜肝了一份 C++/Linux 开发学习路线
大家好,我是帅地. 之前写过几篇学习路线的文章 前端开发学习路线 Java 后端开发学习路线 一般开发岗主流的就是 Java 后台开发,前端开发以及 C++ 后台开发,现在 Go 开发也是越来越多了, ...
- git连接远程GitHub仓库详细总结 for HTTPS协议
简单唠叨几句哈.之前工作的时候,由于是在大厂,代码提交.版本管理都是多人协作的,所以公司当时用的git + gerrit来实现代码管理的.当时入职时并不懂git的使用,虽然有大神写好配置git的文档, ...
- SpringBoot开发一
项目介绍 牛客高级项目课,主要是完成牛客网的讨论社区的搭建.项目在github上. 涉及到的技术架构: Spring,SpringBoot,SpringMVC,MyBatis,Redis,Kafka( ...
- 基于Vue2和Node.js的反欺诈系统设计与实现
最近包工头喊农民工小郑搬砖,小郑搬完砖后沉思片刻,决定写篇小作文分享下,作为一个初学者的全栈项目,去学习它的搭建,到落地,再到部署维护,是非常好的. ------题记 写在前面 通过本文的学习,你 ...