Java第四天,随机数如何生成?ArrayList如何使用?
虽然很多时候我们查阅Java API文档,但是对于一些必要的类,我们还是需要去了解的。因为这样的情况下,我们就可以尽量的去缩短开发的周期。接下来我们认识一下哪些API类是必须熟记的。
Random
这是一个随机数类,可以产生制定范围的随机数。具体使用方法如下 :
public class randomLearn {
public static void main(String[] args){
System.out.println(''您获得的随机数是'' + getRandom(100));
}
public static int getRandom(int scope){
Random r = new Random();
return r.nextInt(scope);
}
}
程序截图
本程序中我们只是示例使用了获取Int类型的随机数。也可以获取其他类型的。r.nextInt(x); 中的x是设定的取值范围,可以为空,如果为空的话,获取的就是int类型的范围。
2.ArrayList<E>
我们需要注意以下几点.
(1).Java中可以用数组存储对象,即对象数组,但是它是引用类型,本质就是存储的地址值,这点要切记。
(2).对象数组虽然可以用来存储对象,但是它定义好以后就不能扩充空间了。
(3).ArrayList的出现就是为了解决数组无法动态增加空间的这个问题。有点类似与C语言中数组和链表的区别。
(4).后面的 <E> 是泛型的意思。就是说这个ArrayList集合所存储的数据类型由<>中的内容制定。即 E 类型。
(5).泛型只能是引用类型,不能是基本类型。切记。
(6).除了ArrayList集合,其他集合的add添加动作不一定成功。所以需要判断。
(7).ArrayList如果想添加基本类型,可以使用基本类型对应的包装类(java就两种数据类型,一种是基本类型,一种是引用类型)。
(8).对于Arraylist,直接使用打印输出的是集合中存储的值,而并非地址值。
public class arrayListLearn {
public static void main(String[] args){
showInfoOne();
showInfoTwo();
}
public static void showInfoOne(){
person one = new person(20,''小李'');
person two = new person(21,''小理'');
person three = new person(22,''小丽'');
person[] crowd = new person[3];
crowd[0] = one;
crowd[1] = two;
crowd[2] = three;
for(int i = 0;i < 3;i++){
System.out.println(''第'' + (i + 1) + ''个学生是'' + crowd[i].getAge() + ''岁的'' + crowd[i].getName() + ''同学'');
}
}
public static void showInfoTwo(){
ArrayList<person> crowd = new ArrayList<>();
crowd.add(new person(50,''小王''));
crowd.add(new person(51,''小旺''));
crowd.add(new person(52,''小望''));
for (int i = 0; i < crowd.size(); i++) {
System.out.println(''姓名:'' + crowd.get(i).getName() + '',年龄:'' + crowd.get(i).getAge());
}
}
}
class person{
int age;
String name;
person(int age,String name){
this.age = age;
this.name = name;
}
int getAge(){
return this.age;
}
String getName(){
return this.name;
}
}
程序截图
3.String
注意:
(1)Java代码中的所有字符串类型都是String类的对象,即使没有用new。
(2)Java代码中,字符串(String)是常量,一旦定义则不可更改。
(3)Java中,字符串有四种创建方式,其中包括一种直接创建方式和三种构造创建方式。
(4).Java中,“==” 对于基本类型来说是数值的比较,而对于引用对象来说,它进行的是地址值的比较。
(5).双引号创建的字符串在常量池当中,但new的不在常量池当中。
(6) 基本类型、局部变量是存放于栈内存中的。
(7) new创建的实例化对象及数组,是存放于堆内存当中,用完之后靠垃圾回收机制不定期自动消除。
三种构造创建方式:
public String();
public String(char[] chars);
pubilc String(byte[] bytes);
代码:
public class stringLearn {
public static void main(String[] args) {
showInfoOne();
showInfoTwo();
showInfoThree();
}
public static void showInfoOne(){
String infoOne = new String();
System.out.println(''第一个字符串是 '' + infoOne);
}
public static void showInfoTwo(){
char[] charString = {'L','Y','Y'};
String infoTwo = new String(charString);
System.out.println(''第二个字符串是 '' + infoTwo);
}
public static void showInfoThree(){
byte[] byteString = {100,101,102};
String infoThree = new String(byteString);
System.out.println(''第三个字符串是 ''+ infoThree);
}d
}
构造方式创建字符串
一种直接创建方式:
String infoFour = ''the_fourth'';
Java第四天,随机数如何生成?ArrayList如何使用?的更多相关文章
- Java集合(四)--基于JDK1.8的ArrayList源码解读
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess ...
- java基础基础总结----- 随机数(产生四个随机数)
前言:在开发的时候经常会遇见,一些验证码登录,其实这些东西,很简单.我曾经开发过一个验证码登录的页面,那时用的插件.但是作为一个合格的开发者,要了解其内部的核心知识,有些东西,可以不深入了解,但是要做 ...
- java随机数的生成
我们经常会用到随机数的生成,作为唯一性的id或者标识: long now = System.currentTimeMillis(); SimpleDateFormat dateFormat=new S ...
- java ssl https 连接详解 生成证书 tomcat keystone
java ssl https 连接详解 生成证书 我们先来了解一下什么理HTTPS 1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over ...
- Java泛型四:Java泛型总结
原文地址https://www.cnblogs.com/lwbqqyumidi/p/3837629.html 一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 publ ...
- Java的四种内部类
Java的四种内部类包括如下: 成员内部类 静态内部类 局部内部类 匿名内部类 成员内部类: 定义在另一个类(外部类)的内部,而且与成员方法和属性平级叫成员内部类,......相当于外部类的非静态方法 ...
- 《Thinking In Java第四版》拾遗
<Thinking In Java第四版>拾遗 转自我的github(http://katsurakkkk.github.io/2016/05/Thinking-In-Java%E7%AC ...
- JAVA提高四:反射基本应用
在前面一节<http://www.cnblogs.com/pony1223/p/7659210.html>,我们学习了JAVA的反射的相关知识,那么本节我们对前面所学习的知识做一个应用相关 ...
- 百度地图和高德地图坐标系的互相转换 四种Sandcastle方法生成c#.net帮助类帮助文档 文档API生成神器SandCastle使用心得 ASP.NET Core
百度地图和高德地图坐标系的互相转换 GPS.谷歌.百度.高德坐标相互转换 一.在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: 1.WGS-84原始坐标系,一般用国际GPS纪录仪记 ...
- 深入分析Java反射(四)-动态代理
动态代理的简介 Java动态代理机制的出现,使得Java开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类.代理类会负责将所有的方法调用分派到委托对象上反射执行,在分 ...
随机推荐
- 干货来啦。Flask框架看这一篇就够了,关注不迷路,Jeff带你看源码。开发技术时时更新
目录 一.初识Flask 1.1 什么是flask? 1.2 为什么要有flask? 二.Flask快速启动 三.Flask四剑客 三.flask的配置文件 可以配置的属性 四.flask路由 4.1 ...
- mysqli_query($conn, "set names utf8"); //**设置字符集*** 不设置插入数据库就是乱码
mysqli_query($conn, "set names utf8"); //**设置字符集*** 不设置插入数据库就是乱码
- asp.net core 3.x 微信小程序登录库(也可用于abp)
视频教程(使用+实现原理):https://share.weiyun.com/57HKopT 建议直接看视频 源码地址:https://github.com/bxjg1987/abpGeneralMo ...
- Java程序员应该知道的20个有用的lib开源库
一般一个经验丰富的开发者,一般都喜欢使用开源的第三方api库来进行开发,毕竟这样能够提高开发效率,并且能够简单快速的集成到项目中去,而不用花更多的时间去在重复造一些无用的轮子,多了解一些第三方库可以提 ...
- asp.net core系列 76 Apollo 快速安装模式下填坑和ASP.NetCore结合使用
前言:由于公司占时没有运维,出于微服务的需要,Apollo只能先装在windows 阿里云上跑起来,由于环境及网络等问题,在安装过程中遇到很多坑,算是一个个坑填完后,最终实现. 一. java jdk ...
- 第十六周Java实验作业
实验十六 线程技术 实验时间 2017-12-8 1.实验目的与要求 (1) 掌握线程概念: 多线程是进程执行过程中产生的多条执行线索,线程是比进程执行更小的单位. 线程不能独立存在,必须存在于进程 ...
- MySQL----DQL(查询数据库表中数据)
##DQL:查询表中的记录 1.语法: select 字段列名 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 lim ...
- 北邮OJ103.反转单词 c++/java
103. 反转单词 时间限制 1000 ms 内存限制 65536 KB 题目描述 给出一句英文句子(只由大小写字母和空格组成,不含标点符号,也不会出现连续的空格),请将其中的所有单词顺序翻转 输入格 ...
- layer弹层插件
// 使用前需要引入jquery的支持,链接如下: https://blog-static.cnblogs.com/files/liguanlong/jquery1.9.1.min.js ...
- effective-java学习笔记---注解优于命名模式39
命名模式的缺点有以下三点:(在第 4 版之前,JUnit 测试框架要求其用户通过以 test[Beck04] 开始名称来指定测试方法) 1.拼写错误导致失败,但不会提示. 2.无法确保它们仅用于适当的 ...