虽然很多时候我们查阅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如何使用?的更多相关文章

  1. Java集合(四)--基于JDK1.8的ArrayList源码解读

    public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess ...

  2. java基础基础总结----- 随机数(产生四个随机数)

    前言:在开发的时候经常会遇见,一些验证码登录,其实这些东西,很简单.我曾经开发过一个验证码登录的页面,那时用的插件.但是作为一个合格的开发者,要了解其内部的核心知识,有些东西,可以不深入了解,但是要做 ...

  3. java随机数的生成

    我们经常会用到随机数的生成,作为唯一性的id或者标识: long now = System.currentTimeMillis(); SimpleDateFormat dateFormat=new S ...

  4. java ssl https 连接详解 生成证书 tomcat keystone

    java ssl https 连接详解 生成证书 我们先来了解一下什么理HTTPS 1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over ...

  5. Java泛型四:Java泛型总结

    原文地址https://www.cnblogs.com/lwbqqyumidi/p/3837629.html 一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 publ ...

  6. Java的四种内部类

    Java的四种内部类包括如下: 成员内部类 静态内部类 局部内部类 匿名内部类 成员内部类: 定义在另一个类(外部类)的内部,而且与成员方法和属性平级叫成员内部类,......相当于外部类的非静态方法 ...

  7. 《Thinking In Java第四版》拾遗

    <Thinking In Java第四版>拾遗 转自我的github(http://katsurakkkk.github.io/2016/05/Thinking-In-Java%E7%AC ...

  8. JAVA提高四:反射基本应用

    在前面一节<http://www.cnblogs.com/pony1223/p/7659210.html>,我们学习了JAVA的反射的相关知识,那么本节我们对前面所学习的知识做一个应用相关 ...

  9. 百度地图和高德地图坐标系的互相转换 四种Sandcastle方法生成c#.net帮助类帮助文档 文档API生成神器SandCastle使用心得 ASP.NET Core

    百度地图和高德地图坐标系的互相转换   GPS.谷歌.百度.高德坐标相互转换 一.在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: 1.WGS-84原始坐标系,一般用国际GPS纪录仪记 ...

  10. 深入分析Java反射(四)-动态代理

    动态代理的简介 Java动态代理机制的出现,使得Java开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类.代理类会负责将所有的方法调用分派到委托对象上反射执行,在分 ...

随机推荐

  1. markdown从入门到放弃word和PDF

    Markdown是一个「轻量级」的「标记语言」. 淡定!!!我知道很多"编外人员"看到这句话之后已经没有兴趣再看下去了. 但是请不要关掉这个页面!!! Markdown很简单!!! ...

  2. java输入输出流操作同一资源实现覆盖引发冲突的解析

    一.问题发生的场景 题目:把s.txt中大写转成小写,小写转成大写,空格转成下划线,在输入到文件中覆盖之前的 前面的没有问题,问题出现在后面的覆盖文件上,输入流.输出流要操作同一个文件的问题 二.小白 ...

  3. BJDCTF

    python3的模板注入 非常简单...就是直接执行命令就行..虽然过滤了flag,但是拼接下就好了.... payload: http://fd5883ee-b8e2-4bf1-88af-33936 ...

  4. Redis启动服务和String常用命令

    Redis启动服务和String常用命令 1. 启动Redis服务 E:\redis>redis-server.exe redis.windows.conf _._ _.-``__ ''-._ ...

  5. shell编程之循环语句

    for #! /bin/sh for FRUIT in apple banana pear; do echo "I like $FRUIT" done while #! /bin/ ...

  6. [二分,multiset] 2019 Multi-University Training Contest 10 Welcome Party

    Welcome Party Time Limit: 4000/4000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)T ...

  7. 结构化学习(Structured Learning)

    本博客是针对李宏毅教授在youtube上上传的Machine Learning课程视频的学习笔记.课程链接 目录 引入 线性模型 结构化SVM 给序列贴标签 引入 我们之前学习到的学习模型的输入与输出 ...

  8. 使用Keras进行深度学习:(一)Keras 入门

    欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! Keras是Python中以CNTK.Tensorflow或者Th ...

  9. Github标星3K+,热榜第三,一网打尽数据科学速查表

    这几天,Github上的趋势榜一天一换. 这次一个名为 Data-Science--Cheat-Sheet 的项目突然蹿到了第三名. 仔细一看,确实干货满满.来,让文摘菌推荐一下~ 这个项目本质上是备 ...

  10. CodeForces - 1249E 楼梯和电梯

    题意:第一行输入n和c,表示有n层楼,电梯来到需要时间c 输入两行数,每行n-1个,表示从一楼到二楼,二楼到三楼.....n-1楼到n楼,a[ ] 走楼梯和 b[ ] 乘电梯花费的时间 思路:动态规划 ...